首页 相关文章 内核模块的编译文件

内核模块的编译文件


  1.1内核模块的编译文件
  
  一个内核模块不是一个可以独立执行的文件,而是需要在运行时刻连接入内核的目标文
  件。所以,它们需要用-c选项进行编译。而且,所有的内核模块都必须包含特定的标志:
  ? __KERNEL__——这个标志告诉头文件此代码将在内核模块中运行,而不是作为用户进
  程。
  ? MODULE——这个标志告诉头文件要给出适当的内核模块的定义。
  ? Linux——从技术上讲,这个标志不是必要的。但是,假如你希望写一个比较正规的
  内核模块,在多个操作系统上编译,这个标志将会使你感到方便。它可以答应你在独立
  于操作系统的部分进行常规的编译。
  还有其它的一些可被选择包含标志,取决于编译模块是的选项。假如你不能明确内核怎
  样被编译,可以在in/usr/include/linux/config.h中查到。
  ? __SMP__——对称多线程。在内核被编译成支持对称多线程(尽管在一台处理机上运行)
  是必须定义。假如是这样,还需要做一些别的事情(参见第12章)。
  ? CONFIG_MODVERSIONS——假如CONFI...[ 查看全文 ]

2016-02-19 标签:

内核模块的编译文件的相关文章

手机页面
收藏网站 回到头部