注册变量意味着什么



注册变量意味着什么?

我在CLR中通过C#一书遇到了这种搭配。以下是使用搭配的摘录:

多年来,我在不同的编程语言中使用了异常处理操作系统和不同的CPU体系结构。在每种情况下,都会实现异常处理不同的是,每个实现在性能方面都有其优缺点。一些实现将异常处理构造直接编译到方法中,而其他实现将与异常处理相关的信息存储在与方法--只有在抛出异常时才访问此表。某些编译器无法内联方法包含异常处理程序,并且如果方法包含异常处理程序。

这是否意味着在某些编程语言中,不可能在try-catch块的try部分中声明变量?或者这意味着什么不同?

根据CA1809,变量注册是将一个值(由变量指向(存储在CPU寄存器而不是其他存储器中的过程。

CLR将考虑注册多达64个本地变量,因为与缓存、RAM等其他存储器相比,CPU访问寄存器中存储的值最快。

这并不意味着您不能在try/catch块中声明变量。

我认为这本书只是在警告可能的性能损失,因为如果有异常处理程序,一些编译器可能不会考虑注册变量。

最新更新