gpt4 book ai didi

linux - CMP 命令无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-04 05:54:08 26 4
gpt4 key购买 nike

我在 x86 处理器中使用 cmp 命令并且工作正常(二进制文件是使用 gcc 生成的)但是在arm cortex a9中使用它时,它没有给出正确的输出(二进制文件是使用交叉gcc生成的)

使用 cmp 命令在 X86 机器中比较板特定二进制文件时,会产生正确的输出。

X-86机器:

假设我有 2 个文件 a.bin、b.bin(使用 cmp 进行比较时应该相同)

cmp a.bin b.bin

及其正确的。

ARM 皮质 A9:

a.bin,b.bin

cmp a.bin b.bin

这里也必须相同。

但它会产生不匹配。

<小时/>

请提供任何线索!!

最佳答案

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

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

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

这些都是您可能会为“同一”程序获得不同输出的原因。

关于linux - CMP 命令无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16855656/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com