程序解释过程
- 预处理(宏处理):把头文件和源文件合并
- 编译:把源码编译为汇编语言,每一个.cpp单独编译处理
- 汇编:把汇编语言解释为二进制机器语言 (cpp转为.obj)
- 链接:将.obj与lib文件合并,形成.exe或者.dll文件
windows程序中还包括了资源文件.rc(各种UI组件)
visual studio项目文件解析
NOTE:避免使用vs最新版本作为开发IDE,容易出bug。
项目文件:
.vcxproj:定义了项目的配置信息
.vcxproj.filters:定义了项目的目录
.vcxproj.user:不需要提交到git,是用户配置文件,一些调试路径信息
.sln:解决方案,可以包含多个项目,可以设置各个项目的依赖关系
.rc:资源文件
.ico:图标文件
.cpp:源文件
.h:头文件
.vs、ipch:编译产生的临时文件,可以删除
visual studio项目配置
-
项目属性页->配置属性->常规->输出目录 :修改为…\bin
-
项目属性页->配置属性->常规->配置类型: 可以选择配置为.dll .lib .exe
-
项目属性页->配置属性->常规->字符集:定义函数选择哪个字符版本,createFileA ,createFileW
-
项目属性页->配置属性->调试->工作目录:调试的输出目录,设置为…\bin,同输出目录
-
项目属性页->配置属性->c/c+±>附加包含目录:若要包含一些第三方库,则需要指定,如…\include
-
项目属性页->配置属性->c/c+±>优化:若打开则对for循环性能影响一倍
-
项目属性页->配置属性->c/c+±>预处理器:预处理器定义用于预定义一些宏
-
项目属性页->配置属性->链接器->输入:附加依赖项 定义了预先引入的静态库
-
项目属性页->配置属性->链接器->高级:导入库 定义dll程序的lib文件的输出路径
-
项目属性页->配置属性->链接器->常规:附加库目录 定义引用库的所在路径