你如何从另一个C程序中调用C程序

时间:2017-03-23 13:51:53

标签: c fork exec

我有两个C程序,Project1A.c和Project1B.c。我试图使用execl()从Project1B内部执行Project1A,但到目前为止它还没有工作。

Project1B.c

str.split()

1 个答案:

答案 0 :(得分:2)

execl执行二进制文件,这意味着您无法传递 Project1A.c 并期望它能够正常工作。您需要编译它并执行编译程序。

该函数的后续参数是命令行参数,以NULL结尾。这意味着你的execl调用对应于shell上的./Project1A.c ./prog,这显然不起作用。

相反,您的execl调用应该是:execl("prog1A", NULL);

另一方面,您可以通过首先使用系统函数运行编译命令来运行C代码,然后在编译成功的情况下使用execl运行编译的程序。