将一个头文件包含到多个C文件中

将一个头文件包含到多个C文件中

我正在本地修改设备的 linux 内核,并在 /include/linux 中添加了一个头文件(例如 ah),并在内核目录中的两个 C 文件中引用了它。头文件包含一个已在其中初始化的结构。每当我编译内核时,它都会显示“struct_var”错误的多重定义。我应该做出哪些改变?

答案1

您需要确保它只包含一次。

通常,您会使用

#ifndef UNIQUE_IDENTIFIER_MAYBE_THE_FILENAME
#define UNIQUE_IDENTIFIER_MAYBE_THE_FILENAME

// your file contents go here

#endif

这样,编译器第二次包含此文件时,会定义 UNIQUE_IDENTIFIER_MAYBE_THE_FILENAME,因此它不会定义其中的任何位。

相关内容