何时在C中使用寄存器?
发布时间:2020-12-16 05:32:01 所属栏目:百科 来源:网络整理
导读:我有这样的东西 register unsigned int a,b,c;int n;for (n = 0; n 10; ++n){c = a + bb = aa = carray[n] = c;} 它做什么,没关系.代码以现在的方式快速运行,如果注册关键字被删除,速度会更慢.但是,当我在int n之前添加注册表时,它的运行速度比现在慢,但比没
我有这样的东西
register unsigned int a,b,c; int n; for (n = 0; n < 10; ++n){ c = a + b b = a a = c array[n] = c; } 它做什么,没关系.代码以现在的方式快速运行,如果注册关键字被删除,速度会更慢.但是,当我在int n之前添加注册表时,它的运行速度比现在慢,但比没有使用寄存器要快. 谁可以给我解释一下这个?谢谢. 解决方法
寄存器给编译器一个提示,将变量置于寄存器中,而不是内存/堆栈空间.在某些情况下,每个变量都不会有足够的寄存器来放置这个关键字,因此将其放置在太多的变量上可能会迫使其他一些数据库重新出现.
这只是一个提示,而且编译器不必这么做. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- flex + spring + BlazeDS + google App JDO 实现一个CRUD.
- ruby-on-rails-3 – Rails 3&devise_ldap_authenticata
- c# – 如何使Visual Studio自动生成功能块的大括号?
- 个人修改的用于ADS1.2的2440init.s
- C++计算每个字符出现的次数
- react-navigation 实现简单登录 跳转路由
- Ruby中proc和lambda的两个区别
- AM3517之SD卡启动盘恢复NAND flash的数据:x-loader(二)
- ruby-on-rails – 使用selenium驱动程序时authlogic不能与c
- TDD实践感悟