In meiner C-Programm möchte ich mein Programm Quellcode rufen rekursiv, wie folgt aus:Unix - C - Exec auszuführen gleiche Programm
#include <stdio.h>
#include <unistd.h>
int main() {
printf("Hello World\n");
execlp("a.out", "a.out", NULL);
return 0;
}
Unter der Annahme, a.out das Ergebnis der Zusammenstellung der oben genannten Quellcode unter Verwendung
gcc program.c
ich erhalte die folgende Ausgabe:
Hello World
Als ob ich nicht das geschrieben execlp Linie. ¿Ist damit etwas nicht in Ordnung? Der Ausgang ich erreichen möchte ist folgendes:
Hello World
Hello World
Hello World
Hello World
...
Offensichtlich in meinem Programm würde es sich um eine Stoppbedingung sein, aber der Einfachheit halber Ich betrachte es nicht jetzt.
Also, wie könnte es getan werden? Danke.
Sie starten das Programm nicht mit 'a.out'. Sie starten es mit './A.out', oder? –