关于Vs Debug和Release版本的区别

    一直很好奇Debug和Release版本的区别:以Debug发布的程序安装到客户处,双击运行后会提示缺各种dll文件,整的跟水土不服似的。无奈只能发布Release的。对于Release的程序出错了实在不好定位,因为没有pdb文件连个变量名都找不到。虽然可以在关闭优化选项的同时生成调试数据库,但总觉得Release工程调试起来没Debug的顺手。网上找了找关于Debug和Release的区别,这里发一个pdf文档:Debug和Release的区别

    仔细看了全文发现他们之间最大的区别是:

    1)Debug 版本代码生成选项为:/MDd /MLd 或 /MTd   最终程序使用Debug runtime library(调试版本的运行时刻函数库)

    2)Release 版本代码生成选项为:/MD /ML 或 /MT      最终使用发布版本的运行时刻函数库

    我猜想,只要修改这个选项就能往客户那发布Debug版本的工程了,以下为验证过程:

   1). 使用/MDd编译的Debug工程,命名为MDd:

   

    运行结果为:

   

    2).1). 使用/MD编译的Debug工程,命名为MD:

   

    运行结果为:

   

    由此可见,只要修改代码生成后依赖的运行库,就能在客户那发布Debug版的工程了~

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值