让我们从一个最简单的驱动程序开始,下面是来自《LINUX设备驱动开发详解》中的一个内核模块程序例子:
可以看到例子程序开始包含了头文件linux/init.h,由基本常识可知该文件在linux源码中的绝对路径是linux/include/linux/init.h(linux初始化模块函数定义和defines)。现在看一下该文件的具体内容:
该头文件首先包含了另一个头文件linux/compiler.h,依旧由基本常识可知该文件在linux源码中的绝对路径是linux/include/linux/compiler.h。先看一下该文件的内容,回头再来看init.h。