如何查看用 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 显示已编译程序的汇编代码:
- 在解决方案资源管理器中右键单击项目名称,然后从出现的菜单中选择
Properties
。
- 使用出现的对话框左侧的树视图菜单,单击
Configuration Properties
> C/C++
> Output Files
。
- 将
Assembler Output
的值从 No Listing
更改为 Assembly with Source Code (/FAs)
- 单击确定关闭对话框。
- 重建你的程序。
现在您将有一个 项目名称.asm
文件,位于项目目录的 Debug 或 Release 子目录中。那是一个文本文件,显示你的程序的源代码,以及每行转换成的汇编代码。
我在 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 显示已编译程序的汇编代码:
- 在解决方案资源管理器中右键单击项目名称,然后从出现的菜单中选择
Properties
。 - 使用出现的对话框左侧的树视图菜单,单击
Configuration Properties
>C/C++
>Output Files
。 - 将
Assembler Output
的值从No Listing
更改为Assembly with Source Code (/FAs)
- 单击确定关闭对话框。
- 重建你的程序。
现在您将有一个 项目名称.asm
文件,位于项目目录的 Debug 或 Release 子目录中。那是一个文本文件,显示你的程序的源代码,以及每行转换成的汇编代码。