问题描述
下面是我的code(刚创建测试叉()):
Here's my code (created just to test fork()):
#include <stdio.h>
#include <ctype.h>
#include <limits.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
int pid;
pid=fork();
if (pid==0) {
printf("I am the child\n");
printf("my pid=%d\n", getpid());
}
return 0;
}
我得到以下警告:
I get following warnings:
warning: implicit declaration of function 'fork'
undefined reference to 'fork'
什么是错呢?
推荐答案
unistd.h中
和叉
的一部分的。他们不是在Windows( text.exe
在海湾合作委员会的命令提示,那就是你不是在* nix)。
unistd.h
and fork
are part of the POSIX standard. They aren't available on windows (text.exe
in your gcc command hints that's you're not on *nix).
看起来你正在使用gcc作为,它不提供的一部分 unistd.h中
头,但没有实现像叉
功能。 的确实的提供的功能,实现像叉
。
It looks like you're using gcc as part of MinGW, which does provide the unistd.h
header but does not implement functions like fork
. Cygwin does provide implementations of functions like fork
.
不过,由于这是家庭作业,你应该已经对如何获得工作环境的说明。
However, since this is homework you should already have instructions on how to obtain a working environment.
这篇关于为什么我的编译器不接受fork()的,尽管我的包容下的&;&unistd.h中GT ;?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!