• 使用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库的方法更方便。另外一个不确定的好处是这会不会是一种跨平台的获取应用程序路径的做法。







  • 相关阅读:
    局部人物磨皮(二)
    可选颜色--六中色调的调整(二)
    可选颜色--六中色调的调整(一)
    通道混合器
    系统提权
    在NSObject类中,和继承它的类中,弹出UIAlertcontroller和push、present到其它界面
    oc中代理的简单运用
    单击和双击手势冲突的解决,取消页面所有手势
    iOS中主题切换模拟
    iOS 中各种手势的用法
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6471014.html
Copyright © 2020-2023  润新知