这个过程如何在linux上运行?

时间:2014-09-24 20:48:07

标签: linux unix

我是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");
    }
}

0 个答案:

没有答案