Free Pascal Compiler (eli FPK Pascal) on avoimen lähdekoodin Pascal-kääntäjä, joka tukee seuraavia käyttöjärjestelmiä: Linux, FreeBSD, NetBSD, MacOSX / Darwin, MacOS classic, 2, BeOS, SunOS (Solaris), QNX ja Classic Amiga.
Free Pascal Compiler on saatavilla eri prosessoreille Intel x86, Amd64 / x86 64, PowerPC, PowerPC64, Sparc ja ARM.
Free Pascal Compiler on erittäin puhdas kieli, se ei käytä Makefileja toisin kuin useimmat ohjelmointikielet, se on Nopea iso F: llä, kaikilla yksiköillä on omat tunnisteet ja IDE (Integrated Development Environment).
Lisäksi ohjelmistolla on erinomaiset integraatiot asentajien kanssa, esineohjelmasuunnittelu, älykäs liittäminen ja jakelu riippumattomuus. Se on yhteensopiva nykyisen koodin kanssa.
Uutta strong> julkaisu:
- Tämä versio on pisteestä päivitetty versioon 3.0 ja sisältää vikakoodeja ja päivityksiä, joista osa on tärkeä prioriteetti.
Uutta strong> versiona:
- Kielen muutokset:
- Anonyymi peritty puhelu:
- Vanha käyttäytyminen: Nimenomai- nen peritty puhelu voi soittaa mihin tahansa pääluokassa olevaan menetelmään, joka hyväksyi argumentit, jotka ovat yhteensopivia nykyisen menetelmän parametrien kanssa.
- Uusi käyttäytyminen: Anonyymi peritty puhelu taataan aina kutsumalla meneillään olevalle ylätunnisteen pääluokan luokalle.
- Esimerkki: Katso http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp. Aikaisemmissa FPC-versioissa peritty puhelu tc3.test: ssä kutsuisi tc2.test (b: byte; l: longint = 1234) ;. Nyt se vaatii tc.test.
- Perustelu: FPC-dokumentaation mukainen, Delphi-yhteensopivuus.
- Korjaus: Jos haluat, että kääntäjä päättää, minkä menetelmän haluat soittaa määritettyjen parametrien perusteella, käytä täysin määriteltyä perittyä kutsumerkkiä, kuten peritty testi (b).
- Liittimessä on oltava ylikuormituksen muunnin:
- Vanha käyttäytyminen: Toiminnon / menettelyn / menetelmän ilmoittaminen ylikuormitukseksi oli vain toteutuksessa.
- Uusi käyttäytyminen: Jos käytössä on ylikuormitusdirektiivi, sen on myös näytettävä käyttöliittymässä.
- Syy: Vanha mekanismi voi aiheuttaa vaikeita ongelmia (riippuen siitä, onko toteutus jo jäsennetty, kääntäjä käsittelisi rutiinia ikään kuin julistettaisiin / ylikuormittumatta), se saattaa aiheuttaa ei-toivottuja yksikkötyyppisiä kompostoreita rajapinnan crc-muutoksia ja Delphi-yhteensopivuutta.
- Korjaus: Varmista, että ylikuormituksen muokkaaja on käyttöliittymässä ja toteutuksessa, jos käytät sitä.
- Yksikkömuutokset:
- Useat TDataset-menetelmän muutokset allekirjoitetaan (TRecordBuffer):
- Vanha käyttäytyminen: Useilla (virtuaalisilla) TDataset-menetelmillä on tyypin "pchar" -parametreja, joita usein kutsutaan "puskuriksi".
- Uusi käyttäytyminen: pchar-tyyppiä on muutettu TRecordBufferiksi. Tällä hetkellä tämä tyyppi on vielä alias p (ansi) char, mutta ajoissa se muuttuu pbyte varten 2.7.1 / 2.8.0 haara, joka on D2009 + yhteensopiva.
- Syy: Valmistelu Delphi 2009+ -yhteensopivuudesta ja yleisen kirjoittamisen parantamisesta. Delphi 2009+ (ja täysin yhteensopivat FPC-tilat tulevaisuudessa) pchar ei osoita tavua enää. Tämä muutos sulautetaan takaisin 2.6 (.2): ksi, mutta TRecordBuffer = pchar.
- Korjaus: Muuta asiaankuuluvat virtuaaliset menetelmät käyttämään TRecordBufferia puskuriparametreille. Määritä TRecordBuffer = pansichar, jotta vanhemmat Delphis ja FPCs toimisivat. Paikoissa, joissa puskuria ei ole kirjoitettu, älä käytä pchar vaan symbolia TRecordbuffer.
- DLLParam muuttui Longintista PtrIntiksi:
- Vanha käyttäytyminen: DLLParam oli tyyppiä Longint jopa Win64: ssä.
- Uusi käyttäytyminen: DLLParam on nyt tyyppi PtrInt joten myös 64-bittisissä järjestelmissä.
- Syy: estää tietojen menettäminen, vastaa ilmoitusta Windows-otsikoissa.
- Korjaus: Muuta Dll-koukkuun käytettyjen menettelyjen ilmoittamista Pintti-parametrin ottamiseksi käyttöön Longintin sijaan.
- Joitakin Unix- ja Unixutil-yksiköiden tunnuksia on vanhentunut:
- Vanha käyttäytyminen: Unixutils.getfs (useita vaihtoehtoja), unix.fpsystem (vain lyhytnimi versio), Unix.MS_ vakiot ja unix.tpipe ei ole vanhentunut varoitus. unix.statfs
- Uusi käyttäytyminen: kääntäjä lähettää kyseisille symboleille vanhentuneen varoituksen. Tulevissa versioissa ne voidaan poistaa.
- Syy: getfs on korvattu kokonaan cross-platform-toiminnolla sysutils.getfilehandle kauan sitten. fpsystem (shortstring) oli 1.0.x-> 2.0.x-siirtymän jäljellä (ylläpidevästelmä on tuettu), MS_-vakiot ovat msync-puhelulle, jota FPC ei tue, joten niitä ei ole käytetty eikä niitä ole valittu yli kymmenen vuotta ja saattaa päivittyä ytimeen 1.x kertaa, tpipe oli baseunix.TFildesin 1,0.x alias, yksikkö, johon (fp) putki siirrettiin 2.0-sarjan aikana. Unix.statfs on ylikuormitettu versio, jota ei ole nimetty oikein fp * -otsakkeeseen, kun muut nimitykset on nimetty 2.4.0
- Korjaus: Käytä uusia versioita (sysutils.getfilehandle, fpsystem (ansistring), baseunix.tfildes). MS_-vakioiden tapauksessa hankkia nykyiset arvot vakioille samasta paikasta, jossa saat koodin, joka käyttää niitä.
- TStrings.DelimitedText käyttäytyminen muuttui (yksikköluokat):
- Vanha käyttäytyminen: Jos StrictDelim on totta, TStrings.DelimitedText ei täysin noudattanut SDF-formaatin eritelmää (joka määritellään Delphi-ohjeessa) vähintään tilojen (ja oletettavasti muiden alhaisten ASCII-merkkien) kohdalla edessä ja lopussa kenttiä sekä lainauksia ja rivin päättymistä. Mikä pahempaa, jos StrictDelimiter on totta, ja edellä mainituissa tapauksissa, tallentaminen TString .DelimitedText ja lataamalla tekstin toisessa TString johtaa eroja näiden kahden välillä. Huomaa: StrictDelimiter on oletuksena väärä.
- Uusi käyttäytyminen: FPC seuraa Delphi-käyttäytymistä.
- Syy: Johdonmukaisuus (DelimitedTextin kirjoittaminen ja lukeminen saattavat johtaa samoihin merkkijonoihin), Delphi-yhteensopivuus (SDF-määrityksen jälkeen).
- Korjaus: Tarkastele olemassa olevaa koodia, joka lukee tai kirjoittaa DelimitedTextin; tarvittaessa muunna dataa tai kirjoittaa muunninkoodia. Katso testit webtbs tw19610.pp yksityiskohtaisesta testistä.
- fcl-image TTiffIDF nimettiin TTiffIFD: ksi:
- Vanhat käyttäytymiset: TIFF-apulaitteen luokka "kuvatiedoston hakemistoon" kirjoitettiin väärin TiffIDF (tiffcmn yksikkö)
- Uusi käyttäytyminen: Nyt nimeksi TTiffIFD
- Syy: Johdonmukaisuus, vähäinen käyttö
- Korjaus: Nimeä uudelleen tunniste tarvittaessa.
- yksikkö libc antaa vanhentuneen varoituksen:
- Vanha käyttäytyminen: Vaikka libc-yksikkö ei vuosien ajan ollut vanhentunut, se ei antanut vanhentuneita varoituksia
- Uusi käyttäytyminen: Näytössä näkyy vanhentunut varoitus, kun yksikköä libc käytetään, kehottaen sinua päivittämään.
- Syy: yksikkö libc on Kylixin entinen yksikkö, jolla on rajoitettu siirrettävyys
- Korjaus: Käytä asianmukaisia FPC-yksiköitä kuten libc-yksikössä on kuvattu
- Muut:
- UPX-tuki on poistettu:
- Vanhat käyttäytymiset: FPC: n Makefiles -versioissa oli jäljellä oleva ylimääräinen UPX (executable packer) -tuki, ja DOS- ja Windows FPC -versioihin sisältyi UPX-binääri.
- Uusi käyttäytyminen: kaikki poistettu.
- Syy: Release binaries ei ole ollut UPX'ed jonkin aikaa. FPC-tiedostojen koko on yleensä merkityksetön näinä päivinä verrattuna koko asennuskokoon, ja UPX: n käyttö aiheuttaa satunnaisesti pieniä häiriöitä (vääriä positiivisia virustentorjuntaohjelmistoista, OS: n huonommat sivukäyttäytyminen, yhteensopimattomuus tiettyjen suoritettavien osien kanssa ...)
- Korjaus: Lataa ja asenna UPX itsesi kotisivultaan ja yleensä uudelleenarvioi sen tarve.
Uutta strong> versiossa 2.4.4:
- Tämä versio sisältää useimmat kirjaston korjaukset kesäkuun 2010 maaliskuusta 2011 alkaen.
- Mukana on myös joitain kääntäjän korjauksia, joista suurin osa liittyy 64-bittisiin.
Uutta strong> versiossa 2.4.0:
- Delphi kuten resurssit kaikille alustoille
- Kääreen virheenkorjaustietojen parannukset,
- Useita uusia tavoitteita li>
- 64-bittinen Mac OS X (x86_64 / ppc64)
- iPhone (Mac OS X / Arm)
- Haiku (BeOS-perheestä)
- Parempi ARM EABI -tuki
- Koko ohjelman optimointi
- Useat kääntäjän bugikorotukset ja puoli vuotta kirjaston päivityksiä (vuodesta 2.2.4)
- Koekappaleet-asennus -työkalu
- Paketit:
- Lisätty TIFF-lukemisen / kirjoittamisen tuki fcl-kuvaan
- Parannukset ja korjaukset CHM-tuki
- gtk2-paketin yhdistäminen gtk-versioihin, jotka ovat edellä 2.13.4
- IDE:
- Lisätty tuki CHM-ohjetiedostoille
Uutta strong> versiossa 2.2.4:
Kommentteja ei löytynyt