我正在寻找一个旨在编译另一个程序的程序。目的是使用 exec 运行 gcc。我必须使用 execve 而我拥有的是:
#include <unistd.h>
#include <sys/types.h>
int main(int argc, char* argv[], char* envp[])
{
argv[0] = "gcc";
execve("/usr/bin/gcc" , argv, envp);
return 0;
}
通过做
gcc -Wall p3p4.c -o run
它编译没有问题,但是在做的时候
./run p3p1.c
要尝试编译另一个,会发生这种情况:
run: error trying to exec 'cc1': execvp: No such file or directory
编辑:
按照建议,添加行时:
argv[0] = "gcc";
该程序设法工作。谢谢你的反馈。