A Free Pascal Compiler (más néven FPK Pascal) egy nyílt forráskódú Pascal fordító, amely a következő operációs rendszereket támogatja: Linux, FreeBSD, NetBSD, MacOSX / Darwin, MacOS classic, DOS, 2, BeOS, SunOS (Solaris), QNX és Classic Amiga.
A Free Pascal Compiler az Intel x86, az Amd64 / x86 64, a PowerPC, a PowerPC64, a Sparc és az ARM processzorok számára elérhető.
A Free Pascal Compiler egy nagyon tiszta nyelvvel rendelkezik, a Makefile-eket nem a legtöbb programozási nyelvvel ellentétben használja, a Fast egy nagy F-vel, minden egységnek saját azonosítója van, és tartalmaz egy IDE-t (integrált fejlesztési környezet).
Továbbá a szoftver nagyszerű integrációt kínál az összeszerelőkkel, objektumorientált programozással, intelligens összeköttetéssel és disztribúcióval, és kompatibilis a meglévő kóddal.
Újdonság kiadás:
- Ez a verzió 3,0 pontértékű frissítés, és hibajavításokat és frissítési csomagokat tartalmaz, amelyek közül néhány kiemelt fontosságú.
Újdonság a verzióban:
- Nyelvváltás:
- Anonim örökölt hívások:
- Régi viselkedés: Egy névtelen örökölt hívás bármely szülőosztálybeli módszerhez folyamodhat, amely elfogadta az aktuális módszer paramétereinek megfelelő argumentumokat.
- Új viselkedés: Egy névtelen örökölt hívás garantáltan mindig átirányítja a folyamatot egy olyan szülőkategóriában, amelyet az aktuálisan felülírtak.
- Példa: Lásd http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp. Az előző FPC verziókban a tc3.test örökölt hívása a tc2.test (b: byte; l: longint = 1234); Most hívja át a tc.test-et.
- Ok: Megfelel az FPC dokumentációjának, Delphi-kompatibilitás.
- Megoldás: Ha azt szeretné, hogy a fordító eldöntsék, hogy a megadott paraméterek alapján mely hívási mód legyen, használjon teljesen meghatározott örökölt hívásleírást, például az örökölt tesztet (b).
- Túlterhelés-módosítóknak az interfészen belül kell lenniük:
- Régi viselkedés: A funkciót / eljárást / módszert csak túlterhelésként deklarálhatta a végrehajtás.
- Új viselkedés: Ha túlterhelés-irányítást használ, akkor a felületen is megjelennie kell.
- Ok: A régi mechanizmus nehézséget okozhat problémákat okozni (attól függően, hogy a megvalósítás már megtörtént-e, a fordító úgy fogja kezelni a rutint, mintha túlterhelés nélkül lenne bejelentve), nemkívánatos egységösszetételeket okozhat a crc módosítása és a Delphi kompatibilitása.
- Megoldás: Győződjön meg róla, hogy a túlterhelés-módosítók mind a kezelőfelületen, mind a megvalósításban jelen vannak, ha használja.
- Egységváltozások:
- A TDataset számos módszere megváltoztatja az aláírást (TRecordBuffer):
- Régi viselkedés: A TDataset több (virtuális) módszere a "pchar" típusú paraméterek, amelyeket gyakran "puffer" -nek neveznek.
- Új viselkedés: A pchar típus TRECORDBUFFER-re változott. Jelenleg ez a típus még mindig p (ansi) char karakter alias, de idõben a 2.7.1 / 2.8.0 ághoz pbyte változik, amely D2009 + kompatibilis.
- Indokolás: A Delphi 2009 + kompatibilitás előkészítése és az általános gépelés javítása. A Delphi 2009+ (és a jövőben teljes mértékben kompatibilis FPC módok) a pchar többé nem mutatója a bájtnak. Ez a változás 2.6-ra (.2), de a TRecordBuffer = pchar-val lesz összeolvadva.
- Megoldás: Módosítsa a megfelelő virtuális módszereket a TRecordBuffer puffer paraméterek használatára. Definiálja a TRecordBuffer = pansichar-ot, hogy a régi Delphis és FPC-k működjenek. Olyan helyeken, ahol a puffert tipizálják, ne használja a pchar-ot, hanem a TRecordbuffer szimbólumot.
- A DLLParam Longintről PtrIntre változott:
- Régi viselkedés: A DLLParam még a Win64 típuson is a Longint típus volt.
- Új viselkedés: A DLLParam jelenleg PtrInt típusú, így 64 bites rendszereken is.
- Indok: Az adatvesztés megakadályozása, a deklarációnak a Windows fejlécekben való megfelelése.
- Megoldás: Módosítsa a Dll-hurokként használt eljárások deklarációját a PintInt paraméter helyett a Longint helyett.
- Néhány szimbólum a Unix és Unixutils egységben elavult:
- Régi viselkedés: Unixutils.getfs (több változat), unix.fpsystem (csak shortstring változat), Unix.MS_ állandók és unix.tpipe nem elbocsátható figyelmeztetés. unix.statfs
- Új viselkedés: A fordító elavult figyelmeztetést ad ki ezekre a szimbólumokká. A jövőbeni verziókban ezek eltávolíthatók.
- Indoklás: A getfs-et helyettesítette egy teljesen cross-platform függvény sysutils.getfilehandle régen. Az fpsystem (shortstring) az 1.0.x-> 2.0.x migráció maradt (a megfelelő változat továbbra is támogatott), az MS_ állandók olyan msync hívásokhoz tartoznak, amelyeket az FPC nem támogat, ezért nem használtak és nem voltak ellenőrizve több mint egy évtizede, és az 1.x-es rendszermaghoz érkezhet, a tpipe volt a baseunix.TFildes 1.0.x aliasja, ahol az (fp) cső a 2.0 sorozat alatt került át. A Unix.statfs egy túlterhelt változat, amelyet nem neveztünk át megfelelően fp * előtagra, amikor a többiek át lettek nevezve a 2.4.0-ben
- Megoldás: Használja az új változatokat (sysutils.getfilehandle, fpsystem (ansistring), baseunix.tfildes). Az MS_ konstansok esetében meg kell szerezni a konstansok aktuális értékeit ugyanazon a helyen, ahol a kódot használta.
- TStrings.DelimitedText viselkedése megváltozott (egységosztályok):
- Régi viselkedés: Ha a StrictDelim igaz, a TStrings.DelimitedText nem követi teljes mértékben az SDF formátum specifikációt (amely a Delphi súgóban van meghatározva) legalább szóközökkel (és feltételezhetően más alacsony ASCII karakterekkel) a front és a végén a mezők, valamint az idézőjelek és a sor véget. Rosszabb, ha a StrictDelimiter igaz, és a fent említett esetekben egy TString .DelimitedText mentése és egy másik TString szöveg betöltése a kettő közötti különbségekhez vezet. Megjegyzés: A StrictDelimiter alapértelmezés szerint hamis.
- Új viselkedés: az FPC követi a Delphi viselkedését.
- Indokolás: konzisztencia (a DelimitedText-ben történő írás és olvasás ugyanazt a sztringet eredményezi), Delphi kompatibilitás (az SDF specifikáció után).
- Megoldás: Tekintse át a meglévő kódot, amely a DelimitedText-et olvassa vagy írta; ha szükséges, adatokat konvertál vagy írja a konverter kódját. Tekintse meg a tesztek webtbs tw19610.pp részletes vizsgálatot.
- fcl-image TTiffIDF TTiffIFD-re átnevezve:
- Régi viselkedés: A tiff helper osztály a "képfájl könyvtár" a TiffIDF (tiffcmn egység) hibásan írta le
- Új viselkedés: most átnevezve TTiffIFD-re
- Ok: konzisztencia, alacsony használat
- Megoldás: Adja meg újra az azonosítót.
- A libc egység egy elavult figyelmeztetést ad:
- Régi viselkedés: Bár évek óta elavult, a libc egység nem adott ki egy elavult figyelmeztetést
- Új viselkedés: Egy elavult figyelmeztetés jelenik meg, amikor a rendszer libc-t használ, sürgetve a frissítést.
- Indok: egység libc egy Kylix örökölt egység, korlátozott hordozhatósággal
- Megoldás: Használja a megfelelő libadobozokat a libc egységben leírtak szerint
- Egyéb:
- A UPX támogatás eltávolítása:
- Régi viselkedés: Az FPC Makefile-ekben maradt fennmaradó UPX (végrehajtható csomagoló) támogatás, a DOS és Windows FPC kiadások tartalmaztak egy UPX binárt.
- Új viselkedés: Minden eltávolítva.
- Ok: A binárisok kiadása egy ideje nem volt UPX'ed. Az FPC-fájlok méretaránya általában nem számottevő a teljes telepítési mérethez képest, és az UPX használatával néha kisebb zavarok jelentkeznek (hamis víruskeresők, rosszabb személyhívó viselkedés az operációs rendszertől, bizonyos végrehajtható részek összeférhetetlensége ...)
- Megoldás: Töltse le és telepítse az UPX-t saját honlapjáról, és általánosságban újraértékelje annak szükségességét.
Az újdonság a 2.4.4-es verzióban:
- Ez a verzió a legtöbb könyvtárjavítást tartalmazza 2010 júniusától 2010 márciusáig.
- Bizonyos fordítójavítások is léteznek, a legtöbb 64 bites.
Az újdonság a 2.4.0-es verzióban:
- Delphi mint erőforrások minden platformon
- Törpe hibakeresési információk javítása,
- Több új cél
- 64 bites Mac OS X (x86_64 / ppc64)
- iPhone (Mac OS X / Karm)
- Haiku (a BeOS családból)
- Javított ARM EABI támogatás
- Teljes programoptimalizálás
- Számos fordítójavító hiba és a könyvtárfrissítések fél éve (2.2.4 óta)
Az újdonság a 2.2.4-es verzióban:
- Kísérleti csomagok - telepítési eszköz
- Csomagok:
- Hozzáadta a TIFF olvasás / írás támogatását fcl-image-ben
- Javítások és javítások a CHM-támogatásban
- A gtk2-csomagot a 2.13.4 fölötti gtk verziókkal rögzített módon kötötte össze.
- IDE:
- Hozzáadta a CHM súgófájljainak támogatását
Hozzászólás nem található