编译时内核和用户态接口源代码时,头文件如何判断是内核态还是用户态
如下
#ifdef KERN
#define PRINT printk
#else
#define PRINT printf
#endif 回复 1# mordorwww
之所以要区分内核态和用户态,应该对应结构和函数本社就有特殊的应用场景。
内核中还有专门开放出来头文件给用户态去使用,比如 netfilter queue 之类的。
所以不太明白你的需求是什么。一个头文件中还要区分内核态和用户态,那么最好的方法是分开成不同的头文件。
本帖最后由 mordorwww 于 2016-05-04 20:55 编辑
Godbach 发表于 2016-05-04 18:54 static/image/common/back.gif
回复 1# mordorwww
之所以要区分内核态和用户态,应该对应结构和函数本社就有特殊的应用场景。
我的需求很简单啊,就是内核态和用户态之间的接口文件源代码,都需要打印同一个数据结构,同样的函数,只是一个是printk,一个是printf而已,我不想写两个一样的函数 mordorwww 发表于 2016-05-04 16:05 static/image/common/back.gif
如下
#ifdef KERN
你自己不都说了么?
__KERNEL__啊 流氓无产者 发表于 2016-05-05 09:43 static/image/common/back.gif
你自己不都说了么?
__KERNEL__啊
内核的源码/KBUILD 哪里有 __KERNEL__ 这个宏定义? 本帖最后由 nswcfd 于 2016-05-06 17:37 编辑
#grep __KERNEL__ ksrc/Makefile
KBUILD_CPPFLAGS := -D__KERNEL__
页:
[1]