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'
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 winapiCreateProcess()
see this example in MSDN.Note: Cygwin
fork()
is just a wrapper aroundCreateProcess()
see How is fork() implemented?You don't have
fork
on windows. You can use cygwin or something like that though.