Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux kernel 如何在两个模块之间导出变量?_Linux Kernel_Kernel Module - Fatal编程技术网

Linux kernel 如何在两个模块之间导出变量?

Linux kernel 如何在两个模块之间导出变量?,linux-kernel,kernel-module,Linux Kernel,Kernel Module,我有两个模块mod_X.ko和mod_Y.ko。我在mod_X/中定义了一个变量var,如下所示: 文件filex.c int var = 1000; EXPORT_SYMBOL(var); 文件filex.h extern int var; 在mod_Y/中: 文件filey.c #include "filex.h" extern int var; Y中的Makefile正确地包含filex.h头文件/目录 但是,我无法加载模块Y,因为它在执行insmod时出现以下错

我有两个模块mod_X.ko和mod_Y.ko。我在mod_X/中定义了一个变量var,如下所示:

文件filex.c

int var = 1000;
EXPORT_SYMBOL(var);
文件filex.h

extern int var;
在mod_Y/中: 文件filey.c

#include "filex.h"
extern int var;
Y中的Makefile正确地包含filex.h头文件/目录

但是,我无法加载模块Y,因为它在执行insmod时出现以下错误:

mod_Y: Unknown symbol var (err 0)
仅供参考,在加载模块Y之前已加载模块X


请提供帮助。

最有可能的是,当您尝试加载模块Y时出现的消息
mod_Y:Unknown symbol var(err 0)
并不是问题的第一个迹象:在构建模块Y时,您应该得到“undefined reference”警告。您有这样的警告吗?这是否回答了您的问题?