#include "csapp.h" /* For each file mentioned on the command line, compile it along with "csapp.c" and suitable compiler flags. Then run the generated program. */ int main(int argc, char **argv) { //int execve(char *prog, char **argv, char **env); int status; int i; if (i < 2) return 0; for (i = 1; i < argc; i++) { char *a[6]; a[0] = "/bin/gcc"; a[1] = "-O2"; a[2] = "-Wall"; a[3] = argv[i]; a[4] = "csapp.c"; a[5] = NULL; int pid = Fork(); if(pid == 0){ Execve(a[0], a, environ); exit(1); } } for (i = 1; i < argc; i++) Waitpid(-1, &status, 0); // same as: Wait(&status); if (WEXITSTATUS(status) == 0) { char *b[2]; b[0] = "a.out"; b[1] = 0; Execve(b[0], b, environ); } return 0; }