我们在学习C++语言的时候有时需要把C++代码反汇编成汇编代码,通过汇编代码查看代码是怎么运行的,函数形参、局部变量是怎么压栈,函数是怎么调用的,栈指针是怎么跳转工作等等,这样能更好地帮助我们理解代码的底层逻辑。 

1、先在VScode中写好c++代码,并保证能编译通过(自己运行或者编译一下)

#include <iostream>
using namespace std;

int func(int m = 5)
{
    int k = 1;
    int temp = k + m;
    return temp;
}

int main()
{
    cout << func() << endl;
    system("pause");
    return 0;
}

2、在终端使用“gcc -S test.cpp -o test.s”命令进行反汇编(其中test.cpp为你当前的cpp文件名, test.s为输出的反汇编文件名)

 发现左侧文件栏新出现一个test.s

打开便是我们的汇编代码:

 

 参考资料:

使用VS Code把C代码反汇编 - 哔哩哔哩 (bilibili.com)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐