C 在linux内核中使用当前宏

C 在linux内核中使用当前宏,c,linux-kernel,C,Linux Kernel,我正在用C在linux中更改内核。我必须包含有关进程的信息并对其进行测试。这是在虚拟机上完成的。我已经将内核更新为5.1。在我的主目录中,我有5.1的源代码。我必须进入5.1文件夹中的文件,并在/kernel/sys.c中键入信息。我的问题是,为了使用当前宏,我是否需要在测试文件和/kernel/sys.c文件中都有include语句?我也会使用 #包括 因为linux-5.1文件夹中的实际头文件位于 include/asm generic/current.h 那么,我需要在kernel/sys

我正在用C在linux中更改内核。我必须包含有关进程的信息并对其进行测试。这是在虚拟机上完成的。我已经将内核更新为5.1。在我的主目录中,我有5.1的源代码。我必须进入5.1文件夹中的文件,并在/kernel/sys.c中键入信息。我的问题是,为了使用当前宏,我是否需要在测试文件和/kernel/sys.c文件中都有include语句?我也会使用

#包括

因为linux-5.1文件夹中的实际头文件位于

include/asm generic/current.h

那么,我需要在kernel/sys.c文件中使用
#include
语句吗


#include
#include

asm generic是一个元文件夹,用于替换与体系结构相关的标题中缺失的部分。因此,当您需要直接从asm generic中包含某些内容时,这种情况非常罕见。@0andriy:是的,但我没有
include/asm
文件夹。这是否意味着我不需要一个
#include
语句?同样,asm是依赖于体系结构的语句,当然您有它。在没有这样的文件夹的情况下(在Linux内核IIRC中没有这样的体系结构),构建系统会为您提供。需要在代码中包含的头是完全基于代码的决定,开发人员应该做正确的选择。