在过程中编译源C
|
我想在父进程中编译源C,然后创建可执行文件,然后将其运行到子进程中。有任何想法吗?
谢谢。
#include <stdio.h>
#include <stdlib.h>
#define execle(\"/bin/ls\",\"bin/ls\",\"-l\",NULL);
int main(int argc , char **argv )
{
int i;
for(i=1 ; i<argc ; i++)
{
if(argv[1]==\".c\")
{
if(fork()==0)
{
execle(\"/usr/bin/gcc\",\"/usr/bin/gcc\",argv[1],NULL);
exit(1);
}
}
if(argv[2]==\".out\")
{
if(fork()==0)
{
execle(\"/bin/cat\",\"bin/cat/\",argv[2],NULL);
exit(1);
}
}
}
return 0;
}
这是代码的样子,但是您能告诉我为什么它在execle(..)所在的行上给我错误吗?
没有找到相关结果
已邀请:
2 个回复
疏腔傻小雹
调用或
的组合来运行编译器。然后,您可以使用相同的调用来运行新编译的可执行文件。 在实现它时,请记住它的安全性方面。这种事情具有巨大的利用潜力。
膏焦凑
您希望这条线做什么? 这两行
不要做你想的 尝试
更多:http://www.cplusplus.com/reference/clibrary/cstring/strcmp/ 也,
确实不存在,因此将其更改为
和
更多:http://www.yolinux.com/TUTORIALS/ForkExecProcesses.html 您应该以如下形式结束: