如何比较两个相似的g ++ -S汇编输出?

Łuk*_*Lew 0 diff assembly g++

diff失败,因为汇编列表中填充了略微不同的标签.

Ada*_*eld 5

-S您可以改为编译目标文件,反汇编目标文件,然后比较它们,而不是直接比较选项生成的程序集列表.(或者,您可以直接对编译的目标代码的hexdump进行直接差异,但这会更加痛苦).这消除了大多数标签,因此它应该更容易与diff进行比较.例如:

g++ file1.cc -c -o file1.o
g++ file2.cc -c -o file2.o
objdump -d file1.o > file1.s
objdump -d file2.o > file2.s
diff file1.s file2.s
Run Code Online (Sandbox Code Playgroud)