强制编译器将某个寄存器用于某个变量

时间:2013-07-23 12:02:53

标签: c linux gcc clang x86-64

是否可以强制编译器(在我的情况下为gccclang)使用某个寄存器,对于某个变量,可以在R15上说x86_64除了该变量之外,还禁止将R15用于任何其他目的。

1 个答案:

答案 0 :(得分:6)

gcc可以做到。

已经引用的gcc docs回答了关于如何强制变量进入某个寄存器的问题。

要阻止编译器使用此寄存器生成代码用于其他目的,请使用gcc开关-ffixed-reg(有关详细信息,请参阅gcc doc)。