gcc 和 g++ 能够编译具有各种优化的 c++ 代码。gcc / g++ 也可以输出汇编指令。我相信这些优化是在输出 asm 代码之前应用的。
通常 gcc / g++ 代码比我在 asm 中生成的任何代码都快,可能是因为我是汇编程序新手,所以我不知道很多指令。(基本上我有点垃圾。)
了解优化的一个好方法是检查 C++ 编译器的汇编级输出,或者我被告知。
是否可以使用 gcc 或 g++ 编译由 gcc 或 g++ 生成的汇编代码,或者完全像 gas 或 nasm 之类的东西?
我问的原因有两个:
首先,能够生成我自己的 asm 代码,并使用 gcc 优化对其进行编译,看看是否出现任何差异,这将是一件很酷的事情。这实际上更像是一种学习工具。
询问的第二个原因是检查我是否可以加快 gcc 的汇编代码。可能我做不到,我知道 gcc 几乎是优化方面的专家,所以我不希望在这里获得任何东西,但这将是一个有趣的挑战——击败编译器!
所以,是的,这样的事情可能吗?