Я пишу программу в C++, который использует ветвление, и затем дочерняя программа делает 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. Я открыл его страницу справочника также, но я не получаю ее. Любезно помогите мне понять это.Заранее спасибо.
Проблема была с путем исходного файла. Вы даете полный путь файла, т.е. /Desktop/assignment/p2code.cpp
но я думаю, что Ваш исходный файл расположен в ~/Desktop/assignment
. Кроме того, Ваш xterm
в настоящее время находится в ~/Desktop/assignment
каталог. И я предполагаю, что нет никакой папки как Desktop
в /
каталог. Так, замена /Desktop/assignment/p2code.cpp
с ~/Desktop/assignment/p2code.cpp
(если Вы хотите дать полный путь), или имя исходного файла, т.е. p2code.cpp
(так как xterm
в настоящее время находится в каталоге, где исходный файл расположен).