c - 让 gcc 通过寄存器传递参数

标签 c linux gcc

在我的 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/

相关文章:

linux - linux下如何合并两个文件

c - 编译器生成的汇编代码中的.LFB .LBB .LBE .LVL .loc是什么

c++ - 函数返回类型说明符 c++type 中的变量声明

c - 在这种情况下,C 是否正确处理了 sizeof(...) 和 sizeof ...?

linux - 如何将多个文件的内容附加到一个文件中

c - NetGroupGetUsers 的用法

c++ - 选择功能 windows vs linux

c - ARM 未对齐内存访问解决方法

c++ - 如何在C/C++中获取HTML

将 char 与 char * 连接起来