hadeix написав:Код виходу не обов'язково може використовуватися при виникненні помилки.
Так. А імена файлів не обов'язково мають використовуватися для іменування, в них можна невеликі дані зберігати... АЛЕ НАЩО? Як олімпіадну задачу чи при значній нестачі ресурсів це ще можна зрозуміти; але для реальної роботи?
hadeix написав:Згадайте MS-DOS (тоді часто писали програми, антивіруси, наприклад, які в залежності від результатів виконання повертали різний код, що можна було використати для подальшого запуску інших програм).
Так, ранні версії DOS дуже погано працювали зі змінними та пайпами (та й надалі не дуже), а дискети були ДУЖЕ повільні, тому й доводилося використовувати такі збочення.
hadeix написав:Можливо Ви підкажете ? Або порекомендуєте інший спосіб передати результат виконання в іншу програму ?
OUTPUT="$(./test 123)"
echo ${OUTPUT}
де сирець test виглядає приблизно як
begin
writeln(ParamStr(1));
end.
hadeix написав:Не зрозуміло, тільки, на біса в Free Pascal передбачено тип для коду завершення аж цілий longint ?
Бо це bash ріже код помилки. Ви можете, ще раз, запитувати його через системний виклик waitid. Ну і навіть якби це була вада Linux, то все одно FPC багатоплатформовий.