在我的 32 位 x86 Ubuntu 11.10 上,gcc 4.6.3 通过堆栈传递参数。是否有任何 gcc 优化强制 gcc 通过寄存器传递参数? gcc 是怎么做到的?请给我一些详细信息。
最佳答案
相关属性是__attribute__((fastcall))
。使用此属性声明的函数在 ECX 中使用第一个合格参数调用,在 EDX 中使用第二个合格参数调用。
(我假设是 x86。你刚才说的是 32 位,但这涵盖了许多架构,例如 ARM)。
关于c - 让 gcc 通过寄存器传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11575502/