最近,我编写了一个小程序,并使用2个不同版本的mingw32(在Windows8上)编译它。令人惊讶的是,我得到了两个不同的结果。我试图解除它,但没有发现什么特别的。谁能帮助我?谢谢。
exe文件: https://www.dropbox.com/s/69sq1ttjgwv1qm3/asm.7z
结果:720720(gcc版本4.5.2),720719(gcc版本4.7.0)
编译器标志:-lstdc ++ -static
代码剪切如下:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a = 55440, b = 13;
a *= pow(b, 1);
cout << a << endl;
return 0;
}
装配输出(4.5.2):
装配输出(4.7.0):