【问题标题】:How to see the assembly code from a Ansi C hello world written in Visual Studio?如何查看用 Visual Studio 编写的 Ansi C hello world 的汇编代码?
【发布时间】:2016-06-01 23:15:51
【问题描述】:

我在 Visual Studio 中使用 Ansi C,创建了简单的 Ansi C 程序(我不得不将 VS 配置更改为不使用 cpp 而是使用 ans c)

int a = 0;
int b = 0;

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

system("PAUSE");
return 0;

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

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

谢谢

【问题讨论】:

  • 杰里说的。运行 exe 既不需要 .ilk 也不需要 .pdb。

标签: visual-studio-2015 ansi-c


【解决方案1】:

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

.pdb 是一个程序数据库——在调试时使用。

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

【讨论】:

  • 非常有帮助 Jerry,你能帮我理解编译器 Visual Studio 在我构建 ansi c 程序时调用的内容以及如何添加 /Fa 或任何其他参数吗?谢谢老兄。
  • @ThePoet:我至少会考虑在命令行上编译。在 IDE 中,右键单击解决方案资源管理器中的文件,选择 Properties,然后转到 C/C++ -> Output Files -> Assembler Output 并从“No Listing”更改为其他选项之一(可能是“Assembly only”或“带有源代码的程序集”)。
【解决方案2】:

使用项目属性中的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. 重建您的程序。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-04
    • 2023-02-07
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多