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 (интегрированная среда разработки — In­te­gra­ted 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 это что такоеЕсли вы сохранили программу установки не на рабочем столе, то откройте проводник и выберите в нем свой каталог. Кликнув дважды (используйте левую кнопку мыши) по иконке «fpc-2.0.2.i386-win32» запустите программу установки.

fpc это что такое

В открывшемся окне нажмите кнопку «Next».

fpc это что такое

В следующем окне вам будет предложено указать каталог в который будет установлен Free Pascal. Лучше оставьте тот, что указан по-умолчанию. Для продолжения нажмите «Next».

fpc это что такое

fpc это что такое

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

fpc это что такое

В следующем окне («Select Additional Task») опять же ничего не меняйте, нажмите «Next».

fpc это что такое

Далее откроется окно, содержащее общую информацию о заданных параметрах установки. Чтобы начать нажмите «Install».

fpc это что такое

fpc это что такое

После завершения процесса копирования файлов появится окно («Information»), в окне содержится информация (на английском языке) о новшествах версии 2.0.2. Нажмите «Next» и вы перейдете к заключительному окну.

fpc это что такое

Если вы желаете ознакомится с файлом readme.txt (на английском языке), то оставьте галочку около «View readme.txt». Если нет, то уберите ее. Нажмите кнопку «Finish» для завершения установки.

Поздравляю! Вы установили Free Pascal.

Прим.: пользователям Windows 98 чтобы иметь возможность запускать команды компилятора из любого каталога необходимо в файле autoexec.bat добавить в переменную PATH каталог C:\FPC\2.0.2\bin\i386-win32 и затем перезагрузить компьютер.

Первая программа

fpc это что такоеПосле того как вы выполнили описанные выше действия у вас на рабочем столе появилась иконка (ярлык) «Free Pascal IDE». При двойном клике по этой иконке запустится классическая интегрированная среда разработки. Среда имеет текстовый интерфейс. Если вы программировали с использование Turbo Pascal, то у вас не возникнет проблем с освоением этой среды. В любом случае помните, что это не единственный вариант. Для Free Pascal есть множество различных вспомогательных средств от простых редакторов с подсветкой синтаксиса до систем визуального проектирования.

fpc это что такое

Теперь запустите IDE. После открытия окна можете нажать клавиши Alt+Enter для полноэкранного режима. Нажмите клавишу F10 для перехода в главное меню. Выберите меню File и нажмите Enter. В появившемся меню выберите команду New и нажмите клавишу Enter. Откроется новое окно редактора вашей программы. В нем наберите:

fpc это что такое

fpc это что такое

Прим.: если вы используете Windows 98, то сохраняйте свои программы в каталогах короткими английски именами. Если вы сохраните программу в каталоге «c:\Мои докумениты», то возникнут проблемы во процессе компиляции.

Для компиляции и выполнения программы нажмите Ctrl+F9. Если вы сделали все как написано, то процесс должен пройти успешно. Чтобы посмотреть результат работы программы воспользуйтесь сочетанием клавиш Alt+F5. Там вы увидете столь любимое всеми сообщение «Hello, world!».

fpc это что такое

Заключение

В заключении хочу выразить свою особую благодарность всем кто дочитал до этого места. Спасибо.

Источник

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *