代码之家  ›  专栏  ›  技术社区  ›  piotr

寄存器中的函数参数

  •  2
  • piotr  · 技术社区  · 15 年前

    有没有一种方法可以禁止在寄存器中使用GCC 3.3.1传递ARM的函数参数?

    2 回复  |  直到 11 年前
        1
  •  2
  •   Timothy Gu Mickey Shine    11 年前

    对。我看到dwelch给出了一个全局的答案,但是如果您想基于一个函数一个函数的方式来做这个,那么使用gcc __attribute__ 具有 regparm . IIRC,应该是这样的:

    int __attribute__((regparm(0))) function(int a, char b) { ... }
    
        2
  •  0
  •   old_timer    15 年前

    也许其中一个选择就是你想要的

    -mabi=name
    Generate code for the specified ABI. Permissible values are: `apcs-gnu', `atpcs', `aapcs', `aapcs-linux' and `iwmmxt'. 
    

    如果没有,如果有什么,可能是编译时选项(在编译gcc时)。