【发布时间】:2016-04-10 11:54:56
【问题描述】:
编译内核模块时生成的modulename.mod.c 文件的用途是什么?
【问题讨论】:
标签: linux-kernel kernel linux-device-driver kernel-module
编译内核模块时生成的modulename.mod.c 文件的用途是什么?
【问题讨论】:
标签: linux-kernel kernel linux-device-driver kernel-module
.mod.c 是一个文件,主要包含插入时所需的有关模块的信息,例如版本号和本地未定义的符号。如果现有运行内核中未定义符号或版本与运行内核不匹配,则模块插入将失败。
【讨论】:
.mod.c 文件是 C 文件,包含 __this_module 变量(struct module 类型)和 __module_depends(const char[] 类型)的定义。该文件中没有符号信息,肯定只在compile阶段使用。当模块插入内核时,只检查.ko文件中的信息。