处理器寄存器的大小是多少,有多少个处理器寄存器?

时间:2017-07-11 17:15:21

标签: c++ c

我声明了一个int变量如下:

register int count;

当变量声明为register时,其分配将在我的计算机运行的处理器中完成。

我的问题是,有多少个处理器寄存器,这些寄存器的大小是多少?

1 个答案:

答案 0 :(得分:9)

  

当一个变量被声明为寄存器时,它的分配将在我的计算机运行的处理器中完成。

这是几十年前的古老知识。如今,C中的关键字register是一个很大程度上被忽略的提示,而在C ++中,它几乎没有任何东西;从C ++ 17开始,你甚至不再允许它写它(它已经#34;未使用和保留")。

自20世纪90年代以来的编译器足够聪明,可以决定放置(或不放置!)数据的位置,并且它们或多或少地忽略了你更清楚的坚持(除非你有非常具体的硬件要求,这需要更具体的代码反正)。

不要试图将物理因素泄漏到您的代码库中,只需编写描述程序的语义的漂亮代码,记住C ++和(在较小程度上)C都是抽象,而不是机器指令的一对一映射。

至于存在多少个处理器寄存器以及大小,这完全取决于您拥有的处理器。你可以从它的数据表中找到,如果你真的好奇。