Free Pascal Compiler

Software screenshot:
Free Pascal Compiler
Software informatie:
Versie: 3.0.4 Bijgewerkt
Upload datum: 22 Jun 18
Ontwikkelaar: Daniel Mantione
Licentie: Gratis
Populariteit: 262

Rating: 4.0/5 (Total Votes: 2)

Gratis Pascal Compiler (ook bekend als FPK Pascal) is een opensource Pascal-compiler die de volgende besturingssystemen ondersteunt: Linux, FreeBSD, NetBSD, MacOSX / Darwin, MacOS classic, DOS, Win32, OS / 2, BeOS, SunOS (Solaris), QNX en Classic Amiga.

Gratis Pascal Compiler is beschikbaar voor verschillende processoren, Intel x86, Amd64 / x86 64, PowerPC, PowerPC64, Sparc en ARM.

Gratis Pascal Compiler beschikt over een zeer zuivere taal, gebruikt geen Makefiles in tegenstelling tot de meeste programmeertalen, het is snel met een grote F, elke eenheid heeft zijn eigen ID's (IDE, Integrated Development Environment).

Bovendien beschikt de software over een uitstekende integratie met assemblers, objectgeoriënteerd programmeren, smartlinking, distributieonafhankelijkheid en is deze compatibel met bestaande code.

Wat is nieuw in deze release:

  • Deze versie is een punt-update van 3.0 en bevat bugfixes en updatepakketten, waarvan sommige hoge prioriteit hebben.

Wat is nieuw in versie:

  • Taalwijzigingen:
  • Anonieme overgenomen berichten:
  • Oud gedrag: een anonieme geërfde aanroep kan doorschakelen naar elke methode in een bovenliggende klasse die argumenten accepteert die compatibel zijn met de parameters van de huidige methode.
  • Nieuw gedrag: een anonieme geërfde aanroep wordt gegarandeerd altijd doorgeschakeld naar de methode in een bovenliggende klasse die door de huidige is opgeheven.
  • Voorbeeld: zie http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp. In eerdere FPC-versies zou de overgeërfde aanroep in tc3.test doorgaan naar tc2.test (b: byte; l: longint = 1234) ;. Nu wordt doorgeschakeld naar tc.test.
  • Reden: Conform de FPC-documentatie, Delphi-compatibiliteit.
  • Oplossing: als u wilt dat de compiler bepaalt op welke methode moet worden gebeld op basis van de opgegeven parameters, gebruikt u een volledig opgegeven geërfde aanroepexpressie, zoals overgenomen test (b).
  • Er moet een overbelastingsmodifier aanwezig zijn in de interface:
  • Oud gedrag: het was mogelijk om een ​​functie / procedure / methode alleen als overbelasting te declareren in de implementatie.
  • Nieuw gedrag: als een overbelastingsrichtlijn wordt gebruikt, moet deze ook in de interface worden weergegeven.
  • Reden: het oude mechanisme kan moeilijk te vinden problemen veroorzaken (afhankelijk van het feit of de implementatie al was geparseerd, de compiler de routine zou behandelen alsof deze werd gedeclareerd met / zonder overbelasting), zou het ongewenste hercompilaties van eenheden kunnen veroorzaken om crc-wijzigingen en Delphi-compatibiliteit te koppelen.
  • Oplossing: zorg ervoor dat de overbelastingsmodifier zowel in de interface als in de implementatie aanwezig is als u deze gebruikt.
  • Eenheidswijzigingen:
  • Verschillende methoden van TDataset veranderen de handtekening (TRecordBuffer):
  • Oud gedrag: verschillende (virtuele) methoden van TDataset hebben parameters van het type "pchar", die vaak "buffer" worden genoemd.
  • Nieuw gedrag: het pchar-type is gewijzigd in TRecordBuffer. Op dit moment is dit type nog steeds een alias voor p (ansi) char, maar na verloop van tijd zal dit worden veranderd naar pbyte voor de 2.7.1 / 2.8.0-branch, die compatibel is met D2009 +.
  • Reden: voorbereiding op Delphi 2009+ compatibiliteit en verbetering van algemeen typen. In Delphi 2009+ (en in de toekomst volledig compatibele FPC-modi) is pchar niet meer naar byte. Deze wijziging wordt terug samengevoegd naar 2.6 (.2), ​​maar met TRecordBuffer = pchar.
  • Oplossing: wijzig de relevante virtuele methoden om TRecordBuffer te gebruiken voor bufferparameters. Definieer TRecordBuffer = pansichar om oudere Delphis en FPC's te laten werken. Op plaatsen waar een buffer wordt getypeerd, gebruik geen pchar maar het symbool TRecordbuffer.
  • DLLParam veranderd van Longint naar PtrInt:
  • Oud gedrag: DLLParam was van het type Longint, zelfs op Win64.
  • Nieuw gedrag: DLLParam is nu van het type PtrInt, dus ook op 64-bits systemen.
  • Reden: verlies van gegevens voorkomen, overeenkomen met de verklaring in de Windows-headers.
  • Oplossing: wijzig de declaratie van de procedures die als dll hook worden gebruikt om een ​​PtrInt-parameter in plaats van Longint te nemen.
  • Sommige symbolen in Unix en Unixutils zijn verouderd:
  • Oud gedrag: Geen verouderde waarschuwing voor unixutils.getfs (verschillende varianten), unix.fpsystem (alleen versie met korte reeks), Unix.MS_-constanten en unix.tpipe. unix.statfs
  • Nieuw gedrag: de compiler geeft een afgekeurde waarschuwing af voor deze symbolen. In toekomstige versies kunnen deze worden verwijderd.
  • Reden: getfs is lang geleden vervangen door een volledig cross-platform-functie sysutils.getfilehandle. fpsystem (shortstring) was een overblijfsel van de 1.0.x- & gt; 2.0.x-migratie (de ansistring-versie blijft ondersteund), de MS_-constanten zijn voor een msync-aanroep die niet wordt ondersteund door FPC en dus ongebruikt en uitgeschakeld zijn voor meer dan een decennium en zou kunnen dateren naar kernel 1.x keer, tpipe was de 1.0.x alias van baseunix.TFildes, de eenheid waar de (fp) pipe naar toe werd verplaatst tijdens 2.0 series. Unix.statfs is een overbelaste versie die niet correct werd hernoemd naar het voorvoegsel fp * toen de andere namen werden hernoemd in 2.4.0
  • Oplossing: gebruik de nieuwe varianten (sysutils.getfilehandle, fpsystem (ansistring), baseunix.tfildes). In het geval van de MS_-constanten, verkrijgt u huidige waarden voor de constanten op dezelfde plaats als waar u de code hebt gekregen die ze gebruikt.
  • TStrings.DelimitedText-gedrag gewijzigd (eenheidsklassen):
  • Oud gedrag: als StrictDelim waar is, volgde TStrings.DelimitedText niet volledig de SDF-indelingsspecificatie (die is gedefinieerd in Delphi help), tenminste in het geval van spaties (en vermoedelijk andere lage ASCII-tekens) vooraan en aan het einde van velden, evenals aanhalingstekens en regeluitgangen. Erger nog, als StrictDelimiter waar is, en in de hierboven genoemde gevallen, het opslaan van een TString .DelimitedText en het laden van die tekst in een andere TString-lead leidt tot verschillen tussen beide. Opmerking: StrictDelimiter is standaard false.
  • Nieuw gedrag: FPC volgt Delphi-gedrag.
  • Reden: consistentie (uitschrijven en lezen in DelimitedText zou moeten resulteren in dezelfde strings), Delphi-compatibiliteit (volgens de SDF-specificatie).
  • Oplossing: controleer uw bestaande code die DelimitedText leest of schrijft; converteer indien nodig gegevens of schrijf conversiecode. Zie tests webtbs tw19610.pp voor een gedetailleerde test.
  • fcl-afbeelding TTiffIDF hernoemd naar TTiffIFD:
  • Oud gedrag: de tiff-helperklasse voor de map 'image file' & quot; was verkeerd gespeld TiffIDF (tiffcmn-eenheid)
  • Nieuw gedrag: nu hernoemd naar TTiffIFD
  • Reden: consistentie, laag gebruik
  • Oplossing: wijzig de naam van de identifier in voorkomend geval.
  • unit libc geeft een verouderde waarschuwing af:
  • Oud gedrag: Hoewel de libc-eenheid al jaren niet meer werd gebruikt, gaf deze geen afgekeurde waarschuwing
  • Nieuw gedrag: er wordt een verouderde waarschuwing weergegeven als unit libc wordt gebruikt, waardoor u wordt aangespoord om bij te werken.
  • Reden: unit libc is een Kylix-legacy-unit met beperkte draagbaarheid
  • Oplossing: gebruik de juiste FPC-eenheden zoals beschreven in libc-eenheid
  • Overig:
  • UPX-ondersteuning is verwijderd:
  • Oud gedrag: er was wat overgebleven UPX-ondersteuning (een uitvoerbare packer) in de FPC Makefiles en DOS- en Windows FPC-releases bevatten een UPX-binair bestand.
  • Nieuw gedrag: alles verwijderd.
  • Reden: binaire bestanden van de release zijn een tijdje niet UPX'ed. De omvang van de FPC-uitvoerbare bestanden is over het algemeen niet significant vergeleken met de totale installatiegrootte, en het gebruik van UPX veroorzaakt incidenteel enkele kleine ergernissen (valse positieven van virusscanners, slechter paging-gedrag van het besturingssysteem, incompatibiliteit met bepaalde uitvoerbare secties, ...)
  • Oplossing: download en installeer UPX zelf vanaf de startpagina en herevalueer in het algemeen opnieuw de noodzaak ervan.

Wat is nieuw in versie 2.4.4:

  • Deze versie bevat de meeste bibliotheekreparaties van begin juni 2010 tot maart 2011.
  • Er zijn ook enkele compileeroplossingen, waarvan de meeste betrekking hebben op 64-bits.

Wat is nieuw in versie 2.4.0:

  • Delphi-achtige bronnen voor alle platforms,
  • Foutverbetering van debug-informatie,
  • Verschillende nieuwe doelen
  • 64-bits Mac OS X (x86_64 / ppc64)
  • iPhone (Mac OS X / Arm)
  • Haiku (van de BeOS-familie)
  • Verbeterde ARM EABI-ondersteuning
  • Hele programma-optimalisatie
  • Veel compiler-bugfixes en een half jaar bibliotheekupdates (sinds 2.2.4)

Wat is nieuw in versie 2.2.4:

  • Alle:
  • Experimentele pakketten-installatieprogramma
  • Pakketten:
  • Ondersteuning toegevoegd voor lezen / schrijven TIFF in fcl-image
  • Verbeteringen en oplossingen in CHM-ondersteuning
  • Vaste koppeling van het gtk2-pakket met gtk-versies boven 2.13.4
  • IDE:
  • Ondersteuning voor CHM-helpbestanden toegevoegd

Vergelijkbare software

Chicken
Chicken

17 Jul 15

purepy
purepy

14 Apr 15

Polygen
Polygen

3 Jun 15

Flapjax
Flapjax

3 Jun 15

Reacties op Free Pascal Compiler

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!