做开发差不多一年多了,突然感觉对VC的工程设置都不是很清楚,天天要和VC见面,虽然通常情况下一般都不会修改工程设置,但是还是有必要对它的一些设置项的来龙去脉有一定的了解,所以狂查资料,稍作整理,总结一篇文档,方便以后查阅,总得记录点什么,温故而知新嘛。
进入工程设置界面有两种方法:
方法一,选择法:【Project】->【Settings】
方法二,快捷键:【Alt+F7】
打开工程设置对话框,如下图:
左边的列表可以选择要设置的工程编译方式(Debug或Release),如果多个工程,还可以选择要设置的工程。右边是一个属性页,内容十分丰富,依次是:General , Debug , C/C++ , Link , Resource , MIDL , Browse Info , Custom Build , Pre-link Step , Post-build step
下面主要介绍各个选项的功能:
【General】
设置工程的一般特性。
1.Microsoft Foundation Classes 连接MFC静态库的方式,默认为共享的DLL方式,对一些不支持MFC42的机器环境来说,选择静态编译还是有必要的。
2.Intermediate files 中间文件输出路径,比如:*.obj、*.pch、*.res、*.sbr、*.idb、*.pdb
3.Output files 输出文件路径,比如:*.exe。
4.Allow per-configuration dependencies 按外部制作文件(exported makefile)方式为每个工程配置导出不同的可建立项目。
【Debug】
设置工程调试的选项。
Category 选项种类,先看看General种类选项卡
1.Executable for debug session 如果是dll的工程,需要指定启动它的exe文件路径,如果是exe工程,默认当前工程路径。
2.Work directory 设置调试程序的工作路径,默认exe当前路径,也可以为空。
3.Program arguments 程序启动命令行参数,作控制台程序的时候经常要用,可以传递参数给main函数。
4.Remote executable path and file name远程可执行文件的路径和文件名,一般都用不上,忽略好了,设置为空。
Category中Additional DLLS种类选项卡
选择,出现如下对话框:
1.Modules 如果你需要调试的DLL是动态装入(LoadLibrary)的,则需要在Additional DLLs中添加这个DLL文件。修改Additional DLLs后不需要重新编译就能起效果,预加载DLL和编译代码本身没联系。
【C/C++】
这一页内容很多,选择项通过 Category 来设置。
General种类选项卡
选择,如下图所示:
1.Warninig level 警告级别,VC默认为3,一般不更改,等级越低,对代码的要求就越严格。
2.Optimizations Optimizations优化级别,Debug下默认设置为Disable(Debug),就是不优化,在Release下默认设置为Maximize Speed,就是最大速度优化。在追求效率或者编译结果的时候可以选择最大速度或最小尺寸的选项,不过微软不保证优化的准确性。
4.Waring as error 不用多说了,经常忽略警告的人不会选这项吧。最好别选,否则你会烦死。
5.Generate browse info 用以生成.sbr文件,记录类、变量等符号信息,可以在Category的Listing Files项中进行更多的设置。产生浏览信息,在编辑调试加了一些功能,会产生很大的编译文件,建议不要选
6.Debug info 生成调试信息,选择调试信息的详细程度,在debug情况下,一般选择Program DataBase 或 Program DataBase for Editon and continue 二者区别在于后者可以在调试过程中,修改代码后,部分编译后,在当前环境继续执行,虽然功能很强,建议还是用前者吧。Release一般选择None。
None,不产生任何调试信息(编译比较快);
Line Numbers Only,仅生成全局的和外部符号的调试信息到.OBJ文件或.EXE文件,减小目标文件的尺寸;
C 7.0- Compatible