Free Pascal Compiler

Скриншот программы:
Free Pascal Compiler
Детали программы:
Версия: 3.0.4 обновление
Дата загрузки: 22 Jun 18
Разработчик: Daniel Mantione
Тип распространения: Бесплатная
Популярность: 262

Rating: 4.0/5 (Total Votes: 2)

Free Pascal Compiler (aka FPK Pascal) - это компилятор Pascal с открытым исходным кодом, который поддерживает следующие операционные системы: Linux, FreeBSD, NetBSD, MacOSX / Darwin, MacOS classic, DOS, Win32, OS / 2, BeOS, SunOS (Solaris), QNX и Classic Amiga.

Бесплатный компилятор Pascal доступен для разных процессоров Intel x86, Amd64 / x86 64, PowerPC, PowerPC64, Sparc и ARM.

Free Pascal Compiler имеет очень чистый язык, он не использует Makefile, в отличие от большинства языков программирования, Fast с большим F, каждый блок имеет свои собственные идентификаторы и включает интегрированную среду разработки (IDE).

Кроме того, программное обеспечение обеспечивает отличную интеграцию с ассемблерами, объектно-ориентированное программирование, интеллектуальную привязку, независимость от распределения и совместимость с существующим кодом.

Что нового в этом релиз:

  • Эта версия является точечным обновлением до 3.0 и содержит исправления и пакеты обновлений, некоторые из которых имеют высокий приоритет.

Что нового в версии:

  • Изменения языка:
  • Анонимные наследуемые вызовы:
  • Старое поведение: анонимный унаследованный вызов мог вызвать любой метод в родительском классе, который принял аргументы, совместимые с параметрами текущего метода.
  • Новое поведение: анонимный унаследованный вызов гарантированно всегда вызывает метод в родительском классе, который был переопределен текущим.
  • Пример: см. http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp. В предыдущих версиях FPC унаследованный вызов в tc3.test вызывал бы tc2.test (b: byte; l: longint = 1234) ;. Теперь он вызывает tc.test.
  • Причина: соответствие документации FPC, совместимость с Delphi.
  • Устранение: если вы хотите, чтобы компилятор решил, какой метод вызывать на основе указанных параметров, используйте полностью указанное унаследованное выражение вызова, такое как унаследованный тест (b).
  • Модификатор перегрузки должен присутствовать в интерфейсе:
  • Старое поведение: было возможно объявить функцию / процедуру / метод как перегрузку только в реализации.
  • Новое поведение: если используется директива перегрузки, она также должна появляться в интерфейсе.
  • Причина: старый механизм может вызвать проблемы с поиском (в зависимости от того, была ли уже реализована реализация, компилятор будет обрабатывать процедуру, как если бы она была объявлена ​​с / без перегрузки), это может привести к нежелательной перекомпиляции юнитов для изменения интерфейса crc и совместимости с Delphi.
  • Устранение: убедитесь, что модификатор перегрузки присутствует как в интерфейсе, так и в реализации, если вы его используете.
  • Изменения в блоке:
  • Несколько методов изменения TDataset (TRecordBuffer):
  • Старое поведение: несколько (виртуальных) методов TDataset имеют параметры типа «pchar», которые часто называют «буфером».
  • Новое поведение: тип pchar был изменен на TRecordBuffer. В настоящее время этот тип по-прежнему является псевдонимом для символа p (ansi), но со временем он будет изменен на pbyte для ветки 2.7.1 / 2.8.0, совместимой с D2009 +.
  • Причина: подготовка к совместимости с Delphi 2009+ и улучшение общей типизации. В Delphi 2009+ (и полностью совместимые режимы FPC в будущем) pchar больше не указывает на байт. Это изменение будет объединено с 2.6 (.2), ​​но с TRecordBuffer = pchar.
  • Устранение: измените соответствующие виртуальные методы, чтобы использовать TRecordBuffer для параметров буфера. Определите TRecordBuffer = pansichar, чтобы поддерживать работу старых Delphis и FPC. В тех местах, где используется тип буфера, не используйте pchar, а символ TRecordbuffer.
  • DLLParam изменен с Longint на PtrInt:
  • Старое поведение: DLLParam имел тип Longint даже на Win64.
  • Новое поведение: теперь DLLParam имеет тип PtrInt, а также на 64-битных системах.
  • Причина: предотвращение потери данных, соответствие декларации в заголовках Windows.
  • Устранение: измените объявление процедур, используемых в качестве привязки dll, чтобы взять параметр PtrInt вместо Longint.
  • Некоторые символы в модулях Unix и Unixutils устарели:
  • Старое поведение: нет устаревшего предупреждения для unixutils.getfs (несколько вариантов), unix.fpsystem (только для версии с короткой строкой), Unix.MS_ константы и unix.tpipe. unix.statfs
  • Новое поведение: компилятор выдает устаревшее предупреждение для этих символов. В будущих версиях они могут быть удалены.
  • Причина: getfs был заменен полностью кросс-платформенной функцией sysutils.getfilehandle давно. fpsystem (shortstring) осталась без изменений 1.0.x- & gt; 2.0.x (поддерживается версия ansistring), константы MS_ - для вызова msync, который не поддерживается FPC, и поэтому он не использовался и не установлен для в течение десятилетия и может появиться в ядре 1.x раз, tpipe был псевдонимом 1.0.x базового элемента. TFildes, подразделение, в котором (fp) был перемещен во время серии 2.0. Unix.statfs - это перегруженная версия, которая не была должным образом переименована в префикс fp *, когда остальные были переименованы в 2.4.0.
  • Устранение: используйте новые варианты (sysutils.getfilehandle, fpsystem (ansistring), baseunix.tfildes). В случае констант MS_, получите текущие значения для констант из того же места, где вы получили код, который их использует.
  • Изменено поведение TStrings.DelimitedText (классы единиц):
  • Старое поведение: если StrictDelim истинно, TStrings.DelimitedText не полностью соответствует спецификации формата SDF (которая определена в справке Delphi), по крайней мере, в случае пробелов (и, предположительно, других символов с низким ASCII) спереди и в конце полей, а также кавычек и окончаний строк. Хуже того, если StrictDelimiter истинно, и в случаях, упомянутых выше, сохранение TString .DelimitedText и загрузка этого текста в другой TString приводят к различиям между ними. Примечание: StrictDelimiter по умолчанию имеет значение false.
  • Новое поведение: FPC следует за поведением Delphi.
  • Причина: согласованность (запись и чтение в DelimitedText должны приводить к тем же строкам), совместимость с Delphi (по спецификации SDF).
  • Устранение: просмотрите существующий код, который читает или пишет DelimitedText; при необходимости конвертировать данные или код конвертера записи. См. Тесты webtbs tw19610.pp для подробного теста.
  • fcl-image TTiffIDF переименован в TTiffIFD:
  • Старое поведение: класс-помощник tiff для каталога файлов изображений " был с ошибкой TiffIDF (единица tiffcmn)
  • Новое поведение: теперь переименовано в TTiffIFD
  • Причина: согласованность, низкое использование
  • Устранение: переименуйте идентификатор соответствующим образом.
  • unit libc выдает устаревшее предупреждение:
  • Старое поведение: в то время как устаревшие устаревшие модули libc не выдавали устаревшее предупреждение
  • Новое поведение: устаревшее предупреждение отображается при использовании элемента libc, призывая обновить его.
  • Причина: unit libc является устаревшим подразделением Kylix с ограниченной переносимостью
  • Устранение: используйте надлежащие блоки FPC, как описано в libc unit
  • Другое:
  • Поддержка UPX была удалена:
  • Старое поведение: в FPC Makefiles существовала некоторая поддержка UPX (исполняемый пакетщик), а выпуски DOS и Windows FPC включали двоичный файл UPX.
  • Новое поведение: все удалены.
  • Причина: Release binaries не были UPX'ed некоторое время. Размер исполняемых файлов FPC обычно незначителен в настоящее время по сравнению с общим размером установки, а использование UPX иногда вызывает некоторые незначительные неприятности (ложные срабатывания от антивирусных сканеров, ухудшение поведения подкачки ОС, несовместимость с определенными исполняемыми разделами ...)
  • Устранение: загрузите и установите UPX самостоятельно со своей домашней страницы и в целом переоцените необходимость в нем.

Что нового в версии 2.4.4:

  • Эта версия содержит большинство исправлений библиотек с начала июня 2010 года по март 2011 года.
  • Есть также некоторые исправления компилятора, большинство из которых относятся к 64-битным.

Что нового в версии 2.4.0:

  • Delphi как ресурсы для всех платформ,
  • >
  • Улучшение информации об отладке Dwarf,
  • Несколько новых целей
  • 64-разрядная Mac OS X (x86_64 / ppc64)
  • iPhone (Mac OS X / Arm)
  • Haiku (из семейства BeOS)
  • Улучшена поддержка ARM EABI.
  • Оптимизация всей программы
  • Множество исправлений для компилятора и полгода обновлений библиотек (начиная с версии 2.2.4).

Что нового в версии 2.2.4:

  • Все:
  • Экспериментальные пакеты-установочный инструмент
  • Пакеты:
  • Добавлена ​​поддержка чтения / записи TIFF в fcl-image
  • Усовершенствования и исправления в поддержке CHM
  • Исправлена ​​ссылка gtk2-пакета с версиями gtk выше 2.13.4
  • IDE:
  • Добавлена ​​поддержка файлов справки CHM

Похожие программы

Intel C++ Compiler
Intel C++ Compiler

20 Feb 15

GNU Binutils
GNU Binutils

17 Aug 18

motor
motor

3 Jun 15

Zsh
Zsh

17 Feb 15

Комментарии к Free Pascal Compiler

Комментарии не найдены
добавить комментарий
Включите картинки!