如何使用 execl 执行 g++ 代码并运行它

如何使用 execl 执行 g++ 代码并运行它

我正在用 c++ 编写一个程序,它使用 fork,然后子程序执行 execl,打开 xterm 并执行另一个程序,比如说 p2code。以下是我正在做的事情

execl("/usr/bin/xterm", "/usr/bin/xterm","-e","g++ /Desktop/assignment/p2code.cpp -o asd","/Desktop/assignment/./asd",(void*)NULL);

这会打开 xterm,如下面的屏幕截图所示,但它不会编译 p2code 也不会执行“asd”。我正在尽力学习 execl。我也打开了它的手册页,但我不明白。请帮助我理解它。提前致谢。 Xterm 截图

答案1

问题出在源文件的路径上。您给出了文件的绝对路径,即/Desktop/assignment/p2code.cpp但我认为您的源文件位于~/Desktop/assignment。此外,您的xterm当前位于目录中。并且我假设目录中~/Desktop/assignment没有文件夹。因此,请替换为(如果您想提供绝对路径)或源文件名,即(因为当前位于源文件所在的目录中)。Desktop//Desktop/assignment/p2code.cpp~/Desktop/assignment/p2code.cppp2code.cppxterm

相关内容