0

我想编写一个由 Linux 中的用户空间函数调用的内核空间函数,如下所示:

// kernel space function.
void hello_kernel()
{
  printk(KERN_INFO "Hello kernel space.");
  printk(KERN_INFO "I can do any thing!");
}

// user space function
void hello_kernel();
int main()
{
  printf("Invoking a kernel space function.");
  hello_kernel();
  return 0;
}

我不知道这个示例代码是否可行。

如何编写由用户空间函数调用的内核空间函数?

4

1 回答 1

3

用户态代码与内核代码交互的机制是系统调用,您可以在此处阅读。

这意味着无法直接调用函数(这是用户级内存保护的重点),而是需要将其添加到内核并重新编译。

此信息可在 Internet 上找到(只需搜索),并且之前已询问过,例如,此处

于 2013-06-02T15:41:27.843 回答