Перенаправить вывод компилятора в файл

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Сообщение Cheb » 29.07.2005 18:04:35

Пробовол использовать директиву -Fe<имя файла> - компилятор создаёт пустой файл, и даже сообщения об ошибках не хочет в него писать - не то, что номер версии. :(

И как тогда мой тулзет должен сообщения от FPC получать?..

Подскажите чайнику... :(

P.S. Раньше, помню, пользовался -Fe, всё работало. А в FPC 2.0 - шиш.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Сообщение Sniper » 29.07.2005 19:21:26

Читать:
<a href='http://freepascal.ru/wiki/index.php/%D0%9A%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D0%B0#.D0.9E.D0.BF.D1.86.D0.B8.D0.B8_.D1.84.D0.B0.D0.B9.D0.BB.D0.BE.D0.B2_.D0.B8_.D0.BA.D0.B0.D1.82.D0.B0.D0.BB.D0.BE.D0.B3.D0.BE.D0.B2' target='_blank'>http://freepascal.ru/wiki/index.php/%D0%9A....B3.D0.BE.D0.B2</a>
Sniper
постоялец
 
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Cheb » 29.07.2005 20:17:05

Читать:

Спасибо, но это я могу и через fpc -? получить.

fpc d:\cge\kernel\source\cge_test9.pp -Fed:\cge\temp\_compout.txt
компилятор прилежно создаёт файл d:\cge\temp\_compout.txt размером 0 байт,
и всё равно выводит все сообщения об ошибках в консоль (могу скриншот показать).

Кто-нибудь знает, как перенаправить вывод компилятора версии 2.0 и выше в текстовый файл?.. Какие-нибудь дополнительные опции добавились?.. (информация в том доке - по 1.0.6). И почему Лазарю это удаётся, а мне, из коммандной строки - нет?.. Или Лазарь по другому с него выход получает?..

Я бы в исходниках Лазаря поискал, но ведь это пришлось бы тонны породы перелопатить.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Сообщение Sniper » 29.07.2005 22:00:18

Я вообще пользуюсь вот так и меня вполне устраивает =)
fpc d:\cge\kernel\source\cge_test9.pp>d:\cge\temp\_compout.txt
Sniper
постоялец
 
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Cheb » 30.07.2005 01:28:57

Вау :)
Но работает только из ВыньКоммандера - но не из ExecuteProcess или CreateProcess... <_<

Впрочем, исходники Лазаря оказались совсем не такими страшными... Там это сделано через TProcess, входящий в стандартную поставку FPC. Хм... А я и не знал...

Дооооки по FCL!... Бы.
Эх, да кто этой громадной работой заниматься-то будет... :(
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Сообщение noch » 30.07.2005 13:38:01

Извините, а стандартными средствами шелла не пробовали?
од виндовс тоже работает перенаправление в файл

fpc program.pas > log.txt
Аватара пользователя
noch
постоялец
 
Сообщения: 145
Зарегистрирован: 07.06.2005 09:45:49
Откуда: Armenia

Сообщение Cheb » 30.07.2005 18:17:18

Во-первых, оно из Start->Run не работает-таки (проверял), только из командной строки в Тотал Коммандере. А во-вторых - зачем мне шелл, когда всей этой операцией заниматься не мне, а моей программе, которая должна тихо, не показывая его, запустить ФриПаскаль, а потом вывести на экран выданные им сообщения?..

А TProcess - кроссплатформенный, что мне как раз и требовалось. И всё это умеет. И не только это - он позволяет прямо в реальном времени выводить то, что выдаёт FPC, не заморачиваясь с файлом - просто перехватывая stdout. Конфетка, а не класс :D
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Сообщение noch » 31.07.2005 13:17:22

Аааа
Тогда тебе и popen подошел бы ;)
Я чато использую ;)
;)
Аватара пользователя
noch
постоялец
 
Сообщения: 145
Зарегистрирован: 07.06.2005 09:45:49
Откуда: Armenia


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

Рейтинг@Mail.ru
cron