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
- Компиляторы
- Паскаль