3

我是在内核空间工作的新手,所以我希望有人可以帮助我解决我遇到的问题。

我已经看到很多与用户空间 c/c++ 程序的隐式函数声明相关的问题,但我认为我遇到的问题可能在内核空间中以不同的方式处理。

我正在处理的代码是测试来自驱动程序的用户应用程序的信号,我正在工作,但问题是我无法使用在 linux/signal.h 中声明的函数 send_sig_info ,直到我在标题中声明它我自己的驱动程序源。我想如果我包含了正确的标题来访问那里声明的函数调用,它应该可以工作。

因此,如果我自己的标头中没有 send_sig_info 的声明:

error: implicit declaration of function ‘send_sig_info’

然后添加到我的头文件中:

static int send_sig_info(int sig, struct siginfo *info, struct task_struct *p);

将允许我的代码编译得很好。

有谁知道这是为什么?

谢谢。

4

0 回答 0