Library that has reference to fork() in C

2019-02-17 11:35发布

What is the library that defines fork(). I am learning to use fork(). I found out that the Standard I/O Library : stdio.h is enough for fork() to work but that does not apply in my case.

I am using gcc in Code::Blocks on Windows 8 Pro

My Code is:

#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 ;
}

The Exact Error I get is:

useoffork.o:useoffork.c:(.text+0xf): undefined reference to `fork'

标签: c fork
2条回答
We Are One
2楼-- · 2019-02-17 12:24

The C standard library (glibc) implements fork() which calls a UNIX/Linux-specific system call eventually to create a process, on Windows, you should use the winapi CreateProcess() see this example in MSDN.

Note: Cygwin fork() is just a wrapper around CreateProcess() see How is fork() implemented?

查看更多
老娘就宠你
3楼-- · 2019-02-17 12:32

I am using gcc in Code::Blocks on Windows 8 Pro

You don't have fork on windows. You can use cygwin or something like that though.

查看更多
登录 后发表回答