我正在使用linux c。中的克隆功能。
但是,当我尝试编译代码时,遇到错误CLONE_VM未声明(在此函数中首次使用)。
我去google寻求解决方案,其中一个网站提到#include <sched.h>
必须包含在代码中。我已将#include <sched.h>
包含在我的代码中,但编译错误仍然存在。
有任何帮助吗? :)
int c = clone(child,p+STACKSIZE-1,CLONE_VM|SIGCHLD,NULL) ;
答案 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>