Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否可以强制编译器(gcc或clang在我的情况下)使用某个寄存器,让我们说某个变量,并禁止它R15用于除该变量之外的任何其他目的。x86_64R15
gcc
clang
R15
x86_64
gcc 可以做到。
已经引用的gcc 文档回答了您关于如何将变量强制放入某个寄存器的问题。
要阻止编译器将此寄存器用于其他目的生成代码,请使用 gcc 开关-ffixed-reg(有关详细信息,请参阅 gcc 文档)。
-ffixed-reg