我理解64位Linux允许通过寄存器传递前六个整数函数参数和前八个浮点函数参数。
如果我有七个整数参数要通过,有没有办法让我使用一个未使用的浮点寄存器作为第七个整数,而不牺牲性能?
答案 0 :(得分:2)
如果您正在编写自己的汇编代码,则可以以任何您想要的方式使用寄存器(好吧,可能不是那么自由,但您可以自由地忽略ABI,sorta)。但是,如果您正在使用符合标准ABI编写的库代码(或系统调用,或者从更高级语言编译的程序的某些部分,或......),则必须遵循相同的限制。构成/使用符合ABI标准的接口的代码部分。