我是在内核空间工作的新手,所以我希望有人可以帮助我解决我遇到的问题。
我已经看到很多与用户空间 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);
将允许我的代码编译得很好。
有谁知道这是为什么?
谢谢。