如何查看用 Visual Studio 编写的 Ansi C hello world 中的汇编代码?

How to see the assembly code from a Ansi C hello world written in Visual Studio?

我在 visual studio 中使用 Ansi C,创建了简单的 Ansi C 程序(我不得不更改 VS 配置以不使用 cpp 而使用 ansi c)

int a = 0;
int b = 0;

printf("Hello World! \n\n");

system("PAUSE");
return 0;

我编译了它并生成了这个:

首先,我期待一个简单的 .exe,我不知道为什么创建这个 .ilk 和 .pdb,但这里的问题是我如何才能看到编译的 c 程序生成的汇编代码?

谢谢

.ilk 是一个增量 linking 文件,当您对代码进行微小更改时,它可以帮助加快 linking 速度,然后重新 link .

.pdb是程序数据库--调试时使用。

要获得您的代码要转换成的汇编语言,您可以使用 /Fa 进行编译。

使用项目属性中的 Assembler Output 设置。

您可以通过以下方式请求 Visual Studio 显示已编译程序的汇编代码:

  1. 在解决方案资源管理器中右键单击项目名称,然后从出现的菜单中选择 Properties
  2. 使用出现的对话框左侧的树视图菜单,单击 Configuration Properties > C/C++ > Output Files
  3. Assembler Output 的值从 No Listing 更改为 Assembly with Source Code (/FAs)
  4. 单击确定关闭对话框。
  5. 重建你的程序。

现在您将有一个 项目名称.asm 文件,位于项目目录的 Debug 或 Release 子目录中。那是一个文本文件,显示你的程序的源代码,以及每行转换成的汇编代码。