在Visual Studio反汇编视图中,它显示了x86程序集的指令字节,对于C ++代码:
0F B6 54 24 25 movzx edx,byte ptr [t]
^^ these are what I want
我希望能够获得每条指令的总指令大小,而C ++代码不必是Visual Studio项目的一部分。 理想情况下,我希望能够从C#应用程序中“解释”此信息。
最好的方法是什么? GCC是否可以选择在汇编列表中生成这些指令字节?我只在Visual Studio IDE中看到它们。
答案 0 :(得分:1)
当然可以。然而,这不是gcc的功能,而是它是反汇编编译代码的工件。使用GCC可以直接编译到程序集,但它不会显示十六进制字节。要查看字节,请尝试以下操作:
gcc -c my_file.s
这将产生my_file.o
。有了这个,现在试试这个:
objdump -d my_file.o
这将反汇编文件(右侧)并显示匹配的机器语言(左侧)。
问题更改后更新
而且,是的,您可以在Windows上安装Cygwin,在Cygwin下安装objdump。这将允许您以相同的方式轻松转储C#代码。