新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

Linux 内核代码中的 EXPORT_SYMBOL_GPL 是什么,Linux内核代码中默认拨号加接口路由的位置

发布时间:2023-09-27 07:12:31

Linux 内核代码中的 EXPORT_SYMBOL_GPL 是甚么

EXPORT_SYMBOL_GPL 是一个宏,用于将符号(函数、变量、结构体等)导出为 Linux 内核模块的全局符号。
在 Linux 内核中,一些符号是被标记为 EXPORT_SYMBOL 或 EXPORT_SYMBOL_GPL 的,这意味着它们可以在内核模块中使用。EXPORT_SYMBOL_GPL 和 EXPORT_SYMBOL 的不同在于,EXPORT_SYMBOL_GPL 导出的符号只能被 GPL 许可证兼容的模块使用,而 EXPORT_SYMBOL 导出的符号则没有此限制。
EXPORT_SYMBOL_GPL 宏的定义以下:

define EXPORT_SYMBOL_GPL(sym) EXPORT_SYMBOL_GPL_NS(GPL, sym)

其中,EXPORT_SYMBOL_GPL_NS 是一个宏定义,用于根据区分的命名空间导出符号。GPL 是一个命名空间,表示符号只能被 GPL 许可证兼容的模块使用。
使用 EXPORT_SYMBOL_GPL 宏可使函数和变量在编译时被导出,以供其他内核模块使用。这样,内核模块可以调用导出的函数、访问导出的变量,实现模块之间的功能扩大和共享。