c - 如何在内核空间内跨子目录访问全局变量?

标签 c linux

有没有办法让 linux 内核模块中定义的全局变量在子目录中可用?使用 EXPORT_SYMBOL 使其在当前目录中可用。我试过在头文件中定义它,并使用“../name_header.h”将头文件包含在子目录中,但它似乎无法识别该变量。 具体来说,我在 c 文件中有一个变量 - vport.c(属于 openvswitch ),我想在子目录中访问这个变量。

最佳答案

EXPORT_SYMBOL 使符号可用于动态链接代码(内核模块),但我认为这不是您要实现的目标。

为了从不同的编译单元访问变量,请在您尝试访问该变量的 c 文件中添加 extern 减速。或者更好的是,使用通用头文件并将外部减速放入该文件中。该编译单元(例如 c 文件)是否位于不同的目录或子目录中通常并不重要。

关于c - 如何在内核空间内跨子目录访问全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38031265/

相关文章:

php - PHP 的 Shell_exec 问题

linux - 在主目录中的点文件夹周围加上引号会破坏 bash 命令

c - 数独网格生成器

iphone - 如何从 iPhone 中的 C++ 代码调用 C 函数?

linux - 如何进行 MONO Process() 调用以启动一个在父进程死亡时不会死亡的进程?

linux - 嵌套目录中的 Shell 脚本

php - 为什么在 XAMPP Linux 上使用带有 PHP 的 mkdir 时出现权限被拒绝错误

c++ - SHDeleteKey 和 RegDeleteTree 有什么区别?

python - 为什么 Python for 循环不像 C for 循环那样工作?

CMake 通过 shell 脚本生成 C 头文件