WikiDer > Frei Pascal

Free Pascal
Frei Pascal
Free Pascal 2.3.1 auf einem 64-Bit-Windows
EntwicklerFlorian Klämpfl und Freiwillige
Letzte Version3.2.0 
(19. Juni 2020)
StatusAktiv
BetriebssystemMultiplattform
KategorieCompiler
LizenzGPL
Versionskontrollesvn.freepascal.org
Webseite(und) Projektseite
Portal  Portalsymbol  Informatik
Gratis Software
Die Free Pascal-IDE für Linux. Der Computer ist für den Einsatz im Nationale Olympiade in Informatik (China).

Frei Pascal (abgekürzt FPC) ist ein kostenlos, tragbar und Open Source-Compiler vor dem Pascal und Objekt Pascal. Es ist ein 32/64-Bit-Compiler mit Unterstützung für mehrere Prozessorarchitekturen und Betriebssysteme. Der Compiler implementiert Borlands Pascal-Dialekte (Turbo-Pascal und Delphi, sowie einige Mac Pascal-Konstrukte und ist für die meisten gängigen Betriebssysteme verfügbar.

Free Pascal war bekannt als FPK Pascal, wobei die Buchstaben für die Initialen des Autors standen Florian Paul Klämpfl. Ende 1997 wurde der Name in . geändert Kostenloser Pascal-Compiler, abgekürzt mit FPC.

Funktionen

Free Pascal kommt mit a Textmodus-IDE ähnlich der von Turbo Pascal (Turbo-Vision). Diese IDE verfault eine Zeit (bisschen rot) weil es nicht gepflegt wurde.

Die Zusammenarbeit in der zweiten Hälfte des Jahres 2005 und in den ersten Monaten des Jahres 2006 löste die meisten der größeren Probleme und machte die IDE-Veröffentlichung wieder würdig.

Wie Turbo Pascal und Delphi bietet Free Pascal eine hervorragende Unterstützung für die Integration von Assemblersprachen im Pascal/Object Pascal-Code. Free Pascal unterstützt verschiedene Architekturen und Notationen im internen Assembler.

Die grafischen Teile der Delphi-Bibliotheken (die VCL und Entwicklung einer Grafik IDE und Schnelle Anwendungsentwicklung) sind Teil eines separaten Projekts namens Lazarus.

Sprachdialekt

Free Pascal hat die de facto übernommene Standarddialekte moderner Pascal-Programmierer: de Borland-Dialekte. Seit Version 2.0 haben wir kontinuierlich an der Kompatibilität zu Delphi 7 gearbeitet.

Das Projekt hat ein Kompilierungsmodus-Konzept, und die Entwickler haben deutlich gemacht, dass sie funktionierende Patches für die ANSIA- und ISO-default-Dialekte, um dem Projekt Unterstützung für einen Standardmodus hinzuzufügen.

Es wurde versucht, einen Teil der Syntax von Apples Pascal-Dialekt, um die Interaktion mit Mac OS und Mac OS X beruhigen. Da dieser Dialekt einige Standard-Pascal-Funktionen implementiert, die in Turbo Pascal und Delphi nicht verfügbar sind, ist Free Pascal ISO-konformer als diese anderen.

Mit der 2.2er-Reihe hat sich an den Dialektzielen wenig geändert (insbesondere Kompatibilität zu Delphi 7). Stattdessen hat Kompatibilität Priorität. Fehlende Delphi-Funktionalität, nämlich Compiler-Unterstützung zum Exportieren von Klassen aus gemeinsam genutzte Bibliotheken (Shared Libraries), was z.B. Lazarus, dass Pakete von Komponenten implementiert.

Geschichte

Der Anfang

Free Pascal tauchte dann auf Borland machte klar, dass es keine gibt Borland Pascal 8 kam, und die nächste Versionssingle Fenster würde unterstützen (das wurde später Delphi).

Florian Paul Klämpfl, damals Student, begann an seinem eigenen Compiler zu arbeiten. Der Compiler wurde von Anfang an im Turbo-Pascal-Dialekt geschrieben und generiert 32-BitCode für go32v1 Extender, die dann verwendet und entwickelt wurde von der DJGPP-Projekt.

Am Anfang war der Compiler selbst ein 16-BitProgramm, produziert von der Turbo-Pascal-Compiler. Nach zwei Jahren konnte sich der Compiler selbst kompilieren und wurde dann auch 32 Bit.

Erweiterung

Wenn der erste 32-Bit-Compiler auf dem Internet veröffentlicht wurde, traten die ersten Freiwilligen dem Projekt bei. Einige Jahre später gründete Michael van Canneyt ein LinuxHafen vor fünf Jahren gemacht Kylix war verfügbar.

Das DOSDie Version wurde ebenfalls weiter verbessert und auf den go32v2-Extender migriert. Vor allem aus diesem Grund wurde Version 0.99.5 viel häufiger verwendet als frühere Versionen und war die letzte Version, die sich ausschließlich auf die Turbo Pascal-Kompatibilität konzentrierte - Delphi-Kompatibilitätsmodi wurden in späteren Versionen hinzugefügt. Diese Version wurde auch auf Systeme mit a . portiert 680x0.

Mit der Version 0.99.8 ist die Win32target und es wurde damit begonnen, einige Delphi-Features einzubinden. Die Arbeit an der Stabilisierung des Codes für die Version 1.0 hat begonnen. Dieser Meilenstein wurde im Juli 2000 erreicht.

Die 1.0-Serie war weit verbreitet, sowohl für kommerzielle als auch für Bildungsanwendungen. Für die 1.0-Versionen wurde der Compiler auf 68k portiert und der Compiler produzierte stabilen Code für etwa 68k Unices und AmigaOS.

Die zweite Generation

Bei der Stabilisierung des späteren 1.0.X wäre, und speziell bei der Portierung auf die Motorola 68k-Systemen war klar, dass das Design des Codegenerators in vielerlei Hinsicht zu begrenzt war. Die Hauptprobleme bestanden darin, dass das Hinzufügen eines Prozessors das Umschreiben des Codegenerators erforderte und die Registerzuweisung darauf beruhte, dass zwischen den Bausteinen immer drei Register verfügbar waren, was die Flexibilität einschränkte und schwer aufrechtzuerhalten war.

Aus diesen Gründen gibt es eine separate 1.1.X-Ast gebildet aus dem 1.0.Xmain Branch im Dezember 1999. Am Anfang bestand der neue Branch hauptsächlich aus Verbesserungen und Überarbeitungen aller Teile des Compilers, dann wurden der Codegenerator und der Register-Mapper neu geschrieben. Dann kam die noch fehlende Delphi-Kompatibilität hinzu.

Arbeiten am 1.1.X ging langsam aber sicher, und Ende 2003 wurde die PowerPC-port, gefolgt von Ports nach ARM und SPARC im Sommer bzw. Herbst 2004. Die AMD64port folgte Anfang 2004, wodurch der Compiler für a 64-Bit-Plattform.

Im November 2003 eine erste Betaversion vom 1.1.X Branch wurde veröffentlicht und die Versionsnummer wurde auf 1.9.0 erhöht. Bald folgten die Versionen 1.9.2 und 1.9.4.

Version 1.9.4 war etwas Besonderes, da es die erste Version mit Unterstützung für Mac OS X war.

Die Arbeiten wurden mit den Versionen 1.9.6 (Januar 2005), 1.9.8 (Ende Februar 2005), 2.0.0 (Mai 2005), 2.0.2 (Dezember 2005) und 2.0.4 (August 2006) fortgesetzt.

Verbesserung: die 2.2-Versionen

Im Jahr 2006 wurde mit der für 2.2 geplanten Restrukturierung, wie der Neufassung des Einheitensystems, noch nicht begonnen. Es wurde dann beschlossen, an der Stabilität der bereits implementierten Features zu arbeiten. Einige der Gründe für die Änderung der Roadmap waren die Forderungen der LazarusProjekt, insbesondere der interne Linker, Unterstützung für Win64, Windows CE und Mac OS X an x86 und verwandte Funktionen wie ZWERG. Nach einer kurzen Reihe von Betas (2.1.2 und 2.1.4) wurde im September 2007 Version 2.2.0 veröffentlicht, gefolgt von Version 2.2.2 im August 2008 und dann Version 2.2.4 im März 2009.

Im 2.2.XSerien sind die Unterstützung für ActiveX/COM, Schnittstelle, und OLE stark verbessert, aber ein paar Fehler bleiben. Die Schnittstellendelegation durch die implementiertSchlüsselwort ist teilweise implementiert.[1]

Neben der Sprachunterstützung wurde auch die Bibliotheksunterstützung für ActiveX verbessert.

Eine weitere große Änderung war der interne Linker für Win32, Win64 und Windows CE, der die Linkzeit und den Speicherverbrauch deutlich reduzierte und den Compile-Link-Run-Zyklus in Lazarus etwas erträglicher machte. Auch die Effizienz von Smart Linking (Dead Code Elimination) wurde verbessert.

Kleinere neue Funktionen umfassen eine verbesserte Unterstützung für das DWARF-Debug-Format und Optimierungen wie Schwanzrekursion, unnötiges weglassen onnodig Stapelrahmen und Registry-basiert Eliminierung allgemeiner Unterausdrücke. Eine erste Implementierung von Generische Unterstützung ist ebenfalls verfügbar, jedoch nur zu "Erkundungszwecken".

Es ist jetzt[(seit wann?] unklar, ob die verbesserte Unterstützung für binäre eingebettete Ressourcen am 2.3.X wird in Version 2.2.4 verfügbar sein.

Plattformen

Die Verfügbarkeit von Free Pascals hängt von der Hauptversion.

Version 3.0.2

Ein Bugfix-Update von FPC wurde am 15. Februar 2017 verfügbar. FPC ist jetzt ein weit verbreiteter, gut funktionierender Pascal-Compiler, der für viele Plattformen funktioniert.

Die proprietäre IDE ist ein Nachfolger der alten DOS-IDE und hat daher eingeschränkte Funktionalität. Dies ist nützlich, um den Compiler einzurichten.

Bei der Softwareerstellung greift man daher besser zum Beispiel auf die kostenlose Blood Shed Dev-Pascal IDE zurück, die sich an FPC anbindet und unter Windows mit den üblichen Editierfunktionen inklusive interaktiver Syntaxchecks arbeitet.

Version 2.3

Zusätzlich zu den von Version 2.2 unterstützten Plattformen unterstützt diese Version:

Version 2.2 (stabil)

Die aktuelle stabile Version hat 2.2.0 zusätzlich zur Unterstützung für 2.0.XVersionen, Unterstützung für die folgenden Plattformen:

Version 2.0

Prozessoren:

Betriebssysteme:

Version 1.0

Prozessoren:

Betriebssysteme:

Beta-Plattformen:

Externe Links

Verweise