首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Visual C++查看代码背后的程序集?

如何使用Visual C++查看代码背后的程序集?
EN

Stack Overflow用户
提问于 2009-06-19 23:40:50
回答 10查看 133.5K关注 0票数 130

我读到了另一个关于两行代码效率的问题,操作员说他看了代码后面的汇编,两行汇编是一样的。抛开题外话不谈,我如何查看编译程序时创建的汇编代码。

我使用的是微软的Visual C++,但我也想知道是否可以查看用Visual Basic编写的代码背后的程序集。

那么,如何查看用C++和Visual Basic等高级语言编写的程序背后的汇编代码呢?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2009-06-19 23:47:45

有几种方法:

在visual studio (和

  1. )中调试C++时,你通常可以看到汇编代码。为此,在Visual Studio中,将断点放在有问题的代码上,当调试器点击断点时,单击并找到"Go To Assembly“(或按CTRL+ALT+D )
  2. 。第二种方法是在编译时生成程序集清单。为此,请转到项目设置-> C/C++ ->输出文件-> ASM列表位置并填写文件名。同时选择“汇编输出”到“使用源代码汇编”。
  3. 编译程序并使用任何第三方调试器。为此,您可以使用OllyDbg或WinDbg。你也可以使用IDA (交互式反汇编程序)。但这是最核心的方法。
票数 172
EN

Stack Overflow用户

发布于 2009-06-20 01:41:44

为cl编译器指定/FA开关。根据开关的值,可以只集成汇编代码,也可以集成高级代码和汇编代码。文件名获取.asm文件扩展名。以下是支持的值:

  • /FA汇编代码;.asm
  • /FAc机器和汇编代码;.cod
  • /FAs源代码和汇编代码;.asm
  • /FAcs机器、源代码和汇编代码;.cod
票数 30
EN

Stack Overflow用户

发布于 2009-06-20 08:57:59

补充说明: Debug汇编输出和发布输出有很大的不同。第一个是学习编译器如何从C++生成汇编代码的好方法。第二个是很好的学习编译器如何优化各种C++结构。在这种情况下,一些C++到asm的转换并不明显。

票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1020498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档