linux内核头文件

linux内核头文件,linux,linux-kernel,Linux,Linux Kernel,我想知道任务结构的大小。因此,我从网站下载了linux源代码,并通过在源代码文件根目录中的终端中键入命令makeheaders\u install生成了头文件 #include<stdio.h> #include<linux/sched.h> int main() { printf("%d\n",sizeof(struct task_struct)). return 0; } #包括 #包括 int main() { printf(“%d\n”,size

我想知道任务结构的大小。因此,我从网站下载了linux源代码,并通过在源代码文件根目录中的终端中键入命令
makeheaders\u install
生成了头文件

#include<stdio.h>
#include<linux/sched.h>
int main()
{
    printf("%d\n",sizeof(struct task_struct)).
    return 0;
}
#包括
#包括
int main()
{
printf(“%d\n”,sizeof(struct task\u struct))。
返回0;
}
在termial中键入要编译的命令,并将源代码
gcc-g-I*path/to/linux*-source/usr/include test.c-o test
。但是,终端显示struct task_struct没有定义stuff。
有人能帮我弄清楚吗?非常感谢。

此结构仅供内核内部使用。它的定义相当长,并且根据内核配置的不同而变化很大。因此,结构大小也因内核配置而异,您无法从用户空间获得它


除非,你提取内核配置,这对我来说是个坏主意。更好的方法是编写内核模块。

AFAIK该结构将仅在内核中使用,不会向用户公开。谢谢您的帮助。更多,你能给我更多的帮助让我知道我需要做什么吗?这意味着编写内核模块的步骤。也欢迎分享链接或其他内容作为参考。再次提前感谢。这是一个非常简单的内核模块编程指南,您可以修改第一个示例来做您想做的事情。