【求助】vs2017使用 最大优化(优选速度) (/O2)异常

mrljw mrljw 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我的程序是C写的控制台应用程序,应用下面两个工程属性优化生成的程序,程序运行途中,变量会有异常,

工程属性>>常规>>全程序优化>>使用链接时间代码生成
工程属性>>C/C++>>优化>>最大优化(优选速度) (/O2)

调试进去,malloc出来的变量中途没有对它做任何操作,变量的值会改变掉,导致exe最后运行的结果会变掉,比如下面,fun2中使用data的数据,调试进去发现data里的值已经跟fun返回的不一样了。但是不使用优化程序运行的速度又会比较慢

比如:
float *data = fun(); // fun 返回malloc生成的内存,并赋了初值
fun2(data); //fun2使用data的数据
free(data);

求解决方案,既能保留优化,运行又不会异常的
...全文
评论 10
收藏 已收藏
分享
返回顶部
mrljw
VC/MFC 16,550 成员 421,606 内容