簡體   English   中英

函數 'wait' 的隱式聲明

[英]Implicit declaration of function ‘wait’

我收到警告 > 函數“wait”的隱式聲明 < 並且當我運行程序時它可以正常工作,我想了解為什么會收到此警告?

提前致謝

編輯:我忘了添加包含的庫

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

在程序的頂部獲取函數的聲明。

這顯示在手冊頁中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM