Free Pascal
| программное обеспечение | |
| Free Pascal | |
|---|---|
| Тип |
компилятор |
| Автор |
Free Pascal team |
| Разработчики |
Флориан Клэмпфль и другие участники проекта |
| Написана на |
Object Pascal |
| Операционная система |
дистрибутивы GNU/Linux и BSD, Windows, macOS X, DOS, OS/2, AIX, Android, Haiku OS, Game Boy Advance, Nintendo DS/Wii, AROS, AmigaOS |
| Первый выпуск |
23 декабря 1998 |
| Репозиторий | |
| Последняя версия |
3.2.2 (20 мая 2021[1]) |
| Тестовая версия |
3.3.1 |
| Лицензия |
GNU GPL 2 (компилятор), GNU LGPL 2.1 (RTL) |
Free Pascal — свободный компилятор языка Pascal, лицензированный под GNU GPL 2 (сам компилятор)[2] и GNU LGPL 2.1 (Run-Time Library)[3]. Поддерживает разные стандарты языка: Object Pascal, Delphi, Turbo Pascal, ISO Pascal и Objective-Pascal.
Free Pascal IDE[править]
Вместе с FPC поставляется Free Pascal IDE — среда интегрированной разработки, приближенная к подобной среде Turbo Pascal, написанная на Pascal с использованием Free Vision (свободной замены Turbo Vision от Borland).
Отличие реализаций[править]
Отличия от Turbo Pascal[4][править]
- Запрет повторяющихся условий для
case .. of - Порядок принимаемых элементов в функции в
implementationиinterfaceдолжен быть идентичным (обходится опцией компилятора-M) - Функции
MEM,MEMW,MEMLиPORTвынесены из модуля System - Запрет на использование переменных/процедур с названием
Published,Protected,Public,Try,Finally,ExceptилиRaise(обходится опцией компилятора-Mtpили использованием{$MODE TP}в коде программы/модуля) - Разрешено использовать словы
FarиNearкак название функций/процедур - Директива
Interruptработает только для DOS - Для ассемблера по умолчанию используется синтаксис AT&T
- В качестве замены проприетарного Turbo Vision присутствует Free Vision (написан на базе исходных текстов TV из Borland C++[5])
- Отсутствие модуля overlay
- Бинарные модули несовместимы
- Структура
TextRecбинарно несовместима - Размер множеств по умолчанию составляет 4 байта
- Нужно использование
Resetдля выполнения процедурыRewriteнад файлом, открытым только для чтения - Отсутствие параметров у деструктора (обходится опцией компилятора
-So) - Запрет на наличие у объекта более 1 деструктрора (обходится опцией компилятора
-So)
Отличия от Delphi[6][7][править]
- Структура
TextRecбинарно несовместима - Идентичность
dynamic- иvirtual- методов - Константы не обязательно передаются по ссылке
- Отсутствие поддержки пакетов
- Генерация консольных приложений по умолчанию (обходится использованием
{$APPTYPE GUI}в коде программы/модуля) - Модуль Windows предоставляет лишь основные функции Win32 API
- Отсутствие автоматического управления
WideString'ами - Отсутствие нативной поддержки потоков (для UNIX-подобных ОС есть специальный модуль CThreads)
- Проверка регистра файлов для регистрозависимых ФС
- Расхождения в реализации формата RTTI
- Отличие в размере памяти по умолчанию у множеств и перечислений
- Отстутствие возможности локального объявления переменной для счётчика
- Невозможность определить временную переменную внутри кода
Источники[править]
- ↑ https://wiki.freepascal.org/FPC_New_Features_3.2.2
- ↑ https://gitlab.com/freepascal.org/fpc/source/-/blob/main/LICENSE
- ↑ https://gitlab.com/freepascal.org/fpc/source/-/blob/main/rtl/COPYING.FPC
- ↑ https://www.freepascal.org/docs-html/user/usersu82.html
- ↑ https://wiki.freepascal.org/Free_Vision
- ↑ https://www.freepascal.org/docs-html/user/usersu86.html
- ↑ https://www.freepascal.org/docs-html/user/usersu87.html
↑ | |||||||
|---|---|---|---|---|---|---|---|
| Диалекты |
Clascal • Concurrent Pascal • Delphi • Pascal • Object Pascal • Oxygene • SuperPascal | ||||||
| Компиляторы |
| ||||||
| IDE | |||||||
| Персоны | |||||||
- Программное обеспечение по алфавиту
- Программное обеспечение, разработанное в 1998 году
- Free Pascal
- Кроссплатформенные реализации языков программирования
- Программное обеспечение с лицензией GNU GPL
- Кроссплатформенное программное обеспечение
- Свободное кроссплатформенное программное обеспечение
- Свободное программное обеспечение, написанное на языке ассемблера
- Программы с интерфейсом командной строки
- Программное обеспечение для DOS
- Программное обеспечение для Windows
- Программное обеспечение для OS/2
- Программное обеспечение для macOS
- Программное обеспечение для Linux
- Программное обеспечение для Amiga
- Свободное программное обеспечение, написанное на Pascal
- Компиляторы
- Паскаль