Free Pascal: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Iws (обсуждение | вклад) |
Iws (обсуждение | вклад) |
||
Строка 29: | Строка 29: | ||
* Архитектура [[x86-64]] |
* Архитектура [[x86-64]] |
||
** Linux |
** Linux |
||
** FreeBSD |
|||
** Mac OS X |
** Mac OS X |
||
** Windows (только кросс-компиляция с использованием версии для Windows x86) |
** Windows (только кросс-компиляция с использованием версии для Windows x86) |
Версия от 16:05, 12 февраля 2011
Free Pascal Compiler | |||
---|---|---|---|
Тип | Компилятор | ||
Разработчики | Флориан Клэмпфль и другие участники проекта | ||
Написана на | Object Pascal и язык ассемблера | ||
Операционные системы | DOS, Windows, Sun Solaris, Linux, FreeBSD, Mac OS X | ||
Первый выпуск | 1997 | ||
Аппаратные платформы | x86/64, SPARC, PowerPC/64, ARM | ||
Последняя версия | 2.4.2 (12 ноября 2010) | ||
Репозиторий | gitlab.com/freepascal.org | ||
| |||
| |||
Лицензия | GNU GPL | ||
Сайт | freepascal.org | ||
Медиафайлы на Викискладе |
Free Pascal (полное название Free Pascal Compiler, часто используется сокращение FPC) — свободно распространяемый компилятор языка программирования Pascal.
Платформы
Компилятор существует для различных аппаратных и программных платформ, ветвь 2.4.x поддерживает следующие:
- Архитектура x86
- DOS (с использованием Go32v2)
- FreeBSD версий 6.x, 7.x, 8.x
- Linux
- Mac OS X
- Microsoft Windows
- Sun Solaris[1]
- Haiku
- Архитектура x86-64
- Linux
- FreeBSD
- Mac OS X
- Windows (только кросс-компиляция с использованием версии для Windows x86)
- Архитектура SPARC
- Linux
- Solaris (экспериментальная версия)
- Архитектура PowerPC
- Linux
- Mac OS X
- Архитектура PowerPC64
- Linux
- Mac OS X
- Архитектура ARM
- Linux
- Windows CE (только кросс-компиляция с использованием версии для Windows x86)
- Windows Mobile
- Mac OS X (iPhone)
Более ранние версии также поддерживали архитектуру m68k (операционные системы NetBSD, Linux и AmigaOS), а также операционные системы Solaris, QNX и BeOS для x86.
Библиотеки и оболочки
В настоящее время в рамках проекта также разрабатывается Lazarus — свободный аналог среды разработки Delphi и Lazarus Components Library (LCL) — свободная библиотека виджетов, аналогичная VCL в Delphi.
Существуют и альтернативные проекты визуального программирования на базе Free Pascal, наиболее зрелым из которых является MSEide, использующий собственную, несовместимую с VCL библиотеку компонентов MSEgui.
Другая альтернатива Lazarus'u не указано название статьи, простая билиотека виджетов, не содержащая дополнительных библиотек вроде работы с БД, XML и т.п. В её состав включён визуальный редактор форм, генерирующий исходный код создания формы на паскале.
Кроме того, в настоящее время для создания Windows-приложений можно использовать известную невизуальную библиотеку KOL.
Режимы совместимости
Важной особенностью данного компилятора, в отличие, например, от GNU Pascal, является ориентация на распространённые коммерческие диалекты языка: Object Pascal и Delphi.
Free Pascal поддерживает компиляцию в нескольких режимах, обеспечивающих совместимость с различными диалектами и реализациями языка.
- TP — режим совместимости с Turbo Pascal: совместимость практически полная, за исключением нескольких моментов, связанных с тем, что FPC компилирует программы для защищённого режима процессора, где невозможно прямое обращение к памяти, портам и т. д.
- FPC — собственный диалект: соответствует предыдущему, расширенному дополнительными возможностями, такими как, например, перегрузка операций.
- DELPHI — режим совместимости с Borland Delphi: включает поддержку классов и интерфейсов.
- OBJFPC — совмещает объектно-ориентированные возможности Delphi и собственные расширения языка.
- MACPAS — режим совместимости с Mac Pascal.
Free Pascal версий до 2.4 поддерживал также режим частичной совместимости с GNU Pascal. В последних версиях этого режима нет, вместо него развивается (но пока не включается в документацию) режим совместимости со стандартом ISO Extended Pascal.
Особенности
- Поддержка перегрузки арифметических операторов (
+
,-
,*
,**
,/
,div
,mod
), операторов сравнения (<
,>
,=
,>=
,<=
) и оператора присваивания:=
. - Поддержка операторов присваивания с выполнением арифметической операции в стиле Си (
+=
,-=
,*=
,/=
). - Наличие собственной системы сборки (fpcmake) и генератора документации (fpcdoc).
- Встроенный ассемблер по умолчанию использует синтаксис AT&T, синтаксис Intel включается отдельной директивой.
Краткая история
- 1993 год — начало работы над проектом.
- 1995 год — компилятор успешно компилирует сам себя.
- 1996 год — проект опубликован в интернете под лицензией GNU GPL.
- 12 июля 2000 года — выход версии 1.0.
- 2003 год — выход версии 1.0.10, завершение работы над ветвью 1.0.x.
- 15 мая 2005 года — выход версии 2.0.
- 10 сентября 2007 года — выход версии 2.2.
- 30 декабря 2009 года — выход версии 2.4.
- 12 ноября 2010 года - выход версии 2.4.2.
Лицензия
Компилятор распространяется на условиях GNU General Public License, а значительная часть библиотек, в том числе ядро RTL — на условиях более мягкой GNU Lesser General Public License.