我对内核符号类型的含义有一点困惑。
简单的静态符号与C语言中的静态符号含义相同。因此,局部静态变量具有局部作用域和静态分配。静态函数的作用域是文件级别的。但是静态导出符号怎么办?如果宏导出静态符号,如何处理
内核导出符号可以从可加载模块中访问。在内核中触及这些符号是否是良好的编程风格? 当内核解析符号时,它会通过内核符号表进行查找吗?
EXPORT_SYMBOL()
、EXPORT_PER_CPU_SYMBOL()
和EXPORT_UNUSED_SYMBOL()
?全局符号和导出符号之间有什么区别?导出符号是否需要链接器添加额外信息?内核中的全局静态变量在所有内核和可加载模块中可见吗?内核导出符号可以从可加载模块中访问。在内核中触及这些符号是否是良好的编程风格? 当内核解析符号时,它会通过内核符号表进行查找吗?