x86 프로세서에서 cmp 명령을 사용 중이고 제대로 작동하고 있습니다 (이진 파일은 gcc를 사용하여 생성됩니다). 그러나 arm cortex a9에서 사용하는 동안 올바른 출력을 제공하지 않습니다 (이진 파일은 십자 기호를 사용하여 생성됩니다 gcc)CMP 명령이 제대로 작동하지 않습니다.
cmp 명령을 사용하는 X86 시스템에서 비교할 때 보드 특정 바이너리가 적절한 출력을 생성합니다.
X-86 시스템 :
cmp a.bin b.bin
및 적절한를
내가 b.bin, a.bin 2 개 파일을 가지고 말은 (CMP를 사용하여 비교하면서 같아야한다).
팔 피질 A9 : 여기
cmp a.bin b.bin
b.bin
a.bin도가 동일해야합니다.
그러나 불일치가 발생합니다.
실마리주세요!
'gcc'의 버전이 동일한가요? 양쪽 모두에'gcc -v'를 실행하고 출력을 게시하십시오. 또한, 똑같이 부르시겠습니까? 참고 자료 : [binary changes each build] (http://stackoverflow.com/questions/4140329/binary-object-file-changing-in-each-build). –
이 exe 대 elf 일입니까? elf 및 다른 형식의 gcc 및 기타 컴파일러는 바이트를 파일과 비교하는 경우 꽤 쉽게 볼 수있는 컴파일 타임의 타임 스탬프를 넣습니다. 일부 형식은 그렇지 않을 수도 있습니다. 랩퍼와 같은 elf/coff/exe가없는 원시 바이너리 파일이라면 tangrs 응답을 참조하십시오. 두 개의 바이너리가 동일한 부모 이름 (gcc, msvc 등)을 공유하는 두 개의 툴과 일치한다고 기대할 이유가 없습니다. –
차이점을 표시/나열하십시오. –