fpc это что такое
Что такое Free Pascal, и с чем его едят?
Free Pascal, иначе называемый FPC (Free Pascal Compiler) — это 32х-разрядный, кроссплатформенный компилятор языка Pascal. В настоящем обзоре я рассмотрю его основные характеристики и возможности. Free Pascal относится к категории свободного программного обеспечения (free software) и распространяется по лицензии GNU.
Кроссплатформенность
Итак, что в данном случае понимается под кроссплатформеностью? Довольно-таки большое количество платформ, однако. Во-первых, это два типа процессора:
Для i386 поддерживаются следующие операционные системы:
Версия 1.1 (находящаяся в состоянии разработки нестабильная ветвь) также поддерживает:
Надо заметить, что поддержка некоторых целевых платформ в нестабильной версии находится в состоянии разработки и не вполне пригодна для серьезной работы. Также в ветке 1.1 идет разработка компиляции для Linux и других ОС на отличных от i386 и m68k типах процессоров, таких как PowerPC, Sparc и 64х-разрядные процессоры линии x86.
Непосредственно кросскомпиляция поддерживается, однако возникают серьезные проблемы. Так, например, мне не удалось скомпилировать ассемблерные части RTL для Linux используя версии binutils для DOS и Windows.
Возможности языка
В целом возможности языка ориентированы на развитые «промышленные стандарты», а не на ANSI-стандарт языка, как GNU Pascal. Промышленным же стандартом языка Pascal в настоящее время является его диалект Object Pascal от фирмы Borland. Кроме того, Free Pascal поддерживает дополнительные расширения, нехарактерные для Borland Delphi.
Версия 1.0.10 поддерживает следующие возможности:
В версии 1.1 добавлены средства языка из старших версий Borland Delphi:
В настоящий момент все перечисленные средства языка работают удовлетворительно, хотя можно выделить пару проблем: во-первых, незавершено автопреобразование строк UNICODE, и во-вторых, реализация интерфейсов допускает несоответствие требованиям модели COM — единственность ссылки на IUnknown должна отслеживаться разработчиком.
Компиляция
Компиляция происходит весьма быстро, поскольку, как и положено компилятору Pascal, Free Pascal работает в один проход. Так, например, полная сборка самого компилятора на моем компьютере (Celeron 600) занимает около полутора минут.
Для сборки объектных файлов, получающихся в результате компиляции, вызывается внешний компоновщик — GNU ld (или ldw для Windows-платформы). Вообще, дистрибутив Free Pascal попросту включает в себя пакет GNU BinUtils, частью которого является ld. Также данный пакет включает в себя кроссплатформенный ассемблер as (asw), GNU make, компилятор ресурсов для Win32 — windres и другие программы.
Встроенный компоновщик планируется в следующих версиях компилятора, однако ход работ в этом направлении мне неизвестен.
Компилятор Free Pascal использует оптимизацию. Хотя она и уступает интеллектуальной оптимизации компилятора того же Delphi, однако рутинную, формальную оптимизацию FPC таки выполняет. В частности, можно указать целевой процессор, чтобы использовать расширенный набор команд, отсутствующих в i386, например, команды Pentium II. Для вычислений можно задействовать набор команд MMX или XMM.
Стандартные модули
В состав дистрибутива входят модули, реализующие основную функциональность. Конкретный состав модулей зависит от платформы. Кроме ядра RTL, дистрибутив включает в себя дополнительные модули, называемые «пакетами» (packages), содержащие, например, интерфейс к API SQL-сервера InterBase (пакет ibase ), или функции работы с регулярными выражениями (пакет regexpr ).
Документация
В целом, Free Pascal весьма хорошо документирован.
Документация к версии 1.0.10 состоит из шести частей и распространяется в различных форматах, в том числе — исходники LaTeX. В состав дистрибутива входит документация в виде PDF и HTML. Ниже — описание частей документации.
Free Pascal : Reference guide
Free Pascal : Users’ manual
Руководство пользователя. Содержит описание процедуры инсталляции, ключей командной строки компилятора, IDE и утилит, входящих в состав дистрибутива, сообщений компилятора об ошибках, ошибках времени выполнения и так далее. Также содержит перечень стандартных модулей для различных платформ.
Free Pascal : Programmers’ manual
Руководство программиста. Описываются режимы компиляции, директивы компилятора, вопросы распределения памяти, компоновки, использования ассемблера и так далее.
Free Pascal supplied units : Reference guide
Справочное руководство по стандартным модулям. Довольно подробно описываюся модули RTL, за исключением тех, которые являются интерфейсами к API операционных систем и их компонент.
Free Component Library (FCL) : Reference guide
FPDoc : Free Pascal code documenter : Reference manual
Руководство по использованию утилиты для автодокументации fpcdoc, входящей в состав дистрибутива.
IDE и утилиты
Вместе с компилятором распространяется IDE (интегрированная среда разработки — Integrated Development Environment) текстового режима, похожее на IDE Turbo/Borland Pascal. В настоящее время, стабильные версии IDE, насколько мне известно, существуют только для DOS и Win32, работа над вариантами для других платформ еще не закончена. IDE содержит встроенную систему отладки — если я не ошибаюсь, с использованием отладчика GNU GDB, — и встроенную справку.
О стабильности IDE, к сожалению, приходится говорить с некоторой натяжкой — проблемы существуют. Однако, в целом пользоваться можно.
Также в состав дистрибутива входят следующие утилиты:
Кроме вышеперечисленных, относящихся собственно к Free Pascal, утилит, в дистрибутив входит, как уже упоминалось, пакет GNU BinUtils.
В настоящий момент находится в процессе разработки RAD для Free Pascal — IDE Lazarus. Существует рабочая версия для Linux. Версия для Win32 пока не работает.
Лицензия
Free Pascal распространяется под лицензией GNU GPL (GNU General Public License), входящие в состав дистрибутива библиотеки модулей — под лиценизией GNU LGPL (GNU Lesser Public License). Таким образом, программы, написанные на Free Pascal, могут распространяться каким угодно образом, в том числе — и закрытым, а исходники самого компилятора доступны для изменения и использования с сохранением условий GNU GPL.
Что такое Free Pascal, и с чем его едят?
Кроссплатформенность
Надежность и удобство
Существует мнение, что бесплатные и открытые програмные продукты менее надежны, чем коммерческие. К сожалению, в большинстве случаев это действительно так.
Однако и здесь Free Pascal является приятным исключением. Лично мне пришлось столкнуться в лоб только с одним глюком, причем только тогда, когда я использовал возможность Free Pascal’я работать не с родным для него GNU-ассемблером, а с TASM. Bug-list на сайте freepascal.org весьма обширен, однако подавляющее большинство багов обычному программисту никогда не встретится. Кроме того, в отличие от коммерческих систем эти ошибки не скрываются и исправляются командой разработчиков.
Компилятор сам управляет процессом ассемблирования и сборки, так что пользоваться им может и начинающий программист, привыкший к интегрированным средам.
Модули и библиотеки
Базовая библиотека включает в себя стандартные модули, реализующие управление памятью, работу с файловой системой, управление консольным вводом/выводом, работу со строками и датами, математические функции, обработку исключений и интерфейс к API поддерживаемых операционных систем. При этом все вышеперечисленное, кроме API, для различных систем реализовано единообразно a-la Borland Pascal.
Если сравнивать с Turbo Pascal, то мы видим модули CRT, DOS, Graph (реализует работу с VGA-графикой), Strings, Objects. Сравнивая с Borland Delphi, видим соответствующие модули SysUtils и Classes. Для работы с API в базовой библиотеке предусмотрены модули Linux, Windows и GO32 (API DOS-расширителя GO32v2).
Несколько библиотек, находящихся пока в состоянии разработки, предназначено для объектной реализации GUI-интерфейса для Windows и XWindow.
В процессе разработки библиотека доступа к базам данных. Предполагаются InterBase, MySQL и Postgress. Сейчас пока можно с ними работать только через их API.
Лицензия
Free Pascal распространяется на условиях GNU General Public License (GNU GPL). Модули и библиотеки распространяются на условиях GNU Library General Public License (GNU LGPL), последняя версия данной лицензии называется GNU Lesser Public License.
Ознакомиться с ними и узнать, что за зверь GNU можно на gnu.org или gnu.ru.
Так вот, Free Pascal поддерживает классы и RTTI. Поддерживает также перегрузку (overloading) процедур и функций и обработку исключений в try-блоках. Поддерживает он и длинные строки (тип ansistring) по модели Delphi.
IDE и утилиты
Отладчик прилагается в дистрибутиве (см. выше). К сожалению, GNU-отладчик не ориентирован на Free Pascal, зато Free Pascal ориентирован на него. Лично я отладчиком стараюсь не пользоваться, предпочитая «метод вилки».
Справка
Справка Free Pascal распространяется с дистрибутивом в двух форматах: PDF и HTML, при желании можно скачать отдельно справку и в других форматах. И в том и в другом виде она хорошо структурирована и прекрасно читается. Состоит из четырех книг:
«Руководство программиста», которое описывает различные аспекты программирования, такие как директивы компилятора, использование ресурсов, использование встроенного ассемблера и т.д.
«Справочник», где описывается язык Pascal в его Free Pascal диалекте и содержимое модулей System и ObjPas.
«Справочник модулей». Описываются модули: CRT, DOS, DXELoad, Emu387, GetOpts, GPM, GO32, Graph, HeapTrc, IPC, Linux, Math, MMX, MSMouse, Objects, Ports, Printer, Sockets, Strings, SysUtils.
«Руководство пользователя», где рассматриваются такие вопросы, как инсталляция Free Pascal, ключи командной строки, файл настроек и проч.
Резюме
Fpc это что такое
Смотреть что такое «FPC» в других словарях:
FPC — may refer to: * Fast Patrol Craft, a type of light naval vessel * Federal Prison Camp * Federação Portuguesa de Ciclismo * Flight Paramedic Certified * Forest Products Commission a Western Australian Government body * Franklin Pierce College… … Wikipedia
FPC — Federal Power Commission Short Dictionary of (mostly American) Legal Terms and Abbreviations … Law dictionary
fpc — (fish protein concentrate) tasteless and odorless high protein food additive made from ground fish which is suitable to be consumed by humans … English contemporary dictionary
FPC — abbrev. 1. Federal Power Commission (1920 77) 2. fish protein concentrate: see FISH FLOUR … English World dictionary
FPC — Die Abkürzung FPC steht für: Factory Production Control, engl. für die werkseigene Produktionskontrolle, die im Rahmen der CE Kennzeichnung eine Rolle spielt Flexible Printed Circuit, engl. für Flexible Leiterplatte Free Pascal, ein freier Pascal … Deutsch Wikipedia
Fpc — Die Abkürzung FPC steht für: Factory Production Control, engl. für die werkseigene Produktionskontrolle, die im Rahmen der CE Kennzeichnung eine Rolle spielt Flexible Printed Circuit, engl. für Flexible Leiterplatte Free Pascal, ein freier Pascal … Deutsch Wikipedia
FPC — familial polyposis coli; family planning clinic; fish protein concentrate * * * FPC abbr fish protein concentrate … Medical dictionary
FPC — I. abbreviation for private circulation II. abbreviation fish protein concentrate herein * * * 1. Federal Power Commission: a board of five members established chiefly to regulate the natural gas and electric power industries engaged in… … Useful english dictionary
FPC — field press censorship; final planning conference … Military dictionary
FPC — abbreviation fish protein concentrate … New Collegiate Dictionary
Free Pascal. Первые шаги.
Что такое Free Pascal
Free Pascal это свободно распространяемый компилятор языка Паскаль. Free Pascal работает на различных процессорах (Intel x86, Amd64/x86_64, PowerPC, Sparc) и операционных системах (Linux, FreeBSD, Mac OS X/Darwin, Mac OS classic, DOS, Win32, OS/2, Netware и MorphOS). Синтаксис Free Pascal полностью совместим с Turbo Pascal 7.0, а так же, по утверждению разработчиков, с большинством версий Delphi (классы, rtti, исключения, ansistrings, widestrings, интерфейсы). Для пользователей Apple есть режим совместимости с Mac Pascal. Кроме того Free Pascal поддерживает перегрузку функции, перегрузку оператора, глобальные свойства и некоторые другие особенности.
Сам компилятор распространяется бесплатно по лицензии GNU GPL, а идущие вместе с ним пакеты и библиотеки по модифицированной LGPL, что позволяет распространять ваши скомпилированные программы на любых удобных для вас условиях.
Получение
Как правило Free Pascal не продается в магазинах и для его получения необходим доступ в интернет. Установите соединение с интернет, запустите Internet Explorer (или тот броузер которым вы пользуетесь). В поле адрес наберите следующий текст (ссылку) – http://www.freepascal.org/down/i386/win32-ftp.freepascal.org.html и нажмите клавишу Enter.
Прим.: надо заметить, что это не единственное место где можно получить компилятор и если у вас достаточно для этого квалификации, то перейдите по ссылке http://www.freepascal.org/download.html и выберите тот вариант который вас больше устраивает.
Установка
| Если вы сохранили программу установки не на рабочем столе, то откройте проводник и выберите в нем свой каталог. Кликнув дважды (используйте левую кнопку мыши) по иконке «fpc-2.0.2.i386-win32» запустите программу установки. |
В открывшемся окне нажмите кнопку «Next».
В следующем окне вам будет предложено указать каталог в который будет установлен Free Pascal. Лучше оставьте тот, что указан по-умолчанию. Для продолжения нажмите «Next».
В следующем окне вам будет предложено выбрать название для раздела главного меню Windows. Ничего не меняйте, просто нажмите «Next».
В следующем окне («Select Additional Task») опять же ничего не меняйте, нажмите «Next».
Далее откроется окно, содержащее общую информацию о заданных параметрах установки. Чтобы начать нажмите «Install».
После завершения процесса копирования файлов появится окно («Information»), в окне содержится информация (на английском языке) о новшествах версии 2.0.2. Нажмите «Next» и вы перейдете к заключительному окну.
Если вы желаете ознакомится с файлом readme.txt (на английском языке), то оставьте галочку около «View readme.txt». Если нет, то уберите ее. Нажмите кнопку «Finish» для завершения установки.
Поздравляю! Вы установили Free Pascal.
Прим.: пользователям Windows 98 чтобы иметь возможность запускать команды компилятора из любого каталога необходимо в файле autoexec.bat добавить в переменную PATH каталог C:\FPC\2.0.2\bin\i386-win32 и затем перезагрузить компьютер.
Первая программа
| После того как вы выполнили описанные выше действия у вас на рабочем столе появилась иконка (ярлык) «Free Pascal IDE». При двойном клике по этой иконке запустится классическая интегрированная среда разработки. Среда имеет текстовый интерфейс. Если вы программировали с использование Turbo Pascal, то у вас не возникнет проблем с освоением этой среды. В любом случае помните, что это не единственный вариант. Для Free Pascal есть множество различных вспомогательных средств от простых редакторов с подсветкой синтаксиса до систем визуального проектирования. |
Теперь запустите IDE. После открытия окна можете нажать клавиши Alt+Enter для полноэкранного режима. Нажмите клавишу F10 для перехода в главное меню. Выберите меню File и нажмите Enter. В появившемся меню выберите команду New и нажмите клавишу Enter. Откроется новое окно редактора вашей программы. В нем наберите:
Прим.: если вы используете Windows 98, то сохраняйте свои программы в каталогах короткими английски именами. Если вы сохраните программу в каталоге «c:\Мои докумениты», то возникнут проблемы во процессе компиляции.
Для компиляции и выполнения программы нажмите Ctrl+F9. Если вы сделали все как написано, то процесс должен пройти успешно. Чтобы посмотреть результат работы программы воспользуйтесь сочетанием клавиш Alt+F5. Там вы увидете столь любимое всеми сообщение «Hello, world!».
Заключение
В заключении хочу выразить свою особую благодарность всем кто дочитал до этого места. Спасибо.
Fpc это что такое
Полезное
Смотреть что такое «FPC» в других словарях:
FPC — may refer to: * Fast Patrol Craft, a type of light naval vessel * Federal Prison Camp * Federação Portuguesa de Ciclismo * Flight Paramedic Certified * Forest Products Commission a Western Australian Government body * Franklin Pierce College… … Wikipedia
FPC — Federal Power Commission Short Dictionary of (mostly American) Legal Terms and Abbreviations … Law dictionary
fpc — (fish protein concentrate) tasteless and odorless high protein food additive made from ground fish which is suitable to be consumed by humans … English contemporary dictionary
FPC — abbrev. 1. Federal Power Commission (1920 77) 2. fish protein concentrate: see FISH FLOUR … English World dictionary
FPC — Die Abkürzung FPC steht für: Factory Production Control, engl. für die werkseigene Produktionskontrolle, die im Rahmen der CE Kennzeichnung eine Rolle spielt Flexible Printed Circuit, engl. für Flexible Leiterplatte Free Pascal, ein freier Pascal … Deutsch Wikipedia
Fpc — Die Abkürzung FPC steht für: Factory Production Control, engl. für die werkseigene Produktionskontrolle, die im Rahmen der CE Kennzeichnung eine Rolle spielt Flexible Printed Circuit, engl. für Flexible Leiterplatte Free Pascal, ein freier Pascal … Deutsch Wikipedia
FPC — familial polyposis coli; family planning clinic; fish protein concentrate * * * FPC abbr fish protein concentrate … Medical dictionary
FPC — I. abbreviation for private circulation II. abbreviation fish protein concentrate herein * * * 1. Federal Power Commission: a board of five members established chiefly to regulate the natural gas and electric power industries engaged in… … Useful english dictionary
FPC — field press censorship; final planning conference … Military dictionary
FPC — abbreviation fish protein concentrate … New Collegiate Dictionary