Как скомпилировать программу паскаль

Технология компиляции EXE в Visual FoxPro довольно проста. Мы не будем отвлекаться на такие экстремальные методы как ввод в командном окне команд типа BUILD PROJECT, BUILD APP, BUILD EXE, а ограничимся удобствами, предоставляемыми графическим интерфейсом VFP.

Итак, для создания EXE нам понадобится нажать в менеджере проекта кнопку «BUILD. «. Выбрав в открывшемся диалоговом окне опцию Win32 executable / COM server (EXE) давим OK. ВСЕ. 😉

«Как все?»— спросите Вы — «А указать под каким именем сохранить файл?»

Согласен. Надо указать обязательно, иначе все насмарку.

Кстати, думаю, что нелишним будет напомнить о том, что для того чтобы процесс компиляции прошел успешно необходимо менеджер проекта заполнить файлами Вашей программы, один из которых обязательно должен быть как main (в менеджере проектов имя этого файла выделено жирным шрифтом), т.е. файл который будет исполнен первым. По умолчанию как main-программа устанавливается первый включенный в проект программный файл (*.prg) или файл формы (*.scx).

Сравнение скорости компиляции программ на PascalABC.NET и C#

Вобщем все довольно просто! Просто.

Теперь о грустном.

1.2 Сопутствующие файлы

Эпиграф:
«. а включаешь — не работает!»
М.Жванецкий

Все перепетии этапа компиляции приложения уже позади, и Вы, гордый от сознания собственного превосходства над простыми смертными, семимильными шагами несетесь к заказчику, устанавливаете свое приложение, попутно расписывая ему(заказчику) как теперь у него все будет круто, и подсчитывая в уме какой винт нужно купить, что бы осталось на пиво, вдруг натыкаетесь на то, что Ваша супер-пупер прога не фурычит. Грустно. Обидно. А главное не будет у Вас нового вичестера или Чего Вы Там Себе запланировали купить с гонорара.

Все дело в том, что скомпилированный нами .exe не есть самодостаточным исполняемым файлом. Для нормальной работы этому псевдо-исполняемому файлу необходимы библиотеки поддержки (.dll). Я не буду сильно вдаваться в рассуждения об этом, а просто приведу названия файлов, необходимых для нормальной работы приложения.

В принципе до 6-й версии включительно для переноса приложения на клиентскую машину можно использовать штатный Setup Wizard, который самостоятельно все прописывает, а в последующих —InstallShield (или другой инсталятор).

Читайте также:
Андроид режим сна программы

Все приведенные ниже файлы есть минимально-необходимый набор файлов для различных версий VFP (по материалам http://www.foxclub.ru):

VFP 8.0 msvcr70.dll, vfp8r.dll, vfp8rrus.dll, gdiplus.dll VFP 7.0 msvcr70.dll, vfp7r.dll, vfp7rrus.dll VFP 6.0 vfp6r.dll, vfp6renu.dll , vfp6rrus.dll VFP 5.0 vfpole50.dll, vfpodbc.dll, vfp500.dll, vfp5rus.dll, Foxpro.int

Указанный выше набор библиотек необходимо разместить в каталоге программы или в системном каталоге Windows. Для различных версий Windows эти каталоги различны:

Win9x, WinMe c:WindowsSYSTEM WinNT,Win2000,WinXP c:WindowsSYSTEM32

2.Что нужно включить в EXE

Эпиграф:
«To include or not to include?»

Pascal ABC #1 Пишем программу для сложения, вычитания, умножения, деления двух чисел


пьяный электрик

Все изложенное ниже является личным мнением автора, которым Вы можете пренебречь. Но делая по-своему помните: биться головой в бетонную стену гораздо больнее, чем воспользоваться проломом сделаным до Вас.

По умолчанию в готовый .exe включаются все файлы, необходимые для работы приложения — программы, формы, меню, библиотеки, классы и т.д. кроме файлов баз данных и таблиц (такие файлы можно узнать по перечеркнутому кружочку возле имени файла в менеджере проекта). Все включенные в .exe файлы после компиляции станут немодифицируемыми (доступными только для чтения). Понятно, что файлы таблиц (*.dbf) включать не стоит поскольку они подвергаются постоянным операциям изменения-дополнения данных, но иногда бывают случаи когда необходимо скрыть какие-либо статическиеданные от пользователя, но обеспечить доступ к ним самой программы. Лучшего места чем «внутренности» exe-шника не придумать.

Так же довольно нередкая ситуация, когда нужно «находу», или временно, изменить файл отчета, или когда имеем целый набор отчетов, уникальных для каждого пользователя. Ну в самом деле представьте: десять операторов и каждому по десять отчетов и все это в *.exe. единственным выходом в этой ситуации будет исключить эти отчеты из конечного файла и поставлять их вместе с приложением.

В любом случае решение о том какие файлы исключить, а какие оставить за Вами.

Источник: codenet.ru

Компиляция программы

Компиляция программы выполняется очень просто. Допустим, что у вас есть исходный код программы в файле prog.pp. Вы можете откомпилировать его следующей командой:

fpc [options] prog.pp

Квадратные скобки [ ] говорят о том, что параметры, находящиеся между ними, не являются обязательными.

Если исходный файл вашей программы имеет расширение .pp или .pas, вы можете его не указывать, и просто напечатать:

Читайте также:
Определи какова программа произведений перечисленных в этом занятии в учебнике

fpc [options] prog

Если всё выполнено правильно и исходный файл не содержит ошибок, то компилятор создаст исполняемый файл (готовое приложение).

Вы должны учесть, что после того, как завершится компиляция программы, в вашей директории появятся также и другие файлы с расширением .o. Это объектные файлы вашей программы. Если программа уже откомпилирована, то вы можете удалить эти файлы. Однако не удаляйте их, если выполняется компиляция модуля. Это потому, что объектный файл содержит код модуля и будет скомпонован в любой программе, которая его использует.

Источник: av-mag.ru

Как скомпилировать программу паскаль

Среда Турбо-Паскаля обладает мощными средствами обнаружения и локализации ошибок. В случае обнаружения ошибки она идентифицируется курсором. При этом в верхней строке окна редактора появляется диагностическое сообщение. После нажатия на любую клавишу, кроме(F1) верхняя строка восстанавливает свой первоначальный вид, и среда переходит к режиму редактирования.

Если после появления сообщения об ошибке нажать функциональную клавишу F1, на экране появиться окно справочной службы с детальной информацией об ошибке и рекомендациями по ее устранению. Некоторые ошибки в исходном тексте обнаруживаются не сразу, а в ходе продолжающегося контекстного разбора. Например, несоответствие типов в операторе присваивания не может быть обнаружено до тех пор, пока не будет вычислено целиком выражение в правой части этого оператора. В таких случаях ищите ошибку слева от курсора или в предыдущей строке текста. Ниже приводятся сообщения об ошибках в том виде, в каком они появляются в верхней строке окна редактора, а также перевод сообщений справочной службы.

2) Ошибки, возникающие во время выполнения программы
Некоторые ошибки, обнаруженные во время выполнения программы, приводят к
появлению на экране сообщения вида:
Runtime error nnn at xxxx:yyyy
(ошибка периода исполнения nnn по адресу xxxx:yyyy), где nnn- номер ошибки,
xxxx:yyyy- адрес (сегмент и смещение). После этого сообщения программа завершает
свою работу.
Ошибки периода исполнения делятся на четыре категории:
1) Ошибки, обнаруживаемые ДОС (коды ошибок 1-99);
2) Ошибки вводавывода (100-149);
3) Критические ошибки (150-199);
4) Фатальные ошибки (200-255);

3) Ошибки, обнаруживаемые ДОС
1. Invalid function number (Неверный номер функции)
2. File not found (Не найден файл)
3. Path not found (Путь не найден)
4. Too many open files (Слишком много открытых файлов)
5. File access defined (Отказано в доступе к файлу)
6. Invalid file handle (Недопустимый файловый канал)
7. Invalid file access code (Недействительный код доступа к файлам)
8. Invalid drive number (Недопустимый номер дисковода)
9. Cannot remove current directory (Нельзя удалить текущий каталог)
10. Cannot rename across drives (Нельзя при переименовании указывать разные дисководы)

Читайте также:
Программа как выучить немецкий

4) Ошибки вводавывода
1. Disk read error (Ошибка чтения с диска)
2. Disk write error (Ошибка записи на диск)
3. File not assigned (Файлу не присвоено имя)
4. File not open (Файл не открыт)
5. File not openor output (Файл не открыт для вывода)
6. Invalid numeric format (Неверный числовой формат)

5) Критические ошибки
1. Disk is write protected (Диск защищен от записи)
2. Unknown unit (Неизвестный модуль)
3. Drive not ready (Дисковод находится в состоянии «Не готов «)
4. Unknown command (Неопознанная команда)
5. CRC error in data (Ошибка в исходных данных)
6. Bad drive request strukture length (При обращении к диску указана неверная длина структуры)
7. Disk seek error (Ошибка при операции установки головок на диск)
8. Unknown media type (Неизвестный тип носителя)
9. Sector not found (Сектор не найден)
10. Printer out of paper (Кончилась бумага на принтере)
11. Device writeemit (Ошибка при записи на устройство)
12. Device read fault (Ошибка при чтении с устройства)
13. Hardware failure (Сбой аппаратуры)

6) Фатальные ошибки
Эти ошибки всегда приводят к немедленной остановке программы.
1. Division by zero (Деление на нуль)
2. Range check error (Ошибка при проверке границ)
3. Stack overflow error (Переполнение стека)
4. Hearp overflow error (Переполнение кучи)
5. Invalid pointer operation (Недействительная операция с указателем)
6. Floating point overflow (Переполнение при операции с плавающей запятой)
7. Invalid floating point operation (Недопустимая операция с плавающей запятой)
8. Floating point underflow (Исчезновение порядка при операции с плавающей запятой)
9. Object not initialized (Не инициирован объект)
10. Call to abstract method (Вызов абстрактного правила)

Источник: primat.org

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru