为什么我们需要建议一个变量存储在寄存器中?

woo*_*iap 2 c

据我所知,在C中,我们可以使用关键字"register"向编译器建议变量应该存储在CPU寄存器中.CPU指令中涉及的所有变量最终都会存储在CPU寄存器中以供执行,这不是真的吗?

caf*_*caf 5

register关键字是告诉这个变量大量使用编译器的方式.确实,通常必须将值临时加载到寄存器中以对它们执行计算.该名称来自于编译器可能将变量保留在寄存器中的范围内的整个持续时间,而不是仅在计算中使用时暂时保留变量.

为了优化,关键字已经过时,因为现代编译器可以在没有程序员帮助的情况下确定何时大量使用变量(以及何时没有使用其地址).