Valgrind 使用中间代码表示来让我们检测二进制代码,这样我们就不必处理编程语言级别的结构。在将二进制代码转换为 Valgrind 的中间表示 (IR) 代码的过程中,它显示了寄存器用于加法等操作。其中有 1024 个正在使用。我没有得到的是另一种类型的寄存器,称为临时寄存器,表示为tX
X 是某个数字。因此,我可以看到:
t28 = Add32(t26,0xFFFFFFFC:I32)
t4 = LDle:I32(t28)
t
意思是临时寄存器。据我所见,它们的行为似乎与常规寄存器非常相似,但无法弄清楚它们有何不同。有人能告诉我什么是临时登记册,它与普通登记册有何不同?