gpt4 book ai didi

linux - 将 linux 内核中的函数导出到 linux 模块

转载 作者:太空宇宙 更新时间:2023-11-04 11:20:43 32 4
gpt4 key购买 nike

我正试图在 linux 模块中分配一大块内存,而 kalloc 做不到。

我知道唯一的方法是使用 alloc_bootmem(unsigned long size) 但我只能从 linux 内核而不是模块分配它。所以我想出了这个解决方案:

我将向内核添加分配内存并返回指向它的指针的函数。然后我将在模块中使用这个函数。

这是适合我的情况的最佳解决方案吗?正如我所说,我需要处理一大块内存...

另外,我如何从内核中导出一个函数并在模块中使用它?如何使指向数据 block 的指针可供模块使用?

最佳答案

这就是你要做的:

在带有符号的内核文件中,在符号前添加如下头文件

#include <linux/module.h>

<here there should be the declaration of the symbol>

现在在符号后面加上这个

EXPORT_SYMBOL(<name of the symbol>);

例如:

#include <linux/module.h>
int (*foo)(void);

EXPORT_SYMBOL(foo);

完成!

关于linux - 将 linux 内核中的函数导出到 linux 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18508487/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com