警告が表示されます>関数「待機」の暗黙的な宣言<そして、プログラムを正しく実行すると、この警告が表示される理由を理解したいですか?
前もって感謝します
編集:含まれているライブラリを追加するのを忘れていました
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
void create (char* program, char** arg_list)
{
/* put your code here */
pid_t childPid;
int status;
if((childPid = fork()) < 0){
printf("Failed to fork() --- exiting...\n");
exit(1);
}
else if (childPid == 0){ // --- inside the child process
if(execvp(program, arg_list) < 0){ // Failed to run the command
printf("*** Failed to exec %s\n", program);
exit(1);
}
}
else{ // --- parent process
while(wait(&status) != childPid)
printf("...\n");
}
}
おそらくwait(2)
のヘッダーが欠落しています:
#include <sys/types.h>
#include <sys/wait.h>
あなたが置く必要があります:
#include <sys/types.h>
#include <sys/wait.h>
プログラムの上部で、関数の宣言を取得します。
これは manページ に示されています