7

定义 fork() 的库是什么。我正在学习使用 fork()。我发现 Standard I/O Library :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”的引用

4

3 回答 3

4

C 标准库 (glibc) 实现fork()最终调用 UNIX/Linux 特定的系统调用来创建进程,在 Windows 上,您应该使用 winapi请参阅MSDNCreateProcess()中的此示例。

注意:Cygwinfork()只是一个包装器,CreateProcess()看看fork() 是如何实现的?

于 2012-11-30T10:30:33.820 回答
3

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

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

于 2012-11-30T10:27:13.333 回答
1
#include <unistd.h> 

C 库定义fork().

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

于 2021-03-20T08:39:56.473 回答