c-vfork()隐式声明

  • 本文关键字:声明 c-vfork c vfork
  • 更新时间 :
  • 英文 :


我使用vfork()在C中工作。我的程序运行良好,但我有关于隐式声明的警告。

我的代码:

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

我的警告是:

函数"vfork"的隐式声明[-Wimplicit函数声明]if(vfork()==0){^

我包括:

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

如果我使用fork()而不是vfork(),警告就消失了。Soo问题只是我程序中的vfork()。我不知道这意味着什么,也不知道我是怎么解决的。

您需要包含以下两个标头:

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

此外,在程序的开头添加以下行:

#define _BSD_SOURCE 

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

添加到Igor的答案中,确保您不是为C99编译的。clang给了我一个错误"函数'vfork'的隐式声明在C99中无效",从参数中删除-std=c99解决了这个问题。

相关内容

  • 没有找到相关文章