我有个算法程序,612行代码,控制台程序,
vc++6。0编译运行时候,采用1,Release o2(最快速度优化)和2,Debug default两种方式,程序运行结果不一样,怎么回事?
有人告诉我是循环太多的问题,是这样吗?

解决方案 »

  1.   

    不是循环太多的问题,可能是你的代码有问题,仔细检查一下吧。是不是有一些代码在Release执行时被忽略了?
      

  2.   

    有可能是变量初始化问题:不同的系统,或是Debug/Release版本间都存在着一些差异,所以请对每个变量都初始化。
      

  3.   

    我又试了一下,发现同样是Release模式下,o2优化和default优化就不一样。
    我把所有变量都付了初值,但情况还是没有改观,我的程序里也并没有指针操作,只有一些数组,检查了一下,数组下标也没有越界的情况,程序就是有错,真是奇怪!我的机器cpu是赛扬1.7G,内存384;程序吃内存40M左右
      

  4.   

    我又试了一下,发现同样是Release模式下,o2优化和default优化就不一样。
    我把所有变量都付了初值,但情况还是没有改观,我的程序里也并没有指针操作,只有一些数组,检查了一下,数组下标也没有越界的情况,程序就是有错,真是奇怪!我的机器cpu是赛扬1.7G,内存384;程序吃内存40M左右