c++ - 如何读取 Visual C++ 2010 生成的程序集输出?

标签 c++ windows visual-studio-2010 assembly

我有以下 C++ 代码:

int main()
{
    int i;
    int j;
    i = 1111;
    j = 2222;

    return 0;
}

我想查看此 C++ 代码编译成什么样的汇编代码,所以我选择了以下选项:

enter image description here

此选项将输出每个 C++ 语句并直接在它下面输出它对应的汇编指令。但是有一些 C++ 语句不对应任何汇编指令(例如:int i;)。所以我想确保在阅读生成的汇编代码时我的以下假设是正确的:

enter image description here

最佳答案

int i; int j; 只是变量声明..它们甚至没有用声明初始化,因此从这个意义上说,这两行没有明确的汇编指令..但请注意局部变量声明确实导致在堆栈上分配这些局部变量。

是的,对于您问题的后半部分,mov DWORD PTR_i$[ebp], 1111 仅对应于 i = 1111;

关于c++ - 如何读取 Visual C++ 2010 生成的程序集输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27651166/

相关文章:

c++ - Eigen C++ : Performance of sparse-matrix manipulations

javascript - 使用 HTML5 和 C++ 的移动开发工具

c++ - 在 Windows 7 上编译和运行 GTK+ 应用程序

c# - 我如何在 vs2010 的 c# 中添加单元测试项目?

c++ - 为什么编译器会向 lib 添加内联类方法?

c++ - 为什么我的线程计数器并不总是完成?

windows - wget 从具有多个部分的多个 URL 下载多个文件

c++ - QSettings - 读取路径值的方式是什么?

.net - 将一个 C# 项目编译成一个 dll

c++ - for(;;) 和 while(1) 有什么区别?