作者:朱金灿
来源:http://blog.csdn.net/clever101/
在Windows平台下我们知道可以使用API函数GetModuleFileName来获取应用程序的路径。最近发现boost库也可以实现这个功能,个人感觉用起来更方便。
用法很简单,具体代码如下:
我是使用VS 2008(带sp1)编译这个程序的。值得注意的是要顺利获取exe的路径,还得在VS 中将工作目录设置为应用程序的输出路径,如下图:
否则获取的就不是正确的应用程序路径了(貌似是当前目录路径,不过这个我没有验证)。其它编译器要做何设置有待其它同学研究。
注意,使用boost库的这种方法获取的是应用程序所在的目录,而使用API函数GetModuleFileName获取的是应用程序的全路径,如boost方法获取的是e:/BoostLearn/outdir/Debug,而API函数GetModuleFileName获取的是e:/BoostLearn/outdir/debug/BoostBind.exe(你可以看到boost获取的路径用的是'/',而GetModuleFileName用的是'/',可以肯定的是这个只是形式不一样,都是正确的路径)。
在实际中我们常常需要的只是应用程序所在的目录,而使用API函数GetModuleFileName获取的是应用程序的全路径还要对字符串进行分割,所以我说boost库的方法更方便。另外一个不确定的好处是这会不会是一种跨平台的获取应用程序路径的做法。
分享到:
相关推荐
Boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库,有着“C++‘准’标准库”的美誉。 它由C++标准委员会部分成员所设立的Boost社区开发并维护,使用了许多现代C++编程技术,内容涵盖字符串...
BOOST程序库完全开发指南:深入C++“准”标准库(第3版) 以及boost源码1.71.0 BOOST程序库完全开发指南:深入C++“准”标准库(第3版) 以及boost源码1.71.0 BOOST程序库完全开发指南:深入C++“准”标准库(第3...
BOOST程序库是C++的一种完整且强大的准标准库,本书偏重对BOOST程序库的应用讲解
怎样使用Boost库
Boost程序库完全开发指南,带有目录索引。
C++的最新标准(C++11)已经正式公布,而早在这之前,Boost就已经使用库的形式实现了大部分新功能——而且是完全基于C++98标准实现的,内容涵盖智能指针、文本处理、并发、模板元编程等许多领域,其范围之广内涵之深...
超越c++标准库——boost程序库导论 对于学习boost库或TR1库是最有用的文档...
这里是一个VS2017的windows桌面应用程序项目,项目已经配置了64位的OpenCV4.0库和64位的Boost库,其中OpenCV库和Boost库都安装在D盘里,大家可以在项目的附加库目录和包含目录里查看安装位置,以便大家顺利编译,...
大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。里面有许多具有工业强度的库,如graph库。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作...
1、C++程序开发 2、boost库文件使用 3、stl数据模板
Boost库的目标是要被广泛使用,并可用于各种各样的应用。Boost许可证既鼓励商业用途,也鼓励非商业用途。 我们的目标是建立"既有的实践"和提供参考实现,使得Boost库可以适合最后的标准化。已经有十个Boost库被纳入...
c++boost库最新版本
Boost程序库完全开发指南:深入C++“准”标准库+Boost程序库完全开发指南:深入C++“准”标准库+Boost程序库完全开发指南:深入C++“准”标准库+Boost程序库完全开发指南:深入C++“准”标准库+Boost程序库完全开发...
Boost库使用Boost License来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。 Boost社区建立的初衷之一就是为C++的标准化工作提供可供参考的实现,Boost社区的发起人Dawes本人就是C++标准委员会的成员之...
C++的最新标准(C++11)已经正式公布,而早在这之前,Boost就已经使用库的形式实现了大部分新功能——而且是完全基于C++98标准实现的,内容涵盖智能指针、文本处理、并发、模板元编程等许多领域,其范围之广内涵之深...
boost库,dns解析模块源码。 将其放倒boost库的相关目录下,在代码中,直接包含头文件即可使用。
boost 是 C++ 所谓的“准标准库”,是 C++ 标准库的实验场,其所提供的智能指针 shared_ptr 已经被收入 C++ 的新标准。boost 包含大量设计精巧、功能强大、性能卓越的组件,如智能指针、函数对象、lambda表达式、...
本书展示了如何使用Boost 库中的一些最有用的组件,教会你它们的最优使用方法,并到幕后看 看它们是怎样工作的。Boost 库的许可证允许你可以为任何目的(商业或非商业)拷贝、使用和修 改这些软件,因此你需要做的就是...
简单实例教你在cmake脚本中使用boost库