linux1.2.13伴读小书童 1

来源:互联网 发布:淘宝卖的小样是真的吗 编辑:程序博客网 时间:2024/05/05 05:15

 linux0.12未完将完之际,我已迫不及待的开启了Linux1.2.13通篇伴读之势。 已经没有有中文注释参考书。是障碍也是挑战。要么在没有中文的代码中提高纯英文读写能力,要么放弃。好消息是截至到目前我还是满怀热情的想要继续追下去。不知道能坚持追到哪里,努力向前吧。

上面是我在百度贴吧里面一篇帖子的原话。本准备在贴吧里面和一群爱好者一起把这个伴读小书童好好走下去。可度娘时不时的抽楼让人厌恶。毕竟楼层的图文内容都是花时间去做的记录。分分钟给抽了。转战CSDN,看看这里的用户友好度,希望能伴着该主题一直走下去。

急迫的来到了这里。先放开网络部分,毕竟代码量大。回到内核。kernel目录下。文件新增相比于0.12版也没有增加多少。看看最新内核特效 module的实现。该部分代码主要包括 module.c , ksyms.c , module.h , symtab_begin.h , symtab_end.h 。
先来个ksyms.c 的profile 


一个巨型的符号表赋初值。对上面结构体定义中包含一个#include 文件用法感觉有点weird 。
但是一想到include文件在编译的时候就是要将该头文件相关内容引用或是包含也就觉得没有什么了
,这叫少见多怪。
符号表原始定义:



symtab_begin.h 如下图


对于这个symtab_begin.h的结尾是不是有点莫名奇妙。其实这个文件需要和symtab_end.h结合使用的。


仔细看文件kyms.c的结尾:


原创粉丝点击