CMP命令无法正常工作

时间:2013-05-31 10:55:56

标签: linux gcc x86 arm cortex-a8

我在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

这里也必须是相同的。

但它会产生不匹配。


任何线索请!!

1 个答案:

答案 0 :(得分:0)

你的问题不是很清楚,而且有点含糊,所以我会在黑暗中捅一下,并假设你问为什么相同的源代码编译成不同的文件。

虽然编译程序(假设没有UB或可移植性问题)在功能上都是相同的,无论使用什么编译器,二进制级别的程序都不一定是。

例如,不同的优化级别将生成不同的文件。编译器可以将构建日期嵌入到文件中。不同的编译器会以不同的方式排列代码。

这些都是为什么你可能会为同一个'获得不同输出的原因。程序