即使有警卫人员到位,我的文件仍在尝试两次执行mkdir。
我尝试将ifndef放在另一个c文件中,但仍执行两次
酸碱度
#ifndef P_H
#define P_H
void p1(char* filepath, int m);
#endif
Run Code Online (Sandbox Code Playgroud)
main.c
#include "main.h"// includes ifndef with p1.h inside it
int main(int argc, char *argv[]){
p1("Hi",2);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
第1版
#include "phase1.h"
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdio.h>
void p1(char* filepath, int m){
pid_t cpid;
cpid = fork();
if ((cpid = fork()) == -1) {
perror("fork failed");
}
if(cpid > 0){
wait(NULL);
}
else{
char *makeDir[] = {"mkdir", "MyNewDirectory", NULL};
execvp(makeDir[0],makeDir);
}
}
Run Code Online (Sandbox Code Playgroud)
当我执行gcc …