C/C++Release和Debug下编译结果不同

项目场景:

同份源码C/C++中Release和Debug下编译结果不同


问题描述:

经常有同学问我明明是同一份代码,debug模式下没问题,但是只要release模式下编译就有问题,各种报错各种运行错误等。


原因分析:

首先debug模式和release模式下编译除了编译模式不一样外,其他其实都是一样的。debug模式下可以运行说明源码在debug模式下对应的编译选项下编译没有问题,为什么在release下就不行呢?其实大部分原因是因为我们在写程序时不可避免的需要调用第三方库,而又可能某个第三方库的编译模式和我们默认的release编译模式不一致所以造成。


解决方案:

这个时候我们需要更改编译环境,这里以VStudio为例:菜单栏打开配置——>配置属性——>C/C++——>代码生成——>运行库——>下面有几种模式,默认release模式使用的是/MT,我们需要更改为/MTD,如果是Dll源码则修改为/MDd。可以来回切换模式编译看看效果。好了今天的总结就到这里,谢谢观赏。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值