vs如何让源码和目标代码更相近

为了便于对比源程序和目标程序,尽量减少由编译器额外增加的指令,所以在项目属性页中的配置属性中采用如下设置:

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).
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值