1
5
如果程序集代码在更改之前和之后看起来相同,则错误以某种方式与函数的计时方式有关。 |
2
4
vc6简直就是一辆马车。众所周知,在某些情况下,它会生成不正确的代码,而且它的优化器也没有那么先进。这个编译器已经有十多年的历史了,而且已经有很多年没有得到支持了。 所以实际上,答案是“你在使用一个错误的编译器。希望出现错误行为,特别是在启用优化时。” 我不认为升级到一个现代的编译器(或者仅仅在一个编译器上测试代码)是一个选项吗? 显然,生成的程序集不能相同,否则就不会有性能差异。 唯一的问题是 哪里 不同之处在于。有了错误的编译器,很可能是代码中一些完全不相关的部分突然被不同的方式编译并中断。不过,很可能为此函数生成的程序集代码是 不 同样,这些差异是如此微妙以至于你没有注意到它们。 |
3
1
宣布
这有助于编译器进行优化。其值为
我建议打印出未使用的版本的程序集代码
|
JoeZ · Do while循环不会中断 6 年前 |
JoeZ · 如果循环不工作。运行时显示重复cout。 6 年前 |
Joe · 正在展开宏以进行调试? 6 年前 |
Matthew · 自己编译公共库会提高性能吗? 6 年前 |
Barry · 在MSVC中处理宏中的额外括号 6 年前 |