Kostenlose Pascal – Wikipedia
Freier Compiler und IDE für Pascal und ObjectPascal
Kostenloser Pascal Compiler ((FPC) ist ein Compiler für die eng verwandten programmiersprachlichen Dialekte Pascal und Object Pascal. Es handelt sich um freie Software, die unter der GNU General Public License mit veröffentlicht wurde Ausnahmeklauseln die eine statische Verknüpfung mit ihren Laufzeitbibliotheken und -paketen für jeden Zweck in Kombination mit einer anderen Softwarelizenz ermöglichen.
Es unterstützt seinen eigenen Object Pascal-Dialekt sowie bis zu einem gewissen Grad die Dialekte mehrerer anderer Compiler der Pascal-Familie, darunter die von Turbo Pascal, Delphi und einigen historischen Macintosh-Compilern. Der Dialekt wird pro Einheit (Modul) ausgewählt, und pro Programm kann mehr als ein Dialekt verwendet werden.
Es folgt a einmal schreiben, überall kompilieren Philosophie und ist für viele CPU-Architekturen und Betriebssysteme verfügbar (siehe Ziele). Es unterstützt die Inline-Assemblersprache und enthält einen internen Assembler, der mehrere Dialekte analysieren kann, z AT & T. und Intel Stil.
Es gibt separate Projekte, um die Entwicklung plattformübergreifender Anwendungen für grafische Benutzeroberflächen (GUI) zu erleichtern. Das bekannteste ist die integrierte Entwicklungsumgebung (IDE) von Lazarus.
Unterstützte Dialekte[edit]
Zunächst übernahm Free Pascal die de facto Standarddialekt der Pascal-Programmierer – Borland Pascal – aber später adoptierte Delphi. Ab Version 2.0 wurde die Delphi-Kompatibilität kontinuierlich implementiert oder verbessert.
Das Projekt hat eine Kompilierungsmodus Die Entwickler machten deutlich, dass sie Arbeitspatches für die standardisierten Dialekte des American National Standards Institute (ANSI) und der International Organization for Standardization (ISO) einbauen würden, um einen standardkonformen Modus zu erstellen.
Es wurden kleine Anstrengungen unternommen, um einige der Apple Pascal-Syntax zu unterstützen und die Schnittstelle zu Classic Mac OS und macOS zu vereinfachen. Da der Apple-Dialekt einige Standard-Pascal-Funktionen implementiert, die Turbo Pascal und Delphi weglassen, ist Free Pascal etwas ISO-kompatibler als diese.
Die 2.2.x Release-Serien haben die Dialektziele über die Syntax der Delphi 7-Ebene hinaus nicht wesentlich verändert, sondern eine engere Kompatibilität angestrebt. Eine bemerkenswerte Ausnahme war die Hinzufügung von Unterstützung für Generika zu Free Pascal in Version 2.2.0, einige Jahre bevor sie von Delphi in irgendeiner Form unterstützt wurden.
Stand 2011[update]In der Entwicklungsbranche wurden mehrere Delphi 2006-spezifische Funktionen hinzugefügt, und einige der ersten Arbeiten für die in Delphi 2009 neuen Funktionen (insbesondere die Hinzufügung der UnicodeString
Typ) wurde abgeschlossen. Der Entwicklungszweig verfügt auch über eine Ziel-Pascal Erweiterung für die Objective-C (Cocoa) -Schnittstelle.
Ab Version 2.7.1 hat Free Pascal den grundlegenden ISO Pascal-Modus implementiert, obwohl viele Dinge wie Get
und Put
Prozedur und Dateipuffervariablenkonzept für die Dateibehandlung fehlten noch.
Ab Version 3.0.0 ist der ISO-Pascal-Modus ziemlich vollständig, mit einem verbleibenden Fehler, der seitdem im Trunk-Zweig behoben wurde. Der P5 ISO Pascal-Compiler von standardpascal.org konnte ohne Änderungen kompiliert werden.
Geschichte[edit]
Frühe Jahre[edit]
Free Pascal wurde erstellt, als Borland klarstellte, dass die Entwicklung von Borland Pascal für DOS mit Version 7 eingestellt werden würde, um durch ein reines Windows-Produkt ersetzt zu werden, das später zu Delphi wurde.
Der Student Florian Paul Klämpfl begann mit der Entwicklung eines eigenen Compilers, der im Turbo Pascal-Dialekt geschrieben war, und produzierte 32-Bit-Code für den GO32v1-DOS-Extender, der zu dieser Zeit vom GNU Programming Platform (DJGPP) -Projekt des DJ verwendet und entwickelt wurde.
Ursprünglich war der Compiler eine ausführbare 16-Bit-DOS-Datei, die von Turbo Pascal kompiliert wurde. Nach zwei Jahren konnte sich der Compiler selbst kompilieren und wurde eine 32-Bit-ausführbare Datei.
Erweiterung[edit]
Der erste 32-Bit-Compiler wurde im Internet veröffentlicht, und die ersten Mitwirkenden schlossen sich dem Projekt an. Später wurde von Michael van Canneyt ein Linux-Port erstellt, fünf Jahre bevor der Borland Kylix-Compiler verfügbar wurde.
Der DOS-Port wurde für die Verwendung in OS / 2 unter Verwendung des Eberhard Mattes eXtender (EMX) angepasst, wodurch OS / 2 zum zweiten unterstützten Kompilierungsziel wurde. Neben Florian Klämpfl, dem ursprünglichen Autor, trug Daniël Mantione maßgeblich dazu bei, dass OS / 2 und EMX den ursprünglichen Port der Laufzeitbibliothek bereitstellten. Der Compiler wurde schrittweise verbessert und die DOS-Version auf den GO32v2-Extender migriert. Dies gipfelte in Release 0.99.5, das viel häufiger als frühere Versionen verwendet wurde und das letzte Release war, das nur auf die Einhaltung von Turbo Pascal abzielte. In späteren Versionen wurde ein Delphi-Kompatibilitätsmodus hinzugefügt. Diese Version wurde auch auf Systeme portiert, die Prozessoren der Motorola 68000-Familie (m68k) verwenden.
Mit Release 0.99.8 wurde das Win32-Ziel hinzugefügt und mit der Integration einiger Delphi-Funktionen begonnen. Die Stabilisierung für eine Nicht-Beta-Version begann und Version 1.0 wurde im Juli 2000 veröffentlicht. Die Version 1.0.x Serie war weit verbreitet, in Wirtschaft und Bildung. Für die 1.0.x In Releases wurde der Port zur 68k-CPU erneuert und der Compiler erzeugte stabilen Code für mehrere 68k-Unix-ähnliche und AmigaOS-Betriebssysteme.
Version 2[edit]
Während der Stabilisierung von was würde 1.0 werden.xAuch bei der Portierung auf die Motorola 68k-Systeme wurde deutlich, dass das Design des Codegenerators in vielerlei Hinsicht viel zu eingeschränkt war. Die Hauptprobleme bestanden darin, dass das Hinzufügen von Prozessoren das Umschreiben des Codegenerators bedeutete und dass die Registerzuordnung auf dem Prinzip beruhte, immer drei freie Register zwischen Bausteinen zu halten, was unflexibel und schwierig zu warten war.
Aus diesen Gründen ist der 1.1.x Serie von der 1.0 abgezweigt.x Hauptzweig im Dezember 1999. Zunächst handelte es sich bei den Änderungen hauptsächlich um Bereinigungen und Umschreibungen aller Teile des Compilers. Der Codegenerator und der Registerzuweiser wurden ebenfalls neu geschrieben. Verbleibende fehlende Delphi-Kompatibilität wurde hinzugefügt.
Die Arbeit an 1.1.x wurde langsam aber stetig fortgesetzt. Ende 2003 wurde ein funktionierender PowerPC-Port verfügbar, gefolgt von einem ARM-Port im Sommer 2004, einem SPARC-Port im Herbst 2004 und einem x86-64-AMD64-Port Anfang 2004, wodurch der Compiler für eine 64-Bit-Plattform verfügbar wurde .
Im November 2003 wurde eine erste Beta-Version des 1.1.x Zweig wurde verpackt und mit 1.9.0 nummeriert. Es folgten schnell die Versionen 1.9.2 und 1.9.4; Letzteres führte die OS X-Unterstützung ein. Die Arbeit wurde mit Version 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.
Version 2.2.x.[edit]
Im Jahr 2006 hatten einige der für 2.2 geplanten größeren Überarbeitungen, wie das Umschreiben des Einheitensystems, noch nicht begonnen, und es wurde beschlossen, stattdessen mit der Stabilisierung der bereits implementierten Funktionen zu beginnen.
Einige der Motive für diese Änderung der Roadmap waren die Anforderungen des integrierten Entwicklungsumgebungsprojekts von Lazarus, insbesondere der interne Linker, die Unterstützung von Win64, Windows CE und OS X unter x86 sowie verwandte Funktionen wie DWARF. Nach den Betas 2.1.2 und 2.1.4 wurde im September 2007 die Version 2.2.0 veröffentlicht, gefolgt von der Version 2.2.2 im August 2008 und der Version 2.2.4 im März 2009.
Die 2.2.x Die Unterstützung der ActiveX- und Component Object Model (COM) -Schnittstelle sowie der Objektverknüpfung und -einbettung (OLE) wurde erheblich verbessert, obwohl immer noch Fehler gefunden wurden. Die Delegation zur Schnittstelle mit dem implements
Das Schlüsselwort wurde teilweise implementiert, war jedoch bis März 2011 nicht vollständig[update].[1] Die Bibliotheksunterstützung für ActiveX wurde ebenfalls verbessert.
Ein weiteres wichtiges Feature war der interne Linker für Win32, Win64 und Windows CE, der die Verknüpfungszeit und die Speichernutzung erheblich verbesserte und den Zyklus zum Ausführen und Kompilieren von Links in Lazarus erheblich beschleunigte. Die Effizienz für Smart-Linking oder die Beseitigung von totem Code wurde ebenfalls verbessert.
Zu den geringfügigen neuen Funktionen gehörten eine verbesserte Unterstützung des DWARF (2/3) -Debugformats sowie Optimierungen wie die Endrekursion, das Weglassen nicht benötigter Stapelrahmen und die registergestützte Optimierung der gemeinsamen Subexpression (CSE). Eine erste Implementierung der Unterstützung für generische Programmierung (Generika) wurde ebenfalls verfügbar, jedoch nur experimentell.
Version 2.4.x.[edit]
Die Release-Serie 2.4.x hatte weniger klare Ziele als frühere Releases. Das Umschreiben des Einheitensystems wurde erneut verschoben, und der Zweig, der zu 2.4 wurde, wurde erstellt, um riskante Commits von 2.2 zu halten, um es zu stabilisieren. Meistens waren diese riskanten Commits eher Verbesserungen der neuen Plattformen, Mac PowerPC 64, Mac x86-64, iPhone und viele Korrekturen an den ARM- und x86-64-Architekturen im Allgemeinen sowie an DWARF.
Weitere Verbesserungen des Compilers waren die Optimierung des gesamten Programms (WPO) und der Devirtualisierung sowie die Unterstützung der ARM-Binärschnittstelle für eingebettete Anwendungen (EABI).
Später, während des 2.2-Zyklus, wurde eine mehr Delphi-ähnliche Ressourcenunterstützung (basierend auf speziellen Abschnitten in der Binärdatei anstelle von Pascal-Konstanten) hinzugefügt. Diese Funktion, die Lazarus dringend benötigte, wurde zum wichtigsten Highlight der Branche.
Weitere kleinere Ergänzungen waren ein Speichermanager, der die Leistung des Heap-Managers in Thread-Umgebungen verbesserte, sowie kleine Verbesserungen der Delphi-Kompatibilität wie z OleVariant
und Verbesserungen bei der Schnittstellendelegierung.
Am 1. Januar 2010 wurde Free Pascal 2.4.0 veröffentlicht, gefolgt vom Bugfix Release 2.4.2 am 13. November 2010 mit Unterstützung für for..in
Schleifen, sealed
und abstract
Klassen und andere Änderungen.[2]
Version 2.6.x.[edit]
Im Januar 2012 wurde Free Pascal 2.6 veröffentlicht. Diese erste Version aus der 2.6-Release-Serie unterstützte auch Objective Pascal unter OS X- und iOS-Zielen und implementierte viele kleine Verbesserungen und Fehlerbehebungen. Im Februar 2013 wurde FPC 2.6.2 veröffentlicht. Es enthielt zum ersten Mal seit 1.0.10 NetBSD- und OpenBSD-Releases, basierend auf neuen Ports. Im März 2014 wurde die letzte Punktveröffentlichung in der 2.6-Reihe, 2.6.4, veröffentlicht, die hauptsächlich Datenbank-Updates (fcl-db) enthält.
Version 3.0.x.[edit]
Version 3.0.0 wurde am 25. November 2015 veröffentlicht und war die erste Hauptversion seit dem 1. Januar 2012. Sie enthält viele neue Sprachfunktionen: Neue FPC-Funktionen 3.0
Version 3.0.2 wurde am 15. Februar 2017 veröffentlicht und enthält Fehlerkorrekturen und kleinere Compiler-Updates.
Version 3.0.4 wurde am 28. November 2017 veröffentlicht.
Es enthält viele Sprachverbesserungen gegenüber früheren Versionen wie einen internen Linker für ausführbares und verlinkbares Format (ELF), Arm AARCH64 für iOS und Linux, eine wiederbelebte i8086-Plattform, erweiterte Bibliotheken und vieles mehr.
Version 3.2.x.[edit]
Die nächste Hauptversion, Version 3.2.0, wurde am 19. Juni 2020 veröffentlicht. Sie führte eine Vielzahl neuer Sprachfunktionen ein, darunter generische Routinen, Standard-Namespaces, verwaltete Datensätze und erweiterte Funktionen für dynamische Arrays sowie die Einführung eines neuen Standards Einheiten und die Unterstützung zusätzlicher Plattformen.[3]
Ziele[edit]
Prozessorarchitektur | Betriebssystem, Gerät | Version 3.0.0 – 3.3.1 (Trunk) | Version 2.6.2 | Version 2.6.0 | Version 2.4.4 | Version 2.4.2 | Version 2.4.0 | Version 2.2.4 | Version 2.0.x | Version 1.0.x |
---|---|---|---|---|---|---|---|---|---|---|
i386 | DOS (GO32v2 Extender) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
FreeBSD | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | |
OpenBSD | Ja | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Ja | |
NetBSD | Ja | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Ja | |
Linux | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | |
Mac OS | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Nein | Nein | |
OS / 2 | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | |
Windows | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | |
Windows CE | Ja | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | |
BeOS | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | |
Haiku | Ja | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | |
NetWare | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Nein | |
Solaris | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | Ja | |
iPhone Sim | Ja | Ja | Ja | Nein | Nein | Nein | Nein | Nein | Nein | |
QNX Neutrino | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Ja | |
Android | Ja | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | |
AROS | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein | |
x86-64 | FreeBSD | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | Nein |
OpenBSD | Ja | Ja | Unbekannt | Unbekannt | Unbekannt | Unbekannt | Unbekannt | Unbekannt | Unbekannt | |
NetBSD | Ja | Ja | Unbekannt | Unbekannt | Unbekannt | Unbekannt | Unbekannt | Unbekannt | Unbekannt | |
Linux | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Unbekannt | Nein | |
Mac OS | Ja | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | |
Windows | Ja | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | |
iPhone Sim | Ja | Ja | Ja | Nein | Nein | Nein | Nein | Nein | Nein | |
AROS | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | Nein | |
DragonFly BSD | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | Nein | |
Solaris | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | Nein | |
Haiku | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein | |
ARM | iOS | Ja | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein |
Game Boy Advance | Ja | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | |
Nintendo ds | Ja | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | |
Linux | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Unbekannt | Nein | |
Windows CE | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Unbekannt | Nein | |
Android | Ja | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | |
Eingebettet | Ja | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | |
AROS | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein | |
AArch64 | Linux | Ja | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein |
iOS | Ja | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | |
Android | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein | |
AVR | Eingebettet | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein |
PowerPC | Linux | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Nein |
Mac OS | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Nein | |
Klassisches Mac OS | Ja | Ja | Ja | Ja | Nein | Nein | Ja | Ja | Nein | |
AmigaOS 4 | Ja | Ja | Ja | Ja | Unbekannt | Unbekannt | Unbekannt | Ja | Nein | |
MorphOS | Ja | Ja | Ja | Ja | Unbekannt | Unbekannt | Unbekannt | Ja | Nein | |
AIX | Ja | Ja | Ja | Nein | Nein | Nein | Nein | Nein | Nein | |
Wii | Ja | Ja | Ja | Ja | Nein | Nein | Nein | Nein | Nein | |
PowerPC 64-Bit | Linux | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Nein | Nein |
Mac OS | Ja | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | |
AIX | Ja | Ja | Ja | Nein | Nein | Nein | Nein | Nein | Nein | |
SPARC | Solaris | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | Nein |
NetBSD | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | Nein | |
Eingebettet | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | Nein | |
Linux | Ja | Ja | Ja | Ja | Ja | Nein | Nein | Nein | Nein | |
SPARC64 | Linux | Ja | Ja | Ja | Nein | Nein | Nein | Nein | Nein | Nein |
RISC-V | Eingebettet | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein |
RISC-V64 | Eingebettet | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein |
Java virtuelle Maschine | Java | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein |
Android | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein | |
MIPS (BE und LE) | Linux | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein |
Eingebettet | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein | |
8086 (16 Bit) | DOS | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein |
Win16 | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein | |
Eingebettet | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Nein | |
m68k | Linux | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Ja |
NetBSD | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Ja | |
AmigaOS | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Ja | |
Atari TOS | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | JaNur begrenzter Cross-Compiler | |
Palm OS | Ja | Nein | Nein | Nein | Nein | Nein | Nein | Nein | Unbekannt |
Free Pascal unterstützt ab Version 3.0.0 auch die Generierung von Bytecode für die Java Virtual Machine und zielt sowohl auf Java von Oracle als auch auf Android JVM von Google ab.[4] Die Object Pascal-Syntax wird jedoch nicht vollständig unterstützt. Free Pascal 3.0.0 unterstützt auch ARMHF-Plattformen wie den Raspberry Pi, einschließlich ARMV6-EABIHF, das auf Raspbian ausgeführt wird. Die Arbeit an 64-Bit-ARM hat auch in 3.0.0 zur Unterstützung von iOS geführt. Ein natives ARM-Android-Ziel wurde hinzugefügt, wodurch das zuvor gehackte ARM-Linux-Ziel beendet wird, um native ARM-Bibliotheken für Android zu generieren. Dadurch wird Lazarus-Anwendungen auf Android portiert (mithilfe der benutzerdefinierten gezeichneten Oberfläche)[5]) Einfacher. Seit FPC 2.6.2 werden OpenBSD und NetBSD auf IA32- und X86_64-Architekturen unterstützt. Ein neues Ziel eingebettet wurde für die Verwendung ohne Betriebssystem hinzugefügt (hauptsächlich ARM Cortex M und MIPS). Mit InstantFPC ist es möglich, Pascal-Programme, die gerade noch rechtzeitig übersetzt werden, als Unix-Skripte oder CGI-Backend auszuführen.
Integrierte Entwicklungsumgebungen[edit]
Wie die meisten modernen Compiler kann Free Pascal mit einer integrierten Entwicklungsumgebung (IDE) verwendet werden. Neben unabhängigen IDEs gibt es auch Plugins zu verschiedenen vorhandenen IDEs
- Free Pascal hat eine eigene Textmodus-IDE, die der IDE von Turbo Pascal ähnelt. Es wird mit dem Free Vision-Framework (ebenfalls in Free Pascal enthalten) erstellt, einem Turbo Vision-Klon. Zusätzlich zu vielen Funktionen der Turbo Pascal-IDE bietet sie Code-Vervollständigung und Unterstützung für mehrere Hilfedateiformate (HTML, Microsoft Compiled HTML Help (CHM), Information Presentation Facility (IPF)). Anstelle von Befehlszeilentools verwendet die IDE Ein eigener eingebetteter Compiler, der auf derselben Quelle basiert wie der Befehlszeilen-Compiler und der Debugger (unter Verwendung von libgdb oder GDBMI), um seine Funktionalität bereitzustellen.
- Lazarus ist die beliebteste IDE, die von Free Pascal-Programmierern verwendet wird. Es sieht und fühlt sich ähnlich an wie die Delphi-IDE und kann zum Erstellen von Konsolen- und Grafikanwendungen, Windows-Diensten, Dämonen und Webanwendungen verwendet werden. Lazarus bietet ein plattformübergreifendes Benutzeroberflächen-Framework namens Lazarus Component Library (LCL). Mit LCL erstellte grafische Anwendungen können durch Neukompilieren oder Cross-Kompilieren auf eine andere Plattform portiert werden.
- Dev-Pascal ist eine kostenlose Windows-IDE für Free Pascal und GNU Pascal, die nach der FPC-Version 2004 und der GPC-Version 2005 nicht weiterentwickelt wurde.
Gebündelte Bibliotheken[edit]
Neben einem Compiler und einer IDE bietet Free Pascal folgende Bibliotheken:
Beispiele für mit Free Pascal erstellte Software[edit]
- Beyond Compare ist ein Datenvergleichsprogramm für Windows, OS X und Linux. Die Linux- und OS X-Versionen werden mit Lazarus / FPC kompiliert.
- Cartes du Ciel ist ein kostenloses Planetariumsprogramm für Linux, OS X und Windows. Es kartiert und beschriftet die meisten Sternbilder, Planeten und Objekte, die mit dem Teleskop sichtbar sind. Es wurde vollständig in Lazarus / FPC geschrieben und unter GPL veröffentlicht.
- Cheat Engine ist ein Open-Source-Speicherscanner, ein Hex-Editor und ein Debugger. Es kann zum Betrügen in Computerspielen verwendet werden. Seit Version 6.0 ist es mit Lazarus / FPC kompiliert.
- Datenplotprogramme D_2D & D_3D.[6]
- Double Commander ist ein Open-Source-Multi-Plattform-Dateimanager mit zwei Bedienfeldern, der vom Microsoft Windows Total Commander inspiriert ist.
- Free Pascal ist in Object Pascal und Assemblersprache geschrieben und selbst kompiliert.
- HNSKY, Hallo Northern Sky ist ein kostenloses Planetariumsprogramm für Windows und Linux. Seit Version 3.4.0 mit Lazarus / FPC geschrieben und kompiliert.
- Lazarus: Free Pascals angeschlossenes Delphi-ähnliches Softwarepaket für die schnelle Entwicklung grafischer Anwendungen.
- MeKin2D: Paket für die Kinematik von planarer Verbindung, Nocken und Getriebemechanismus.[7]
- Morfik: Morfik WebOS AppBuilder verwendet Free Pascal, um CGI-Binärdateien zu erstellen.
- MyNotex ist eine kostenlose Software für Notizen und Notizen-Manager für GNU / Linux.
- Frühere Versionen des Nim-Compilers wurden in Free Pascal entwickelt, bevor er in Nim selbst gehostet wurde.[8]
- Peazip ist ein Open Source-Archivierer, der mit Lazarus / FPC erstellt wurde.
- TorChat, zuvor in Python geschrieben, wird jetzt in Free Pascal und Lazarus umgeschrieben.
Siehe auch[edit]
- fpGUI Free Pascal GUI Toolkit – ein plattformübergreifendes und benutzerdefiniertes Toolkit, das in Object Pascal implementiert ist
Verweise[edit]
Externe Links[edit]
Offizielle Websites[edit]
Allgemeine Einführung[edit]
Auf Spieleentwicklung spezialisierte Websites[edit]
Recent Comments