【问题标题】:Compiler error: implicit declaration of function 'find_task_by_vpid'编译器错误:函数“find_task_by_vpid”的隐式声明
【发布时间】:2013-02-19 04:44:17
【问题描述】:
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。

【问题讨论】:

  • 我不明白为什么它们是相关的。而且没有办法用这么少的信息重现问题。

标签: c linux process kernel


【解决方案1】:

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

【讨论】:

  • 您可以将-H 传递给gcc 以找出实际包含哪些标头。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-27
  • 2013-03-20
相关资源
最近更新 更多