我是linux的初学者,我将学习过程功能。 我不明白这段代码到底是做什么的。 谁能帮我?
main(int argc, char **argv) {
int i;
int nproc=0; // nombre de fils
int link=1; // qu'est-ce qu'on link ?
for(i=1;i<argc;i++) {
pid_t pid=fork();
switch(pid) {
case -1: perror("Erreur"); break;
case 0: execlp("gcc","gcc","-c",argv[i]); break;
}
}
for(i=1;i<argc;i++) {
int status;
wait(&status);
link=link && WIFEXITED(status) && (WEXITSTATUS(status)==0);
}
if(link) {
char **args;
args=(char**)calloc(argc+1,sizeof(char*));
args[0]="gcc";
for(i=1;i<argc;i++) args[i]=f(argv[i]);
// la fonction f remplace .c par .o
args[argc]=NULL;
execvp(args[0],args);
} else {
printf("Erreur : link");
}
}