我正在使用函数clone()
来创建线程。问题是我在编译期间遇到了这个错误:
implicit declaration of function ‘clone’ [-Wimplicit-function-declaration]
我加入了<linux/sched.h>
。可能是什么问题?
答案 0 :(得分:1)
在源文件的顶部添加以下行
#define _GNU_SOURCE
#include <linux/sched.h> /* or #include <sched.h> */
_GNU_SOURCE
是功能测试宏。
功能测试宏允许程序员在编译程序时控制系统头文件公开的定义。为了有效,必须在包含任何头文件之前定义功能测试宏。这可以在编译命令( cc -DMACRO=value
)中完成,也可以通过 #define
在源代码中的宏之前完成 { {1}} - 任何标题。