Hallo,
ich bekomme bei einem C-Programm, das in der Schule(Suse) funktioniert, immer eine Fehlermeldung beim compilieren.
Im Wiki und Forum habe ich schon gesucht, aber nichts brauchbares gefunden. Einige im Forum haben zwar ähnliche Fehlermeldungen, aber keine passenden Lösungen. Im Wiki stoße ich auch immer nur auf das Paket libc6-dev, das ich bereits installiert habe.
Ich zeige euch mal das Programm und die Fehlermeldung:
Das Programm forc.c schön farbig ☺
1 #include <stdio.h>
2 #include <unistd.h>
3 #include <sys/wait.h>
4 #include <sys/types.h>
5
6 int main(void)
7 {
8 pid_t pid;
9 int status;
10
11 printf("Programm gestartet\n");
12
13 pid = fork(); /* Kindprozess erzeugen */
14
15 if (pid < 0) { /* Fehler in fork aufgetreten */
16 perror("fork error"); /* Fehlermeldung ausgeben */
17 exit(1); /* Programm mit Exitstatus 1 beenden */
18 }
19 else if (pid == 0) { /* Kindprozess */
20 sleep(1); /* 1 sec schlafen */
21 printf("Kindprozess mit PID %d\n", getpid());
22 exit(100); /* Kindprozess mit Exitstatus 100 terminieren */
23 }
24
25 /* Elternrozess */
26 printf("Elternprozess mit PID %d\n", getpid());
27 printf("Kindprozess hat PID %d \n",pid);
28
29 pid = wait(&status); /* Auf die Terminierung des Kindprozesses warten */
30 if (pid > 0) { /* wait war erfolgreich */
31 printf("Kindprozess PID %d ",pid);
32
33 if (WIFEXITED(status)) /* Kind hat sich durch exit() selbst beendet */
34 printf("mit Exit-Status %d ", status >> 8);
35
36 printf("terminiert\n");
37 }
38 }
Fehlermeldung beim Kompilieren:
peter@peter-desktop:~/RsBs1/praktikum12$ cc fork.c -o fork
fork.c: In Funktion »main«:
fork.c:17: Warnung: unverträgliche implizite Deklaration der eingebauten Funktion »exit«
fork.c:22: Warnung: unverträgliche implizite Deklaration der eingebauten Funktion »exit«
peter@peter-desktop:~/RsBs1/praktikum12$