VisualC6.0工程设置解读

上传人:m**** 文档编号:487701828 上传时间:2023-01-15 格式:DOC 页数:13 大小:328.50KB
返回 下载 相关 举报
VisualC6.0工程设置解读_第1页
第1页 / 共13页
VisualC6.0工程设置解读_第2页
第2页 / 共13页
VisualC6.0工程设置解读_第3页
第3页 / 共13页
VisualC6.0工程设置解读_第4页
第4页 / 共13页
VisualC6.0工程设置解读_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《VisualC6.0工程设置解读》由会员分享,可在线阅读,更多相关《VisualC6.0工程设置解读(13页珍藏版)》请在金锄头文库上搜索。

1、VC6.0的工程设置解读Project-Settings做开发差不多一年多了,突然感觉对VC的工程设置都不是很清楚,天天要和VC见面,虽然通常情况下一般都不会修改工程设置,但是还是有必要对它的一些设置项的来龙去脉有一定的了解,所以狂查资料,稍作整理,总结一篇文档,方便以后查阅,总得记录点什么,温故而知新嘛。进入工程设置界面有两种方法:方法一,选择法:【Project】-【Settings】方法二,快捷键:【Alt+F7】打开工程设置对话框,如下图:左边的列表可以选择要设置的工程编译方式(Debug或Release),如果多个工程,还可以选择要设置的工程。右边是一个属性页,内容十分丰富,依次是:

2、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、*.pdb3.

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

4、程序启动命令行参数,作控制台程序的时候经常要用,可以传递参数给main函数。4.Remote executable path and file name远程可执行文件的路径和文件名,一般都用不上,忽略好了,设置为空。Category中Additional DLLS种类选项卡 选择,出现如下对话框:1.Modules 如果你需要调试的DLL是动态装入(LoadLibrary)的,则需要在Additional DLLs中添加这个DLL文件。修改Additional DLLs后不需要重新编译就能起效果,预加载DLL和编译代码本身没联系。【C/C+】这一页内容很多,选择项通过 Category 来设置

5、。General种类选项卡选择,如下图所示:1.Warninig level 警告级别,VC默认为3,一般不更改,等级越低,对代码的要求就越严格。2.Optimizations Optimizations优化级别,Debug下默认设置为Disable(Debug),就是不优化,在Release下默认设置为Maximize Speed,就是最大速度优化。在追求效率或者编译结果的时候可以选择最大速度或最小尺寸的选项,不过微软不保证优化的准确性。4.Waring as error 不用多说了,经常忽略警告的人不会选这项吧。最好别选,否则你会烦死。5.Generate browse info 用以生成

6、.sbr文件,记录类、变量等符号信息,可以在Category的Listing Files项中进行更多的设置。产生浏览信息,在编辑调试加了一些功能,会产生很大的编译文件,建议不要选 6.Debug info 生成调试信息,选择调试信息的详细程度,在debug情况下,一般选择Program DataBase 或 Program DataBase for Editon and continue 二者区别在于后者可以在调试过程中,修改代码后,部分编译后,在当前环境继续执行,虽然功能很强,建议还是用前者吧。Release一般选择None。None,不产生任何调试信息(编译比较快);Line Number

7、s Only,仅生成全局的和外部符号的调试信息到.OBJ文件或.EXE文件,减小目标文件的尺寸;C 7.0- Compatible,记录调试器用到的所有符号信息到.OBJ文件和.EXE文件;Program Database,创建*.pdb文件记录所有调试信息;Program Database for Edit and Continue,创建*.pdb文件记录所有调试信息,并且支持调试时编辑。7.Preprocessor definitions 预定义宏,Defines a preprocessing symbol for your source file,相当于全局【#define】。提示:一

8、般定义了UNICODE _UNICODE则认为是使用unicode编码,没定义则认为是MBCS。C+ Language种类选项卡1.pointer_to_member representation用来设置类定义/引用的先后关系,一般为Best-Case Always表示在引用类之前该类肯定已经定义了。2.Enable Exception Handling,进行同步的异常处理;3.Enable Run-Time Type Information,迫使编译器增加代码在运行时进行对象类型检查;4.Disable Construction Displacements,设置类构造/析构函数调用虚函数问题

9、。Code Generation种类选项卡定义代码产生的规则。1.Processor 表示代码指令优化,可以为80386、80486、Pentium、Pentium Pro,或者Blend表示混合以上各种优化。2.Use run-time library用以指定程序运行时使用的运行时库(单线程或多线程,Debug版本或Release版本),有一个原则就是,一个进程不要同时使用几个版本的运行时库。Single-Threaded,静态连接LIBC.LIB库;Debug Single-Threaded,静态连接LIBCD.LIB库;Multithreaded,静态连接LIBCMT.LIB库;Debu

10、g Multithreaded,静态连接LIBCMTD.LIB库;Multithreaded DLL,动态连接MSVCRT.DLL库;Debug Multithreaded DLL,动态连接MSVCRTD.DLL库。连接了单线程库就不支持多线程调用,连接了多线程库就要求创建多线程的应用程序。3.Calling convention 可以用来设定调用约定,有三种:_cdecl、_fastcall和_stdcall。各种调用约定的主要区别在于,函数调用时,函数的参数是从左到右压入堆栈还是从右到左压入堆栈;在函数返回时,由函数的调用者来清理压入堆栈的参数还是由函数本身来清理;以及在编译时对函数名进行

11、的命名修饰(可以通过Listing Files看到各种命名修饰方式)。4.Struct member alignment 用以指定数据结构中的成员变量在内存中是按几字节对齐的,根据计算机数据总线的位数,不同的对齐方式存取数据的速度不一样。这个参数对数据包网络传输等应用尤为重要,不是存取速度问题,而是数据位的精确定义问题,一般在程序中使用#pragma pack来指定。Customize种类选项卡1.Disable language extensions 禁止语言扩展(Microsoft Extensions to C),表示不使用微软为标准C做的语言扩展。2.Eliminate Duplica

12、te Strings 主要用于字符串优化(将字符串放到缓充池里以节省空间),使用这个参数,使得char *sBuffer = This is a character buffer;char *tBuffer = This is a character buffer;sBuffer和tBuffer指向的是同一块内存空间;3.Enable Function-Level Linking 告诉编译器将各个函数按打包格式编译;4.Enables minimal rebuild,通过保存关联信息到.IDB文件,使编译器只对最新类定义改动过的源文件进行重编译,提高编译速度;5.Enable Incremen

13、tal Compilation,同样通过.IDB文件保存的信息,只重编译最新改动过的函数;6.Suppress Startup Banner and Information Messages 设置预编译文件(pch)的存放路径及(或)文件名,在Project Options中配置。用以控制参数是否在output窗口输出。Listing Files种类选项卡1.Generate browse info 功能上面已经提到过,这里可以进行更多的设置。2.Exclude Local Variables from Browse Info表示是否将局部变量的信息放到*.sbr文件中。3.Listing f

14、ile type 可以设置生成的列表信息文件的内容:Assembly-Only Listing,仅生成汇编代码文件(.asm扩展名);Assembly With Machine Code 生成机器代码和汇编代码文件(.cod扩展名);Assembly With Source Code生成源代码和汇编代码文件(.asm扩展名);Assembly, Machine Code,and Source,生成机器码、源代码和汇编代码文件(.cod扩展名)。Listing file name为生成的信息文件的路径,一般为Debug或Release目录下,生成的文件名自动取源文件的文件名。Optimizati

15、ons种类选项卡1.Optimizations 代码优化设置。可以选择Maximize Speed生成最快速的代码,或Minimize Size生成最小尺寸的程序,或者Customize定制优化。定制的内容包括:Assume No Aliasing,不使用别名(提高速度); Assume Aliasing Across Function Calls,仅函数内部不使用别名;Global Optimizations,全局优化,比如经常用到的变量使用寄存器保存,或者循环内的计算优化,如:i = -100;while ( i 0 ) i += x + y;会被优化为i = -100;t = x + y;while( i 0 )i += t;Generate Intrinsic Functions,使用内部函数替换一些函数调用(提高速度); Improve Float Consistency,浮点运算方面的优化;Favor Small Code,程序(exe或dll)尺寸优化优先于代码速度优化;Favor Fast Code,程序(exe或dll)代码速度优化优先于尺寸优化;Frame-Pointer Omission,不使用帧指针,以提高函数调用速度;Full Optimization,组合了几种参数,以生成最快的程序代码。2.Inline function

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号