EXPORT_SYMBOL导出的函数是只能模块之前使用吗
时间: 2023-12-31 10:07:06 浏览: 188
嵌入式系统/ARM技术中的Linux内核中EXPORT_SYMBOL的用法
EXPORT_SYMBOL宏导出的函数同样只能在内核模块之间使用。EXPORT_SYMBOL宏与EXPORT_SYMBOL_GPL宏的区别在于,EXPORT_SYMBOL宏可以将函数导出给所有内核模块使用,而不仅仅是符合GPL许可证的内核模块。
因此,如果你想要在内核中的其他组件中使用导出的函数,你需要将该函数封装在一个内核模块中。在模块初始化时,你可以使用EXPORT_SYMBOL宏将该函数导出。其他内核模块可以使用该函数,前提是它们已经加载到内核中。
需要注意的是,EXPORT_SYMBOL宏与EXPORT_SYMBOL_GPL宏都只能导出给内核模块使用。如果你想要将函数导出给用户空间程序使用,你需要使用类似于system call或ioctl等接口。这些接口可以让用户空间程序调用内核中的函数,从而实现内核与用户空间之间的交互。
阅读全文