2.4. 编译和加载.pdfVIP

  • 4
  • 0
  • 约6.41千字
  • 约 5页
  • 2017-07-15 发布于浙江
  • 举报
2.4. 编译和加载

2.4. 编译和加载 2.4. 编译和加载 本章开头的 hello world 例⼦包含了⼀个简短的建⽴并加载模块到系统中去的演⽰. 当然, 整个 程⽐我们⽬前看到的多. 本节提供了更多细节关于⼀个模块作者如何将源 码转换成内核中的运⾏的⼦系统. 2.4.1. 编译模块 第⼀步, 我们需要看⼀下模块如何必须被建⽴. 模块的建⽴ 程与⽤户空间的应⽤程序 的建⽴ 程有显著不同; 内核是⼀个⼤的, 独⽴的程序, 对于它的各个部分如何组合在 ⼀起有详细的明确的要求. 建⽴ 程也与以前版本的内核的 程不同; 新的建⽴系统⽤ 起来更简单并且产⽣更正确的结果, 但是它看起来与以前⾮常不同. 内核建⽴系统是⼀ 头负责的野兽, 我们就看它⼀⼩部分. 在内核源码的 Document/kbuild ⽬录下发现的⽂ 件, 任何想理解表⾯之下的真实情况的⼈都要阅读⼀下. 有⼏个前提, 你必须在能建⽴内核模块前解决. 第⼀个是保证你有版本⾜够新的编译器, 模块⼯具, 以及其他必要⼯具. 在内核⽂档⽬录下的⽂件 Documentation/Changes ⼀直 列出了需要的⼯具版本; 你应当在向前⾛之前参考⼀下它. 试图建⽴⼀个内核(包括它 的模块), ⽤错误的⼯具版本, 可能导致不尽的奇怪的难题. 注意, 偶

文档评论(0)

1亿VIP精品文档

相关文档