Free Pascal Compiler

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

Rating: 4.0/5 (Total Votes: 2)

Компілятор безкоштовних паскалів (також відомий як 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

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

JarBuilder
JarBuilder

2 Jun 15

Pyastra
Pyastra

3 Jun 15

HGL Suite
HGL Suite

17 Feb 15

Free Pascal Compiler

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