在 CPU 寄存器中分配寄存器变量的标准?

标签 c

声明变量寄存器是对编译器的建议,如果可能,应将特定的自动变量分配给 CPU 寄存器。

但是编译器如何决定何时将寄存器变量放入 CPU 寄存器呢?它使用哪种算法/机制来决定?

谢谢,

纳文

最佳答案

如果 Norman Ramsey 没有注意到这一点并回答,也许指向他的一个指针 papers会是有序的。

图形着色主要用于静态编译器(也称为提前编译器)。对于动态(即时)编译器,您通常会使用能够更快给出结果的东西(例如 linear scan 算法),尽管它通常不会很好地完成寄存器分配工作。

关于在 CPU 寄存器中分配寄存器变量的标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3853183/

相关文章:

c - POSIX 正则表达式表示法以 @ 开头和结尾,正则表达式表示法包含字母数字字符但必须包含 _

c - 如何在 C 中使用 strstr() 计算另一个文件中的关键字?

c - 如何使用 C 语言的 openLDAP 库 API 以编程方式修改现有的 Open LDAP 对象类?

c - 为什么变量的地址会根据我运行程序的方式而改变?

在取消引用指针之前对 NULL 检查的条件移动指令

c - 用C语言在用户指定的列中打印一维数组

c - 在C中: File Not Found Error When using readInputFile function for a second time on fclose()

c - C语言求第N个质数

c# - 如何理解下面的语句: "Assigning a value to a symbolic constant in an executable statement is a syntax error"

c - 我使用 setjmp un longjmp 退出(状态)