【发布时间】:2012-09-19 14:36:57
【问题描述】:
所以我相信内核模块代码可以使用静态编译的内核代码中的任何内容,只要它们被公开。但是如果静态编译的内核代码要在模块代码中使用全局变量,有可能吗?
例如,我们在一个内核模块代码(无论可加载的内核模块)中有一个名为“int a”的全局变量。在静态编译的内核代码中(例如,在 /linux/sched/fair.c 中),我想访问该变量。
这将导致编译错误,因为模块是最后编译的(在编译静态编译的内核代码之后)并且在开始时没有加载。
如果我首先在静态编译的头文件中声明这个变量会怎样?但是在加载模块之前,那个变量是没有意义的。
谢谢,
【问题讨论】:
-
请添加一些代码或使问题更清楚。