我在x86处理器中使用cmp命令并且正常工作(使用gcc生成二进制文件) 但是在手臂皮层a9中使用它时,它没有给出正确的输出(使用交叉gcc生成二进制文件)
在使用cmp命令在X86机器上进行比较时,使用特定的二进制文件,生成正确的输出。
X-86机器:
说我有2个文件a.bin,b.bin(使用cmp比较时应该相同)
cmp a.bin b.bin
及其适当的。
手臂皮质A9:
a.bin,b.bin
cmp a.bin b.bin
这里也必须是相同的。
但它会产生不匹配。
任何线索请!!
答案 0 :(得分:0)
你的问题不是很清楚,而且有点含糊,所以我会在黑暗中捅一下,并假设你问为什么相同的源代码编译成不同的文件。
虽然编译程序(假设没有UB或可移植性问题)在功能上都是相同的,无论使用什么编译器,二进制级别的程序都不一定是。
例如,不同的优化级别将生成不同的文件。编译器可以将构建日期嵌入到文件中。不同的编译器会以不同的方式排列代码。
这些都是为什么你可能会为同一个'获得不同输出的原因。程序