gpt4 book ai didi

在一个过程中编译源C

转载 作者:太空宇宙 更新时间:2023-11-04 06:08:08 27 4
gpt4 key购买 nike

我想在父进程中编译源 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(..) 所在的行上给我错误吗?

最佳答案

在您的父/驱动程序中,使用system(3) 调用或fork/exec/wait 的组合来运行您的编译器。然后您可以使用相同的调用来运行新编译的可执行文件。

在实现它时,请记住它的安全方面。这种东西有巨大的利用潜力。

关于在一个过程中编译源C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5645829/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com