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