标签: c linux gcc clang x86-64
是否可以强制编译器(在我的情况下为gcc或clang)使用某个寄存器,对于某个变量,可以在R15上说x86_64除了该变量之外,还禁止将R15用于任何其他目的。
gcc
clang
R15
x86_64
答案 0 :(得分:6)
gcc可以做到。
已经引用的gcc docs回答了关于如何强制变量进入某个寄存器的问题。
要阻止编译器使用此寄存器生成代码用于其他目的,请使用gcc开关-ffixed-reg(有关详细信息,请参阅gcc doc)。
-ffixed-reg