当我在支持软件浮点仿真(禁用硬件浮点)的 32 位 powerpc 内核中运行以下 C++ 程序时,我得到一个不正确的条件评估。有人能告诉我这里潜在的问题是什么吗?
#include <stdio.h>
int main() {
int newmax = 1;
if ((newmax + 0.0) > 256) {
printf("\nShouldn't be here\n");
} else {
printf("\nShould be here\n");
}
}
编译:
powerpc-linux-g++ -msoft-float -c floating.cxx
powerpc-linux-g++ -o floating floating.o
目标系统中的输出:
[linux:/]$ ./floating
Shouldn't be here