在C中引用fork()的库

时间:2012-11-30 10:24:08

标签: c fork

定义fork()的库是什么。我正在学习使用fork()。我发现标准I / O库:stdio.h足以使fork()工作,但这不适用于我的情况。

我在gcc

Code::Blocks使用Windows 8 Pro

我的代码是:

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<malloc.h>
#include <time.h>

int main(void)
{

    pid_t process;
    process = fork();

    if(process< 0)
    {
        printf("fork failed");
    }
    if(process > 0)
    {
        printf("\nParent Process Executed");
    }

    if(process == 0)
    {
        printf("\nChild Process Executed");
    }
    return 0 ;
}

我得到的确切错误是:

  

useoffork.o:useoffork.c :(。text + 0xf):未定义引用`fork'

3 个答案:

答案 0 :(得分:4)

C标准库(glibc)实现fork()调用特定于UNIX / Linux的系统调用最终创建进程,在Windows上,您应该使用winapi CreateProcess()在{中查看此示例{3}}

注意:Cygwin fork()只是CreateProcess()的封套,请参阅MSDN

答案 1 :(得分:3)

  

我在Windows 8 Pro上的Code :: Blocks中使用gcc

您在Windows上没有fork。你可以使用cygwin或类似的东西。

答案 2 :(得分:0)

#include <unistd.h> 

C 库定义了 fork()

它是在 linux 等上创建进程的 UNIX/Linux 特定系统调用。