本文介绍了为什么我的编译器不接受fork()的,尽管我的包容下的&;&unistd.h中GT ;?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面是我的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 ;?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-11 03:52