我在C语言中使用vfork()。我的程序运行良好,但我对隐式声明有警告。
我的代码:
if(vfork()==0){
...
}我的警告是:
函数'vfork‘的隐式声明-如果(vfork()==0){^
我包括:
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/wait.h>
#include <stdlib.h>如果我使用fork()而不是vfork(),那么警告就消失了。Soo问题只存在于我的程序中。我不知道这意味着什么,也不知道我是怎么解决的。
发布于 2014-10-29 17:15:08
您需要包含以下两个标题:
#include <sys/types.h>
#include <unistd.h> 另外,在程序的开头添加这一行:
#define _BSD_SOURCE 发布于 2014-10-29 17:21:27
如果您已经拥有所需的包含文件,那么,根据您的系统版本,您可能需要定义一些特性测试宏。请参阅系统文档(类unix系统上的man vfork)。
发布于 2019-11-05 19:36:26
添加到Igor的答案中,确保您没有为C99编译。clang给出了错误“函数‘的隐式声明在C99中无效”,并从修复问题的参数中删除了-std=c99。
https://stackoverflow.com/questions/26636627
复制相似问题