Free Pascal Compiler

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

Rating: 4.0/5 (Total Votes: 2)

Свободен Pascal Compiler (известен още като FPK Pascal) е компилатор с отворен код Pascal, който поддържа следните операционни системи: Linux, FreeBSD, NetBSD, MacOSX / 2, BeOS, SunOS (Solaris), QNX и Classic Amiga.

Free Pascal Compiler е достъпен за различни процесори Intel x86, Amd64 / x86 64, PowerPC, PowerPC64, Sparc и ARM.

Free Pascal Compiler разполага с много чист език, не използва Makefiles за разлика от повечето езици за програмиране, бърз е с голям F, всяко устройство има свои собствени идентификатори и включва IDE (Integrated Development Environment).

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

Какво ново версия:

  • Тази версия е актуализация на точка 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) char, но във времето ще бъде променен на pbyte за клон 2.7.1 / 2.8.0, съвместим с D2009 +.
  • Причина: Подготовка за съвместимост с Delphi 2009+ и подобряване на общото типизиране. В Delphi 2009+ (и напълно съвместими FPC режими в бъдеще) pchar не е пойнтер към байт вече. Тази промяна ще бъде обединена отново в 2.6 (.2), ​​но с TRecordBuffer = pchar.
  • Решение: Променете съответните виртуални методи, за да използвате TRecordBuffer за буферни параметри. Определете TRecordBuffer = pansichar, за да запазите по-старите Delphis и FPCs работещи. В местата, където се изписва буфер, не използвайте 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 е заменен от напълно cross-platform платформа sysutils.getfilehandle отдавна. fpsystem (shortstring) е остатък от миграцията 1.0.x-> 2.0.x (асистиращата версия остава поддържана), константите MS_ са за msync повикване, което не се поддържа от FPC и по този начин не е използвано и не е отметнато за в продължение на десетилетие и може да е на ядрото 1.x пъти, tpipe е 1.0.x псевдоним на baseunix.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 води до различия между двете. Забележка: StrictDelimer е по подразбиране фалшив.
  • Ново поведение: FPC следва поведението на Delphi.
  • Причина: Съгласуваността (изписването и четенето в DelimitedText би трябвало да доведе до същите струни), Delphi съвместимост (съгласно спецификацията на SDF).
  • Отстраняване: Прегледайте съществуващия си код, който чете или пише DelimitedText; ако е необходимо, да конвертирате данни или да напишете код на конвертора. Вижте тестове webtbs tw19610.pp за подробно тестване.
  • fcl-image TTiffIDF преименувано на TTiffIFD:
  • Старо поведение: Класът helper на TIFF за директорията "image file" беше погрешно изписан TiffIDF (tiffcmn единица)
  • Ново поведение: сега е преименувано на TTiffIFD
  • Причина: Последователност, ниска употреба
  • Решение: Преименувайте идентификатора според нуждите.
  • единица libc издава отхвърлено предупреждение:
  • Старо поведение: Докато е оттеглено от години, единицата libc не издава отхвърлено предупреждение
  • Ново поведение: Когато се използва единица libc, се показва отхвърлено предупреждение, което ви подканва да актуализирате.
  • Причина: единицата libc е наследник на Kylix, с ограничена преносимост
  • Отстраняване: Използвайте подходящи FPC устройства, както е описано в блока libc
  • Други:
  • Поддръжката на UPX е премахната:
  • Старо поведение: В FPC Makefiles имаше известна поддръжка за UPX (изпълним пакет), а версиите DOS и Windows FPC съдържаха UPX двоично.
  • Ново поведение: Всички са премахнати.
  • Причина: Бинарните файлове за пускане не са UPX'ed за известно време. Размерът на изпълнимите файлове на FPC обикновено е незначителен в сравнение с общия размер на инсталацията и използването на UPX от време на време причинява някои малки неприятности (фалшиви положителни резултати от вирусните скенери, по-лошо поведение при пейджинг от операционната система, несъвместимост с определени изпълними секции ...)
  • Отстраняване: Изтеглете и инсталирайте UPX от началната си страница и като цяло преоценете нуждата от него.

Какво е новото във версия 2.4.4:

  • Тази версия съдържа повечето корекции на библиотеките от началото на юни 2010 г. до март 2011 г.
  • Съществуват и някои корекции на компилаторите, повечето свързани с 64-битови.

Какво е новото във версия 2.4.0:

  • >
  • Подобряване на информацията за отстраняване на грешки на джуджета
  • Няколко нови цели
  • 64-битов Mac OS X (x86_64 / ppc64)
  • iPhone (Mac OS X / Arm)
  • Хайку (от семейство BeOS)
  • Подобрена поддръжка на ARM EABI
  • Цялостна оптимизация на програмата
  • Много корекции на бъгове за компилатори и половин година актуализации на библиотеките (от 2.2.4)

Какво е новото във версия 2.2.4:

  • Експериментални пакети - инструмент за инсталиране
  • Пакети:
  • Добавена е поддръжка за четене / писане на TIFF в fcl-image
  • Подобрения и поправки в поддръжката на CHM
  • Фиксирано свързване на gtk2-пакета с версии gtk над 2.13.4
  • IDE:
  • Добавена е поддръжка за файловете за помощ за CHM
  • Подобен софтуер

    GromJS
    GromJS

    20 Feb 15

    Smake
    Smake

    20 Feb 15

    gears-less
    gears-less

    20 Feb 15

    Octave
    Octave

    2 Jun 15

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

    Коментари не е намерена
    добавите коментар
    Включете на изображения!