Kyl*_*lsh 32 c kr-c kernighan-and-ritchie cpu-registers
我正在通过K&R阅读并找到关于寄存器变量的小部分,并想知道这里的人是否有一些很好的例子付诸实践.
来自K&R的4.7节:
寄存器声明看起来像
寄存器int x;
注册char c;
要清楚,我只是希望看到一些很酷的代码示例.我(我很确定我)理解主题,所以不要觉得需要输入详细的解释(除非你想).
Rob*_*ble 69
使用现代编译器时没有很好的寄存器使用示例(阅读:过去15年以上),因为它几乎从来没有任何好处,可以做一些坏事.当你使用寄存器时,你告诉编译器"我知道如何比你更好地优化我的代码",这几乎不是这种情况.使用register时可能会发生以下三种情况之一:
即使一个编译器在使用寄存器时产生更好的代码,也没有理由相信另一个编译器也会这样做.如果你有一些关键代码,编译器没有很好地优化你最好的选择可能是使用汇编程序,但是当然要做适当的分析来验证生成的代码是否真的是一个问题.