【求助】vs2017使用 最大优化(优选速度) (/O2)异常
mrljw 2018-05-17 03:40:49 我的程序是C写的控制台应用程序,应用下面两个工程属性优化生成的程序,程序运行途中,变量会有异常,
工程属性>>常规>>全程序优化>>使用链接时间代码生成
工程属性>>C/C++>>优化>>最大优化(优选速度) (/O2)
调试进去,malloc出来的变量中途没有对它做任何操作,变量的值会改变掉,导致exe最后运行的结果会变掉,比如下面,fun2中使用data的数据,调试进去发现data里的值已经跟fun返回的不一样了。但是不使用优化程序运行的速度又会比较慢
比如:
float *data = fun(); // fun 返回malloc生成的内存,并赋了初值
fun2(data); //fun2使用data的数据
free(data);
求解决方案,既能保留优化,运行又不会异常的