注册 登录
查看: 569|回复: 3

新手提问.rodata与.data区别

[复制链接]
发表于 2013-5-21 16:08:16 | 显示全部楼层 |阅读模式
第一个注意区别是怎么个注意方法啊,新手,没看懂。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2013-5-21 16:19:02 | 显示全部楼层
const 是只读的意思
volatile 是易变的意思,编译器不进行优化

const int A = 10;  就是 数据只读的意思,所以是 read only data ,即rodata ,保存 在 flash 里
volatile const int B = 10;  虽然 是只读的,但同时也是 易变的 ,可能被外部改变,或者 中断函数改变 ,所以 不能 保存在 flash 里,只能保存在 ram 里,所以是 data ,即数据
回复 支持 反对

使用道具 举报

发表于 2013-5-21 16:20:27 | 显示全部楼层
请参考如下帖子:

__I、 __O 、__IO是什么意思?怎么用? - C语言补习班 - 山外-vcan123论坛 http://www.vcan123.com/forum.p ... =122&extra=page%3D1
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-21 18:54:16 | 显示全部楼层
山外メ雲ジ 发表于 2013-5-21 16:20
请参考如下帖子:

__I、 __O 、__IO是什么意思?怎么用? - C语言补习班 - 山外-vcan123论坛 ...

嗯谢谢了,略懂了一些些。当初只是看 c primer plus 里面讲的这一块,但是没有联系到单片机寄存器这一块,所以也没有看太懂,thank you.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部