Das folgende Codesegment benötigt mehr Zeit (5s), wenn es zum ersten Mal ausgeführt wird und benötigt weniger Zeit (250ms) bei aufeinanderfolgenden Durchläufen. Gibt es eine bessere Möglichkeit, gcc auszuführen?Gibt es eine bessere Alternative zu fork() und dann execvp ("gcc program.c")?
int pid,status;
char * argv[] = {"gcc","program.c",NULL};
if(!(pid=fork())){
execvp("gcc",argv);
}
while(pid!=wait(&status)){
//do nothing
}
Sicher, es gibt einen besseren Weg ... stilistisch. Verwenden Sie execlp und Sie werden das separate Array nicht benötigen. :-) –