Заголовки включены, но неявное объявление функции getPid
Я написал следующую программу на Си. При компиляции его с помощью gcc на виртуальной машине Linux отображаются следующие ошибки:
неявное объявление функции 'getPid'[Wimplicit-function-объявление]
неявное объявление функции 'getPpid'[Wimplicit-function-объявление]
Тем не менее, я думаю, что все соответствующие заголовочные файлы показаны, как показано ниже:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
int main()
{
//Nutzereingabe von k:
int k=0;
scanf("%d\n",&k);
//Erzeugen eines Kindprozesses:
if(fork()==0)
{
//Kindprozess liegt vor
int zaehler=0;
char ausgabe[256]={0};
while(zaehler<k){
int pid=getPid();
int ppid=getPpid();
sprintf(ausgabe, "%d: %c: %d: %c: %d:", pid,' ', ppid,' ',zaehler);
//write
zaehler++;
}
}
else
{
//Elternprozess liegt vor
time_t curtime;
time(&curtime);
printf("Current time = %s", ctime(&curtime));
}
int exitcode=wait(NULL);
//exitcode to String casten:
char str[24];
sprintf(str, "Exit-Code: %i", exitcode);
//Ausgabe und exitcode zu einem String zusammenfuegen: (vorher concat())
//char* s = concat("Exit-Code: ", str);
//strncat(*str,"Exit-Code: ",str);
//Ausgabe des Exitcodes:
write(STDOUT_FILENO, str, strlen(str));
time_t curtime;
time(&curtime);
printf("Current time =%s", ctime(&curtime));
return 0;
}
Я был бы очень признателен за вашу помощь, если бы вы могли сообщить мне, почему ошибки могут быть показаны.