- 2
- 0
- 约1.93万字
- 约 15页
- 2019-12-29 发布于天津
- 举报
第2章 编写和运行模块
非常高兴现在终于可以开始编程了。本章将介绍模块编程和内核编程所需的所有必要的概念。我们将要不多的篇幅来编写和运行一个完整的模块。这种专业技术(expertise)是编写如何模块化设备驱动程序的基础。为了避免一下子给你很多概念,本章仅介绍模块,不介绍任何类别的设备。
这里介绍的所有内核内容(函数,变量,头文件和宏)也将在本章最后的参考部分再次介绍。
如果你已经座不住了,下面的代码是一个完整的“Hello, World”模块(这个模块事实上并没什么功能)。它可以在Linux 2.0或以上版本上编译通过,但不能低于或等于1.2,关于这一点本章将在稍后的部分解释*
* 正如第1章,“Linux内核简介”,中所述,这个例子和本书中的所有其他例子都可以从O’Reilly的FTP站点上下载。
(代码)
函数printk是由Linux内核定义的,功能与printf相似;模块可以调用printk,这是因为在insmod加载了模块后,模块就被连编到内核中了,也就可以调用内核的符号了。字符串1是消息的优先级。我之所以在模块中使用了高优先级是因为,如果你使用的是内核2.0.x和旧的klogd守护进程,默认优先级的消息可能不能显示在控制台上(关于这个问题,你可以暂且忽略,我们将在第4章,“调试技术”,的“Printk”小节中详细解释)。
通过执行insmod和rmmod命令,你可以
您可能关注的文档
最近下载
- 2026年发展对象考试题库(带答案).docx VIP
- 《GB12668.2 交流变频电气传动系统额定值的规定》.pdf VIP
- 高一新生入学教育.ppt VIP
- 自我决定理论在激励员工工作积极性中的应用.docx VIP
- 大数据治理与服务-全套PPT课件.pptx
- 《3-6岁儿童学习与发展指南(解读)》.pdf VIP
- 《建筑与市政工程抗震通用规范》(GB 55002-2021).docx VIP
- GBT 12668(2)-2025 交流调速电气传动系统额定值规定PPT课件.pptx VIP
- 压力管道设计、校审人员考试复习题GB GC GD.docx VIP
- IPC-A-610J(2024.03.中文原版,共430页完整版).docx
原创力文档

文档评论(0)