免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3348 | 回复: 3
打印 上一主题 下一主题

[内核入门] 在内核汇编文件中,声明一个节用.section和不用.section有什么区别 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-05-18 19:58 |只看该作者 |倒序浏览
如在head_32.S中,

87 __HEAD
88 ENTRY(startup_32)
89         movl pa(stack_start),%ecx
90         
91         /* test KEEP_SEGMENTS flag to see if the bootloader is asking
92                 us to not reload segments */
93         testb $(1<<6), BP_loadflags(%esi)
94         jnz 2f

__HEAD宏为  .section        ".head.text","ax",使用了.section 定义了 .head.text节

而下面的代码

694 .data
695 .balign 4
696 ENTRY(stack_start)
697         .long init_thread_union+THREAD_SIZE

.data没有用.section 声明,这是为什么,有什么区别

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
2 [报告]
发表于 2014-05-19 22:39 |只看该作者
.data是标准的section,因此不用再声明,所有已初始化的全局数据都存方在这个段。
.section 是用来定义非标准的段的。

他不同用途的东西放在不同的段,可以方便日后管理。至于怎么个管理,我想你问得出data的这个问题,你这没有这个阶段去要理解它的时候了,请忽略这个。



论坛徽章:
0
3 [报告]
发表于 2014-06-01 14:20 |只看该作者
1.代码结构整齐,好看。
2.链接的时候可以把不同的源文件中不同的section部分,进行合并。

论坛徽章:
0
4 [报告]
发表于 2014-06-01 14:20 |只看该作者
1.代码结构整齐,好看。
2.链接的时候可以把不同的源文件中不同的section部分,进行合并。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP