如何在Visual Studio 2010中查看C++函数的已编译机器代码或字节代码?

Fel*_*bek 14 .net c++ visual-studio-2010 .net-assembly visual-c++

查看编译器从我的文件生成的代码的最佳(最快)方法是什么?我主要使用的是C++,但是也适用于.NET语言的解决方案.

In *_*ico 25

在Visual Studio中,转到项目的属性页,然后转到C/C++ ? Output Files ? Assembler Output.它应该看起来像这样:

财产页面

注意相应的编译器开关,所有变体/FA.

  • /FA:仅限装配清单
  • /FAcs:装配,机器代码和来源
  • /FAc:装配机器代码
  • /FAs:使用源代码进行汇编

在"汇编程序输出"选项下面有一个"ASM列表位置"选项.这相当于/Faswitch(注意大小写!),它设置输出列表的文件路径.

您还可以在调试时(在断点处)查看程序集,并使用相应的源代码,右键单击源文件文本区域中的当前行,然后单击"转到反汇编".

gotodisassembly

它将跳转到您在单独选项卡中右键单击的行上的程序集.列表将类似于:

在此输入图像描述

是的我知道,截图不是来自Visual Studio 2010,但步骤和一般外观是相同的.我只是没有立即访问VS2010来制作截图.:-)


Jam*_*lis 7

对于C++项目,编译/FA以获取程序集列表.

对于.NET程序集,有ildasm.