2014-10-29 101 views
0

我在C中用vfork()工作。我的程序工作正常,但我有关于隐式声明的警告。vfork()隐式声明

我的代码:

if(vfork()==0){ 
... 
} 

我的警告是:

功能 '的vfork'[-Wimplicit函数声明]如果(vfork的()== 0){的隐式声明^

我包括:

#include <sys/types.h> 
#include <unistd.h> 
#include <stdio.h> 
#include <sys/wait.h> 
#include <stdlib.h> 

如果我使用fork()而不是vfork()警告消失了。 Soo问题在我的程序中只有vfork()。 我不知道这是什么意思或我如何解决这个问题。

+1

'#include'任何文件'vfork'在声明。(看起来像'') – 2014-10-29 17:11:32

+0

@ColonelThirtyTwo我有这个包括 – 2014-10-29 17:14:38

+2

尝试'男人的vfork '并获得最准确的信息。 – HuStmpHrrr 2014-10-29 17:23:23

回答

2

您需要包括这2头:

#include <sys/types.h> 
#include <unistd.h> 

此外,在节目的开头添加这行:

#define _BSD_SOURCE 
+0

我有两个。我使用gcc工作。 – 2014-10-29 17:16:57

+0

@NejcGalof什么版本的gcc?我没有得到那个警告。 – Igor 2014-10-29 17:20:58

+0

我有4.8.2版本。 – 2014-10-29 17:23:04

0

如果您已经所需的包含文件,则根据在您的系统版本上,您可能需要定义一些功能测试宏。请参阅文档系统(man vfork在类Unix系统)