Linux内核编程:不能包含头文件

时间:2014-10-08 07:14:07

标签: linux gcc linux-kernel kernel linux-device-driver

我是编程内核linux的新手,我试图在linux内核中编写一个函数来查找系统中的处理器数量,我发现了这个。

#include <linux/kernel.h>
#include <linux/mmzone.h>
void main(void){
 information_nodos();
}
long information_nodos(){
 printk(KERN_WARNING,first_online_pgdat());
}

错误是:

fatal error : linux/mmzone.h : no such file or directory

我知道你不能混合普通的C库,内核,因为它们是独立的,但为什么会出现这种错误?

1 个答案:

答案 0 :(得分:1)

在我看来,你要做的是在用户空间程序中使用一些kernel header file。 有一些专门的Linux内核API来实现内核模块,如果你正在尝试做什么 - 请参阅LDD3书。对于用户空间程序,您应该坚持使用C库提供的功能。