register变量的存储问题

LubinLew 2013-06-21 09:17:53
register变量只是有可能存储在CPU的寄存器中,
那么具体都可能是哪些寄存器呢?
肯定是通用寄存器吧?
...全文
110 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2013-06-22
  • 打赏
  • 举报
回复
对学习编程者的忠告: 眼过千遍不如手过一遍! 书看千行不如手敲一行! 手敲千行不如单步一行! 单步源代码千行不如单步对应汇编一行! VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。 对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
lin5161678 2013-06-22
  • 打赏
  • 举报
回复
引用 5 楼 u010936098 的回复:
一般是ESI和EDI 不过register是很久以前为了那些笨拙的编译器设定的,现在的编译器通常会把它等同于auto,编译器会自己判断把哪些auto变量设置为寄存器变量。
不能简单的说成是auto 用 register 限定的变量 不能用一元操作符& 和auto是不一样的
橡木疙瘩 2013-06-22
  • 打赏
  • 举报
回复
一般是ESI和EDI 不过register是很久以前为了那些笨拙的编译器设定的,现在的编译器通常会把它等同于auto,编译器会自己判断把哪些auto变量设置为寄存器变量。
LubinLew 2013-06-22
  • 打赏
  • 举报
回复
唉,我就想证明一下自己的猜测。。。
AnYidan 2013-06-21
  • 打赏
  • 举报
回复
lz 还是先理解register 吧
自信男孩 2013-06-21
  • 打赏
  • 举报
回复
嗯,你可以看看微机原理这本书。
wang0635 2013-06-21
  • 打赏
  • 举报
回复
看编译器的喜好了

69,379

社区成员

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

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