有谁知道如何将 C++ 代码转换为汇编代码,然后执行相反的操作? 前进的方式很简单:
g++ -S
我想分析输出,看看它是否被正确编译(现在只是出于好奇,但它可以有一些应用程序)。但是,我对汇编的了解非常有限,输出也很难理解(如果我使用优化 (-O) 或使用调试信息 (-g) 进行编译,情况尤其如此)。
是否有用于 C++ (GCC) 的反汇编程序来生成 C++ 代码?如果没有,是否有我可以将 C++ 代码编译成然后从中返回的任何中间表示?
似乎有一些方法可以将 C++ 转换为 C here . GCC 对此有什么帮助吗?
最佳答案
将汇编语言反编译回 C++ 是可能的(例如,使用 HexRays ),但在一些限制条件下——主要是虽然你得到的 C++ 将正确反射(reflect)基本算法,但它可能看起来不太像原始源代码(尽管 C++ 名称改组确实有助于保持比您通常使用许多其他语言更接近原始代码的内容)。
关于c++ - 将C++代码编译成汇编然后反汇编,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7961966/