CLONE_VM未声明(首次使用此功能)

时间:2014-03-17 08:05:57

标签: c linux clone

我正在使用linux c。中的克隆功能。

但是,当我尝试编译代码时,遇到错误CLONE_VM未声明(在此函数中首次使用)。

我去google寻求解决方案,其中一个网站提到#include <sched.h>必须包含在代码中。我已将#include <sched.h>包含在我的代码中,但编译错误仍然存​​在。

有任何帮助吗? :)

int c = clone(child,p+STACKSIZE-1,CLONE_VM|SIGCHLD,NULL) ;

2 个答案:

答案 0 :(得分:7)

将以下行添加到代码的开头

   #define _GNU_SOURCE             /* See feature_test_macros(7) */
   #include <sched.h>

您可以找出

需要哪些头文件和/或宏
  • man 2 syscall_name
  • man 3 library_function_name

顺便说一下,_GNU_SOURCE的含义可以通过man 7 feature_test_macros找到。

答案 1 :(得分:0)

有时包括#include <sched.h>无效,因此从Linux指向sched.h文件。即#include <linux/sched.h>