`
ladymaidu
  • 浏览: 678513 次
文章分类
社区版块
存档分类
最新评论

使用boost库获取应用程序的所在目录

 
阅读更多

作者:朱金灿
来源:http://blog.csdn.net/clever101/


在Windows平台下我们知道可以使用API函数GetModuleFileName来获取应用程序的路径。最近发现boost库也可以实现这个功能,个人感觉用起来更方便。


用法很简单,具体代码如下:


我是使用VS 2008(带sp1)编译这个程序的。值得注意的是要顺利获取exe的路径,还得在VS 中将工作目录设置为应用程序的输出路径,如下图:


exe path which boost get



否则获取的就不是正确的应用程序路径了(貌似是当前目录路径,不过这个我没有验证)。其它编译器要做何设置有待其它同学研究。


注意,使用boost库的这种方法获取的是应用程序所在的目录,而使用API函数GetModuleFileName获取的是应用程序的全路径,如boost方法获取的是e:/BoostLearn/outdir/Debug,而API函数GetModuleFileName获取的是e:/BoostLearn/outdir/debug/BoostBind.exe(你可以看到boost获取的路径用的是'/',而GetModuleFileName用的是'/',可以肯定的是这个只是形式不一样,都是正确的路径)。


在实际中我们常常需要的只是应用程序所在的目录,而使用API函数GetModuleFileName获取的是应用程序的全路径还要对字符串进行分割,所以我说boost库的方法更方便。另外一个不确定的好处是这会不会是一种跨平台的获取应用程序路径的做法。







分享到:
评论

相关推荐

    Boost程序库完全开发指南.pdf

    Boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库,有着“C++‘准’标准库”的美誉。  它由C++标准委员会部分成员所设立的Boost社区开发并维护,使用了许多现代C++编程技术,内容涵盖字符串...

    BOOST程序库完全开发指南+boost 1.71.0源码

    BOOST程序库完全开发指南:深入C++“准”标准库(第3版) 以及boost源码1.71.0 BOOST程序库完全开发指南:深入C++“准”标准库(第3版) 以及boost源码1.71.0 BOOST程序库完全开发指南:深入C++“准”标准库(第3...

    BOOST程序库完全开发指南(PDF高清版)

    BOOST程序库是C++的一种完整且强大的准标准库,本书偏重对BOOST程序库的应用讲解

    怎样使用Boost库

    怎样使用Boost库

    Boost程序库完全开发指南(带目录)

    Boost程序库完全开发指南,带有目录索引。

    Boost程序库探秘

    C++的最新标准(C++11)已经正式公布,而早在这之前,Boost就已经使用库的形式实现了大部分新功能——而且是完全基于C++98标准实现的,内容涵盖智能指针、文本处理、并发、模板元编程等许多领域,其范围之广内涵之深...

    超越c++标准库——boost程序库导论

    超越c++标准库——boost程序库导论 对于学习boost库或TR1库是最有用的文档...

    VS2017C++windows桌面应用程序项目OpenCV及Boost库测试

    这里是一个VS2017的windows桌面应用程序项目,项目已经配置了64位的OpenCV4.0库和64位的Boost库,其中OpenCV库和Boost库都安装在D盘里,大家可以在项目的附加库目录和包含目录里查看安装位置,以便大家顺利编译,...

    C++ boost库,最新版本

    大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。里面有许多具有工业强度的库,如graph库。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作...

    Boost程序库完全开发指南.

    1、C++程序开发 2、boost库文件使用 3、stl数据模板

    boost使用手册中文版

    Boost库的目标是要被广泛使用,并可用于各种各样的应用。Boost许可证既鼓励商业用途,也鼓励非商业用途。 我们的目标是建立"既有的实践"和提供参考实现,使得Boost库可以适合最后的标准化。已经有十个Boost库被纳入...

    c++boost库最新版本

    c++boost库最新版本

    Boost程序库完全开发指南:深入C++“准”标准库+

    Boost程序库完全开发指南:深入C++“准”标准库+Boost程序库完全开发指南:深入C++“准”标准库+Boost程序库完全开发指南:深入C++“准”标准库+Boost程序库完全开发指南:深入C++“准”标准库+Boost程序库完全开发...

    c++ boost库1.73.0 boost最新版

    Boost库使用Boost License来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。 Boost社区建立的初衷之一就是为C++的标准化工作提供可供参考的实现,Boost社区的发起人Dawes本人就是C++标准委员会的成员之...

    Boost程序库探秘 深度解析C++准标准库第2版

    C++的最新标准(C++11)已经正式公布,而早在这之前,Boost就已经使用库的形式实现了大部分新功能——而且是完全基于C++98标准实现的,内容涵盖智能指针、文本处理、并发、模板元编程等许多领域,其范围之广内涵之深...

    boost库之dns解析模块源码

    boost库,dns解析模块源码。 将其放倒boost库的相关目录下,在代码中,直接包含头文件即可使用。

    Boost 程序库完全开发指南

    boost 是 C++ 所谓的“准标准库”,是 C++ 标准库的实验场,其所提供的智能指针 shared_ptr 已经被收入 C++ 的新标准。boost 包含大量设计精巧、功能强大、性能卓越的组件,如智能指针、函数对象、lambda表达式、...

    boost程序库导论

    本书展示了如何使用Boost 库中的一些最有用的组件,教会你它们的最优使用方法,并到幕后看 看它们是怎样工作的。Boost 库的许可证允许你可以为任何目的(商业或非商业)拷贝、使用和修 改这些软件,因此你需要做的就是...

    cmake使用boost库脚本编写

    简单实例教你在cmake脚本中使用boost库

Global site tag (gtag.js) - Google Analytics