首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C中什么时候使用寄存器?

在C中什么时候使用寄存器?
EN

Stack Overflow用户
提问于 2010-01-15 08:54:33
回答 6查看 11.8K关注 0票数 11

我有这样的东西

代码语言:javascript
运行
复制
register unsigned int a, b, c;
int n;
for (n = 0; n < 10; ++n){
c = a + b
b = a
a = c
array[n] = c;
}

不管它做什么,都无关紧要。代码以现在的方式运行得很快,如果删除register关键字,则运行速度会变慢。然而,当我在int n之前添加寄存器时,它实际上运行得比现在慢,但比不使用寄存器时要快。

有人能给我解释一下吗?谢谢。

EN

Stack Overflow用户

发布于 2010-01-15 09:01:31

可用的寄存器数量有限,因此将所有内容标记为register并不会将所有内容都放入寄存器中。基准测试是知道它是否会有帮助的唯一方法。一个好的编译器应该能够自己找出将哪些变量放到寄存器中,所以在决定寄存器关键字有帮助之前,您可能应该进行更多的基准测试。

票数 1
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2068721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档