C语言 出现错误“未定义对'fork'的引用“[重复]

8i9zcol2  于 2023-02-11  发布在  其他
关注(0)|答案(2)|浏览(311)
    • 此问题在此处已有答案**:

Why does my compiler not accept fork(), despite my inclusion of <unistd.h>?(4个答案)
3天前关闭。
此程序在gcc上不工作......并给出链接器错误...即未定义对fork的引用......

#include<stdio.h>  
#include<stdlib.h>  
#include<unistd.h>    

int main()  
{  
    int a=10;  
    if (a==10 && fork())  
        printf("hello");  
    else  
        printf("world");  

    system("pause");  
    return 0;  
}
8cdiaqws

8cdiaqws1#

您使用system("pause")的事实(顺便说一句,当您可以简单地使用getchar()时,这是一个坏主意)使我相信您运行在Windows上,除非您使用CygWin这样的模拟层,否则fork在该平台上不可用。
老实说,我甚至不知道你是如何设法编译的,因为Windows通常也没有unistd.h,除非你安装了SFU或MinGW(尽管有unistd.h来简化编译代码的任务(较少的条件编译),但它并没有提供比Windows更多的功能)。

wswtfjt7

wswtfjt72#

fork在Windows上不存在(除非您正在使用Cygwin)。请改用CreateProcess

相关问题