трудности с запуском программ из-под DOS

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

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

трудности с запуском программ из-под DOS

Сообщение m_kostik » 31.08.2007 22:31:54

Уважаемые коллеги!
Недавно заинтересовался Free Pascal. Достал версию 1.0.4. Вроде работает ничего, но при запуске IDE из чистого DOS (с загрузочной дискеты) отказывается запускать программы - пишет:
Invalid filename:
c:\pp\exe_tpu\hello.exe
Т.е. есть простейшая программа hello.pas, загруженная в IDE. Каталог exe_tpu специально создан для хранения исполнимых файлов и прописан через Options->Directories->EXE & PPU directories. Из-под Win98 все запускается нормально. Думал, может у меня устаревшая версия Free Pascal - скачал с http://www.freepascal.org новейшую версию 2.0.4 (файл dos204full.zip). Скачал и охренел: это вообще какой-то урод. Давно таких не видел. При попытке запуска файла на выполнение из-под DOS результат тотже. Кроме того:
1) глючит IDE - в окнах настройки с закладками сочетание Ctrl-Tab то работает (переключает закладки), то нет;
2) в одной ассемблерной процедуре компилятор нашел ошибку в таком фрагменте:
les di,buf (buf - указатель, который процедура получает в качестве параметра;
ошибка - недомустимое сочетание операндов)
После того как в заголовок процедуры был введен еще один (ненужный) параметр, ошибка исчезла.
3) после часа работы при попытке компиляции стало выдаваться сообщение: Fatal: Can't find unit System
Вопроса два:
1. Можно ли запускать файл на исполнение из IDE из-под DOS'а?
2. Что это за версия 2.0.4 - может ее можно пропатчить или она вообще для работы не предназначена (хотя последняя цифра 4 вроде бы говорит, что версия устойчивая)?
m_kostik
незнакомец
 
Сообщения: 2
Зарегистрирован: 30.08.2007 21:07:07
Откуда: Украина

Сообщение alexs » 31.08.2007 22:56:15

m_kostik писал(а):3) после часа работы при попытке компиляции стало выдаваться сообщение: Fatal: Can't find unit System

это ошибка скорее всего вызвана неверной установкой целевой системы - пытаетесь откомпилировать под дос, а в установках стоит win/lin

насчёт запуска не скажу, сам прд дос давно не работаю - как вариант - может дебагер не находит?

m_kostik писал(а):Скачал и охренел: это вообще какой-то урод

можно как нибудь по мягче выражать мысли?
сам FPC сейчас очень стабилен
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Рождённый_в_СССР » 01.09.2007 01:40:18

вы бы немного о теории подумали, а потом ругались )

les di,buf

я не понимаю, почему у вас возникает ошибка на этой строке, вероятнее всего не указываете -RIntel, но вообще, на будущее - FPC оперирует с 32-битными командами и 32-битной памятью... поэтому не удивительно, что buf - это 32-битный указатель, а di - это 16-битный регистр... здесь бы правильнее взять регистр edi имхо... хотя ассеблер допускает и то и то, но старший разряд обрежится...

Fatal: Can't find unit System

это значит, что вы указали целевую платформу (под которую компилируете) например windows и забыли настроить fpc на компиляцию под эту платформу. не более того, чтобы проверить это - достаточно просто посмотреть какие папочки у вас лежат по пути
c:\pp\units\
собственно только под эти ОС вы можете компилировать, пока не настроете кросскомпиляцию, во всех иных случаях оно будет выдавать эту ошибку

1. Можно ли запускать файл на исполнение из IDE из-под DOS'а?

конечно можно.

2. Что это за версия 2.0.4 - может ее можно пропатчить или она вообще для работы не предназначена (хотя последняя цифра 4 вроде бы говорит, что версия устойчивая)?


это вполне стабильная версия, имхо даже более чем 2.1.4 и 2.3.1, которые у меня стоят. На работе я все свои проекты компилирую исключительно 2.0.4 под ДОС и Линукс, однако IDE у fpc - слабое место, поэтому я им не пользовался около года и даже не представляю как оно сейчас выглядит, что-то мне подсказывает, что не далеко уехали
Аватара пользователя
Рождённый_в_СССР
новенький
 
Сообщения: 65
Зарегистрирован: 08.08.2007 01:03:26
Откуда: Саратов

Сообщение m_kostik » 01.09.2007 13:52:59

Спасибо всем ответившим!
Сейчас я догадываюсь, что перечисленные проблемы кроются в недоработанном IDE. Насчет резкости выражений - прошу извинить старого пасквилянта. Писалось под наплывом эмоций после двух дней безуспешных попыток запустить программы, которые успешно работали в Borland Pascal'е.
Кстати, есть ли какое-нибудь толковое руководство (статья) как работать с Free Pascal без IDE? В частности как осуществлять отладку.
А вообще я давно мечтал найти что-нибудь наподобие Borland Pascal, но соответствующее нашему времени. Спасибо разработчикам.
m_kostik
незнакомец
 
Сообщения: 2
Зарегистрирован: 30.08.2007 21:07:07
Откуда: Украина

Сообщение Рождённый_в_СССР » 02.09.2007 03:57:45

тем IDE никто не пользуется и никто не занимается ) наверное причина видимо, то что авторы косили по bp)
для отладки есть дебаггер, помойму gdbpas называется, можно использовать и стороние... но лично мне до такого уровня редко приходится опускаться - я делаю просто вывод какого-нить полезного текста, в местах где что-то не так работает (writeln(' N = ',n))
если много чего надо - пишу процедуру, которая все глобальные перемнные кидает в файл с записью откуда (из какого места) была вызванна - эту практику я перенял у gcc, там все так работают... а IDE - тут вариантов море - можно настроить kwrite, emacs под паскаль, причем последний даже так, чтобы он выкидывал на строчку с ошибкой, полученную во время компиляции... под виндой я пользуюсь любым с подсветкой синтаксиса (их полно), но первое время брал IDE от Inno Pascal и TMTPascal (последнее глючило часто)... под досом - наверное тоже пойдёт любая, где написанно положение курсора (строка/столбец)... если нужна подстветка - такие тоже бывают ) например в dn
Аватара пользователя
Рождённый_в_СССР
новенький
 
Сообщения: 65
Зарегистрирован: 08.08.2007 01:03:26
Откуда: Саратов


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

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

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

Рейтинг@Mail.ru