Форум » [x]Harbour » Вопрос по Harbour » Ответить

Вопрос по Harbour

Pasha: Можно ли перенаправить вывод сообщений компилятора об ошибках в файл ? т.е. harbour ... >error.log В xHarbour перенаправление работает, в Harbour - нет Если указать напрямую перенаправление stdout и stderr: harbour ... 1>error.log harbour ... 2>error.log сообщения об ошибках все равно выдаются на экран

Ответов - 10

gfilatov: Pasha пишет: Можно ли перенаправить вывод сообщений компилятора об ошибках в файл ? Да, если использовать дополнительную утилиту cmdredir.exe из поставки расширенной библиотеки МиниГуи для перенаправления вывода. Пример вывода при запуске HARBOUR.EXE без параметров: Harbour 1.1.0dev (Rev. 11200) Copyright (c) 1999-2009, http://www.harbour-project.org/ Harbour MiniGUI Extended Distribution Syntax: C:\HARBOUR\BIN\HARBOUR.EXE <file[ s][.prg]|@file> [options] Options: /a automatic memvar declaration /b debug info /build display detailed version info /credits display credits /d<id>[=<val>] #define <id> /es[<level>] set exit severity /fn[:[l|u]|-] set filename casing (l=lower u=upper) /fd[:[l|u]|-] set directory casing (l=lower u=upper) /fp[:<char>] set path separator /fs[-] turn filename space trimming on or off (default) /g<type> output type generated is <type> (see below) /gc[<type>] output type: C source (.c) (default) <type>: 0=compact (default) 1=normal 2=verbose 3=generate real C code /go output type: Platform dependant object module /gh output type: Harbour Portable Object (.hrb) /i<path> #include file search path /j[<file>] generate i18n gettext file (.pot) /k compilation mode (type -k? for more data) /l suppress line number information /m compile module only /n[<type>] no implicit starting procedure <type>: 0=no implicit starting procedure 1=no starting procedure at all 2=add starting procedure if necessary /o<path> object file drive and/or path /p[<path>] generate pre-processed output (.ppo) file /p+ generate pre-processor trace (.ppt) file /q quiet /q0 quiet and don't display program header /r:<max> set maximum number of preprocessor iterations /s syntax check only /u[<file>] use command def set in <file> (or none) /u+<file> add command def set from <file> /undef:<id> #undef <id> /v variables are assumed M-> /w[<level>] set warning level number (0..3, default 1) /x[<prefix>] set symbol init function name prefix (for .c only) /z suppress shortcutting (.and. & .or.) @<file> compile list of modules in <file> Примечание. Дело в том, что Пржемек уперся, что под Виндой перенаправление вывода отличается от никсов, и поэтому сделал вывод как для себя, проигнорировав просьбы Виктора и др. изменить это безобразие

Pasha: Ясно, спасибо

TimTim: Попробовал cmdredir.exe -o par.txt harbour.exe все равно выдает только на экран и , создаётся пустой файд par.txt . Что я делаю не так?


gfilatov: TimTim пишет: Что я делаю не так? Работает следующая строка: cmdredir.exe -o par.txt -eo harbour.exe

TimTim: Работает. Спасибо.

Pasha: Еще маленький вопрос Как в prg определить платформу windows ? Т.е аналог #ifdef __PLATFORM_Windows__ в xHarbour

alkresin: #ifdef __PLATFORM__WINDOWS

Pasha: Спасибо

Pasha: Я что-то не найду в Harbour аналога HB_Exec() Тип Pointer поддерживается, а как выполнить функцию по ее адресу ?

Петр: Что-то вроде symb := @MyFunc() eval( symb ) или symb:exec()



полная версия страницы