编译器错误:函数'find_task_by_vpid'的隐式声明

时间:2013-02-19 04:44:18

标签: c linux process kernel

if(find_task_by_vpid(pid)) 
{
   myProcess = kmalloc(sizeof(find_task_by_vpid(pid)), GFP_KERNEL);
   myProcess = find_task_by_vpid(pid);
}

我已经声明了此方法的sched.h,但我收到了以下错误:

(在第一行)警告:implicit declaration of function 'find_task_by_vpid'

(在最后一行)警告:assignment makes pointer from integer without a cast

据推测,问题是相关的,但我无法弄清楚问题是什么。 运行Ubuntu(6.06.2)linux内核版本2.6.15.51-server。

1 个答案:

答案 0 :(得分:1)

我相信你包含了错误的sched.h。我的系统有几个sched头,但只有/usr/src/linux-headers-3.5.0-18/include/linux/sched.h包含find_task_by-vpid()的声明。我建议您检查一下包含路径。