-3

以下のコードでエラーが発生しています

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

int main()
{
        int i, status;
        pid_t child;
        child=fork();
        if(child == 0){
        for(i=0; i<10; i++){
            printf("\tChild PID = %d\n", getpid());
            printf("\tChild PPID = %d\n", getppid());
            sleep(1);
        }
        exit(0);
        }
        else{
        for(i=0; i<10; i++){
            printf("Parent PID = %d\n", getpid());
            printf("Parent PPID = %d\n", getppid());
        }
        }
        waitpid(child, &status, 0);
        return 0;
}

GCC(Unix) でコーディングすると、次のエラーが発生します。

test.c:27:1: エラー: 識別子 '(' が '}' トークンの前にあると予想されます

誰かが私に何か助けを提案できますか? 前もって感謝します :)

4

1 に答える 1

2

状態のマニュアルページwaitpid()

#include <sys/types.h>
#include <sys/wait.h>

とにかく、エラーは、の使用法がpid_tで定義されていることが原因である可能性がありsys/types.hます。

-Wallすべてのコンパイラ警告をオンにするために使用すると、のプロトタイプが欠落していることがわかりますwaitpid()

更新:これはLinuxを想定しています。

于 2012-10-07T17:42:17.217 に答える