【发布时间】:2014-06-28 01:31:53
【问题描述】:
我正在使用函数clone() 来创建线程。问题是我在编译过程中遇到了这个错误:
implicit declaration of function ‘clone’ [-Wimplicit-function-declaration]
我加入了<linux/sched.h>。可能是什么问题?
【问题讨论】:
-
man clone- 它告诉你要包括什么?
我正在使用函数clone() 来创建线程。问题是我在编译过程中遇到了这个错误:
implicit declaration of function ‘clone’ [-Wimplicit-function-declaration]
我加入了<linux/sched.h>。可能是什么问题?
【问题讨论】:
man clone - 它告诉你要包括什么?
在源文件的顶部添加以下行
#define _GNU_SOURCE
#include <linux/sched.h> /* or #include <sched.h> */
_GNU_SOURCE 是一个功能测试宏。
功能测试宏允许程序员在编译程序时控制系统头文件公开的定义。为了有效,必须在包含任何头文件之前定义功能测试宏。这可以在编译命令 (cc -DMACRO=value) 中完成,也可以通过 #define-在源代码中 #include 之前添加宏来完成strong>-ing 任何标题。
【讨论】:
_GNU_SOURCE 宏。
-std 模式已经设置了它(gnuXXX 模式执行 AFAIR)