为了便于对比源程序和目标程序,尽量减少由编译器额外增加的指令,所以在项目属性页中的配置属性中采用如下设置:
1)在C/C++项下,常规的调试信息格式子项,选择"c7兼容(/z7)"
原先设置是:用于"编辑并继续"的程序数据库(Z1)
2)在C/C++项下,代码生成的基本运行时检查子项,选择"默认值",既不进行堆栈帧的检查,也不进行未初始化变量的检查
原本设置是:两者(/RTC1,等同于/RTCsu)(/RTC1)
3)在C/C++项下,代码生成的基本运行时检查子项,选择"否(/CS-)"
原先设置是:启用安全检查(/GS)
在项目属性页的配置属性中,在C/C++项下,输出文件的汇编程序输出子项,如果选择"仅有程序集的列表(/FA)",那么在编译时将生成扩展名位.asm的汇编语言形式的目标代码文件;
如果选择"带源代码的程序集(/FAs)",那么在生成的汇编形式的目标代码中,还含有作为注释的高级语言源代码.
原先设置是:无列表
但是这样.asm的文件是不会显示出来的,还需要设置一下文件名
原先的设置是:$(lntDir)
这里的命名规则不太懂,但是加个.asm的后缀可以产生一个.asm文件,这是效仿的后面程序数据库文件名的设置
在项目属性页的配置属性中,在C/C++项下,优化的优化子项是主要的编译优化选项.如果选择"已禁用(/Od)",表示不希望任何优化.如果选择"使大小最小化(/O1)",表示希望目标代码的长度尽量短小.如果选择"使速度最大化(/O2)",表示希望目标代码的执行速度尽量快.
原先设置是:优化(优先速度)(/Ox)
reverse配置基本类似,但是不需要加.asm;
如果希望汇编文件中可以有中文字符,将C/C++项的输出文件子项的为汇编列表使用Unicode修改为是(/FAu).