Хочу написать скрипт,который после удачной компиляции с помощью компилятора g++ запускал полученную программу.Если во время компиляции компилятор найдет ошибки в коде,то программу не надо запускать.Я написал вот такой скрипт:
text
#!/bin/sh
g++ 1.cpp -o proga
proga
Первый вопрос:возможно ли такое?
Второй вопрос:Если да.Как написать условие для проверки удачной компиляции?
Зачем это, любая современная IDE умеет запускать программы на выполнение, предварительно компилируя исходник. А если в программе есть ошибки, то она просто не соберется. Хотя и критичностью ошибок можно управлять.
конечно. Это нужно.
тут уже сказали как. Иногда можно и по другому:
text
g++ ...
err=$?
if [ $err == 0 ]; then
# всё хорошо собралось
else
# что-то пошло не так
fi
но надо сказать, что warning'е это НЕ ошибки (код == 0).
"yars" написал:
любая современная IDE
а ещё есть венда, и есть варез на треккерах. Зачем вы вообще влезли?
"yars" написал:
А если в программе есть ошибки, то она просто не соберется.
ложь. Соберётся. Иной раз даже без warning'ов, с Wall. Вы хоть пару раз собирали?
"yars" написал:
Хотя и критичностью ошибок можно управлять.
некоторые ошибки может исправить только программист, или ИИ, которого не существует. Причём если у вас нормальная IDE(vim например), то только такие ошибки и бывают. Vim всё красным разрисует, если запятую/пробел забыть.
И тесты тоже НЕ помогут, недавно я нашёл ошибку в своём коде, в котором допустимо 27! комбинаций. Это ОЧЕНЬ БОЛЬШОЕ ЧИСЛО. (10888869450418352160768000000) Потребуется 345283785211134 лет, что-бы перебрать все комбинации, если за секунду перебирать 1000000.