Linux 内核中的 __EXPORTED_HEADERS__ 宏有什么用?
What is __EXPORTED_HEADERS__ macro from Linux kernel used for?
我在应用程序 makefile 的现有宏中遇到以下内容:__EXPORTED_HEADERS__
添加到 gcc 的 cflags:CPPFLAGS+=-D__EXPORTED_HEADERS__
.
我没有找到代码中使用的宏本身。
我看到它在 Linux 内核中使用,虽然我不完全理解它在那里是如何使用的。
它有什么用,为什么有人会用这个定义的宏来编译他们的代码?
谢谢。
elixir saerch __EXPORTED_HEADERS__
-> https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/types.h#L9
有内核头文件供用户 space 使用。还有很多内核头文件只能在内核内部使用。
What is it used for,
__EXPORTED_HEADERS__
用于防止 user-space 源文件,包括不适用于 user-space 的内核头文件。如果发生这种情况,则会显示警告。
why would someone compile their code with this macro defined?
在编译为内核时消除针对 user-space 的警告。
我在应用程序 makefile 的现有宏中遇到以下内容:__EXPORTED_HEADERS__
添加到 gcc 的 cflags:CPPFLAGS+=-D__EXPORTED_HEADERS__
.
我没有找到代码中使用的宏本身。
我看到它在 Linux 内核中使用,虽然我不完全理解它在那里是如何使用的。
它有什么用,为什么有人会用这个定义的宏来编译他们的代码?
谢谢。
elixir saerch __EXPORTED_HEADERS__
-> https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/types.h#L9
有内核头文件供用户 space 使用。还有很多内核头文件只能在内核内部使用。
What is it used for,
__EXPORTED_HEADERS__
用于防止 user-space 源文件,包括不适用于 user-space 的内核头文件。如果发生这种情况,则会显示警告。
why would someone compile their code with this macro defined?
在编译为内核时消除针对 user-space 的警告。