visual studio2017调用SDK各个操作步骤的作用

visual studio中Debug和Release以及x86、x64的区别

  • Debug通常称为调试版本,包含调试信息,不做任何优化;
  • Release称为发布版本,往往进行了各种优化,使得程序在代码大小和运行速度上都是最优的,Release打包出来的程序文件也相对会小一些。
  • x86平台和x64平台编译得到的可执行文件和dll库都不同,Any CPU取决于当前操作系统的位数。

头文件包含路径、库文件路径

  • 头文件包含路径:即为包含目录或者是附加包含目录
  • 库文件路径:即所谓的库目录或者是附加库目录

包含目录VS附加包含目录

它们的不同之处在于编译器寻找头文件的的顺序不同。

  • MSVC编译器寻找头文件的顺序:
    • 1、源文件代码所在的文件中寻找头文件
    • 2、在使用MSVC编译的时候,通过参数/l来指定搜索的目录:(相当于附加包含目录设置的路径)
    • 3、 通过INCLUDE环境变量指定的搜索目录;(相当于包含目录设置的路径)
      waring
      其中第二个顺序中的 /I 是由 C/C++ -> 常规-> 附加包含目录 来设置的。
      而第三个顺序中的 INCLUDE 环境变量 是由 VC++目录 -> 包含目录 来设置的。

库目录VS附加库目录

  • MSVC编译器寻找库文件(主要指静态库,因为在编译时只需要静态库,动态库是在运行时才需的)的顺序:
    • 1、源文件代码所在的文件夹中寻找库文件(即静态库文件);
    • 2、在使用MSVC编译的时候,通过参数 /link 来指定的搜索目录;(相当于是“附加库目录”设置的)
    • 3、通过 LIB 环境变量指定的搜索目录;(相当于是“库目录”设置的)
      waring
      其中第二个顺序中的 /link 是由 链接器 -> 常规-> 附加包含目录 来设置的。
      而第三个顺序中的 LIB 环境变量 是由 VC++目录 -> 包含目录 来设置的

附加链接库(附加依赖库)

附加链接库的指定,即显式的知名在库目录中显式指定链接到哪一个静态库文件,直接将静态库文件名添加进去

猜你喜欢

转载自blog.csdn.net/qq_25105061/article/details/118364377