我正在使用linux c中的克隆function。
但是,当我尝试编译我的代码时,遇到了CLONE_VM未声明(首次在此函数中使用)的错误。
我去谷歌的解决scheme和网站之一提到#include <sched.h>
必须包括在代码中。 我已经在我的代码中包含了#include <sched.h>
,但编译错误仍然存在。
任何帮助? 🙂
int c = clone(child,p+STACKSIZE-1,CLONE_VM|SIGCHLD,NULL) ;
将以下行添加到您的代码的开头
#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
找到。