Free Pascal Compiler

Скріншот програми:
Free Pascal Compiler
Дані програми:
Версія: 3.0.4 оновлений
Дата завантаження: 22 Jun 18
Розробник: Daniel Mantione
Ліцензія: Безкоштовно
Популярність: 518

Rating: 4.3/5 (Total Votes: 3)

Компілятор безкоштовних паскалів (також відомий як FPK Pascal) - це компілятор з відкритим кодом Паскаль, який підтримує такі операційні системи: Linux, FreeBSD, NetBSD, MacOSX / Darwin, MacOS classic, DOS, Win32, OS / 2, BeOS, SunOS (Solaris), QNX та Classic Amiga.

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

Безкоштовний компілятор Pascal має дуже чисту мову, вона не використовує ніяких файлів Makefile, на відміну від більшості мов програмування, вона швидко з великою 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.
  • Засіб захисту: переконайтеся, що модифікатор перевантаження присутній як у інтерфейсі, так і в реалізації, якщо ви використовуєте його.
  • Зміни в блоці:
  • Деякі способи TDataet змінює підпис (TRecordBuffer):
  • Стара поведінка. Кілька (віртуальних) методів TDataset мають параметри типу & quot; pchar & quot ;, які часто називаються буфером & quot;.
  • Нова поведінка: тип 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 та 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
  • Нова поведінка: компілятор видає застарілі попередження для цих символів. У майбутніх версіях їх можна видалити.
  • Причина: gfs вже давно замінено цілком крос-платформенною функцією sysutils.getfilehandle. fpsystem (shortstring) була залишком міграції 1.0.x-> 2.0.x (версію ansistring підтримується), константи MS_ призначені для виклику msync, який не підтримується FPC, і, таким чином, були невикористані та не позначені для протягом десятиліття і може статися до ядра 1.x разів, tpipe - це псевдонім 1.0.x з baseunix.TFildes, одиниця, в якій (fp) труба була перенесена в протягом серії 2.0. Unix.statfs - це перевантажена версія, яка не була належним чином перейменована в префікс fp *, коли інші були перейменовані в 2.4.0
  • Засіб захисту: використовуйте нові варіанти (sysutils.getfilehandle, fpsystem (анстрінг), baseunix.tfildes). У випадку констант MS_, отримати поточні значення для констант з того самого місця, де ви отримали код, який їх використовує.
  • Змінено поведінку TStrings.DelimitedText (класи пристроїв):
  • Стара поведінка. Якщо StrictDelim є вірним, TStrings.DelimitedText не повністю відповідає специфікації формату SDF (яка визначена в довідці Delphi) принаймні у випадку пробілів (і, мабуть, інших символів низького ASCII) перед і в кінці полів, а також цитати та закінчення рядків. Гірше того, якщо StrictDelimiter є істинним, і в згаданих вище випадках, збереження TString .DelimitedText і завантаження цього тексту в інший TString призводять до відмінностей між двома. Примітка. За замовчуванням StrictDelimiter є помилковим.
  • Нова поведінка: FPC слідує за поведінкою Delphi.
  • Причина: Послідовність (написання та читання в DelimitedText повинні мати однакові рядки), сумісність Delphi (слідуючи специфікації SDF).
  • Спосіб усунення: перегляньте існуючий код, який читає або записує DelimitedText; при необхідності конвертувати дані або записати код перетворення. Детальний тест див. У тестах webtbs tw19610.pp.
  • fcl-image TTiffIDF перейменовано на TTiffIFD:
  • Стара поведінка: клас tiff helper для каталогу & quot; файл файлу зображень & quot; було помилково написано TiffIDF (tiffcmn unit)
  • Нова поведінка: тепер перейменовано в TTiffIFD
  • Причина: послідовність, низький рівень використання
  • Засіб відновлення: перейменуйте ідентифікатор відповідно.
  • модуль libc видає недійсне попередження:
  • Стара поведінка: незважаючи на те, що протягом багатьох років підрозділ libc не видавав застарілі попередження
  • Нова поведінка: при використанні модуля libc з'являється застаріле попередження, закликаючи вас до оновлення.
  • Причина: unit libc є усталеною одиницею Kylix із обмеженою переносимостью
  • Засіб захисту: Використовуйте відповідні пристрої FPC, як описано в блоці libc
  • Інше:
  • Підтримка UPX була знищена:
  • Стара поведінка: в FPC Makefiles була присутня деяка залишкова підтримка UPX (виконуваний пакет), а DOS та Windows FPC-версії містять двокористувацьку UPX.
  • Нова поведінка: все вилучено.
  • Причина: Випуск бінарних файлів UPX не було на деякий час. Розмір виконуваних файлів FPC зазвичай є незначним в ці дні в порівнянні з загальним розміром установки, а за допомогою UPX іноді виникає незначні неприємності (помилкові позитиви від вірусних сканерів, гірша поведінка ОС, несумісність з певними виконуваними розділами ...)
  • Спосіб вирішення: завантажте та встановіть UPX самостійно зі своєї домашньої сторінки та, загалом, переглядайте її потребу.

Що нового у версії 2.4.4:

  • Ця версія містить більшість виправлень бібліотеки з початку червня 2010 р. по березень 2011 р.
  • Також є деякі виправлення для компілятора, більшість із яких стосується 64-розрядних.

Що нового у версії 2.4.0:

  • Ресурси, подібні до Delphi, для всіх платформ
  • Покращення інформації про налагодження карликів
  • Кілька нових цілей
  • 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

Схожі програми

Retro
Retro

20 Feb 15

GCC UPC
GCC UPC

11 May 15

Avian
Avian

20 Feb 15

LavaPE
LavaPE

20 Feb 15

Free Pascal Compiler

Коментар не знайдено
додати коментар
Включіть картинки!