LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 817|回复: 1

问一个编译内核模块的问题

[复制链接]
发表于 2004-2-15 16:40:11 | 显示全部楼层 |阅读模式
在编译内核模块的时候,要定义一些宏,例如
-D__KERNEL__ -DMODULE。。。。
而在源文件里也有一些这样的定义
#ifndef __KERNEL__
#define __KERNEL__
#endif
。。。。

我想知道这两者之间有什么联系和区别,谢谢
发表于 2004-3-4 14:16:38 | 显示全部楼层
后面的很简单,例如,一个叫abc.h的头文件,被bcd.h和abcd.c包含,但是bcd.h又被abcd.c包含,这样,abcd.c里面就有了2个abc.h,但是,如果把abc.h这样处理了:
#ifndef __abc_h__
#define __abc_h__
内容
#endif
第一次include "abc.h",就会定义宏__abc_h__,一旦第二次include "abc.h",因为有了预定义的宏__abc_h__,在#ifndef到#endif中的部分就不会重复包含了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表