求助 register是什么意思啊

asp19810824net 2005-01-25 09:19:16
如题
...全文
429 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
melonliu 2005-01-25
  • 打赏
  • 举报
回复
不用研究的,编译器会做优化。不用就是了
melonliu 2005-01-25
  • 打赏
  • 举报
回复
基本不用,因为即使你用了,编译器也不一定会满足你的愿望
asp19810824net 2005-01-25
  • 打赏
  • 举报
回复
我是数学专业的,编译原理和汇编还有单片机都不学的
winstonch 2005-01-25
  • 打赏
  • 举报
回复
现代的计算机基本上不用这个了,但是要是不知道什么叫寄存器可就有点问题了.
sandrowjw 2005-01-25
  • 打赏
  • 举报
回复
a register is a fast accessing storing unit in CPU.
Modern CPUs have a serial of registers which can be used to store frequently used data temporary. As access register is much more faster than access memory units, better performance can be accomplished by keeping variables in registers.
However, the number of registers is limited, in fact, very few, so that we cannot keep all our data in them. Most modern compilers can decide when to keep what variable in register, so the use of the keyword 'register' is not encouraged unless you are sure what you are doing.
sharkhuang 2005-01-25
  • 打赏
  • 举报
回复
一般很少用!调用次数很多的函数种的局部变量
asp19810824net 2005-01-25
  • 打赏
  • 举报
回复
只要告诉我什么时候该用吧
Response_chen 2005-01-25
  • 打赏
  • 举报
回复

变量的存储有四种:
auto,register,extern,static

前两者是存储在寄存器上,后两者不是,

默认是auto存储类型 register是强制性的存储在寄存器中
oo 2005-01-25
  • 打赏
  • 举报
回复
那就只能去看计算机接口,汇编之类的书了,呵呵...
playmud 2005-01-25
  • 打赏
  • 举报
回复
记住吧,不然说起来很麻烦的。
daylove 2005-01-25
  • 打赏
  • 举报
回复
定义变量时指定存放在寄存器,象楼上说的,为了提高访问速度

比如for( int i,i<_size,i++ )这里的i就适合定义成寄存器变量,当然这里你可以不用明确的指定register,编译器会帮你这个忙的。
asp19810824net 2005-01-25
  • 打赏
  • 举报
回复
什么是寄存器啊?
asp19810824net 2005-01-25
  • 打赏
  • 举报
回复
还是不懂
oo 2005-01-25
  • 打赏
  • 举报
回复
建议编译器用寄存器存放这个变量(为了提高访问速度)。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧