【发布时间】:2011-11-03 08:35:10
【问题描述】:
查看编译器从我的文件生成的代码的最佳(最快)方法是什么?我主要使用 C++,但也欢迎使用适用于 .NET 语言的解决方案。
【问题讨论】:
-
设置断点,按CTRL+F11
标签: c++ .net visual-studio-2010 visual-c++ .net-assembly
查看编译器从我的文件生成的代码的最佳(最快)方法是什么?我主要使用 C++,但也欢迎使用适用于 .NET 语言的解决方案。
【问题讨论】:
标签: c++ .net visual-studio-2010 visual-c++ .net-assembly
在 Visual Studio 中,转到项目的属性页,然后转到 C/C++ → Output Files → Assembler Output。它应该看起来像这样:
注意相应的编译器开关,/FA 的所有变体。
/FA: 仅装配列表/FAcs:汇编、机器代码和源代码/FAc: 使用机器码组装/FAs:使用源代码组装在“汇编器输出”选项下方有一个“ASM 列表位置”选项。这相当于/Fa 开关(注意大写!),它设置输出列表的文件路径。
您还可以在调试时(在断点处)查看程序集,并通过右键单击源文件文本区域中的当前行并单击“转到反汇编”来完成相应的源代码。
它将跳转到您在单独选项卡中右键单击的行的程序集。列表将如下所示:
是的,我知道,屏幕截图不是来自 Visual Studio 2010,但步骤和总体外观是相同的。我只是无法立即访问 VS2010 来制作屏幕截图。 :-)
【讨论】:
对于.NET,您可以使用框架附带的ildasm 工具来查看IL。
【讨论】: