Also: Ab jetzt keine Klagen mehr "ich kann nicht Englisch"...7.1 Freie Pascal-Compiler-Modi
Das Free Pascal Team versucht, einen Compiler zu erstellen, der so viel wie möglich Code für Turbo Pascal, Delphi oder den Mac Pascal Compilern kompiliert kompilieren kann: dies sollte sicherstellen, dass Porting-Code, der für einen dieser Compiler geschrieben wurde, so einfach wie möglich ist.
Zur gleichen Zeit haben die Free Pascal Entwickler eine Menge Erweiterungen in der Object Pascal Sprache eingeführt. Um diese unterschiedlichen Ziele in Einklang zu bringen und sicherzustellen, dass Menschen Code erzeugen können, der noch von den Pascal- und Delphi-Compilern von Turbo kompiliert werden kann, verfügt der Compiler über Konzepte von "Compiler-Modi". In einem bestimmten Compiler-Modus hat der Compiler bestimmte Funktionalitäten ein- oder ausgeschaltet. Dies ermöglicht die Einführung eines Kompatibilitätsmodus, in dem nur die vom Original-Compiler unterstützten Funktionen unterstützt werden. Derzeit werden 5 Modi unterstützt:
FPC
Dies ist der ursprüngliche Free Pascal Compiler-Modus: Hier werden alle Sprachkonstrukte außer Klassen, Interfaces und Exceptions unterstützt. In diesem Modus werden Objekte unterstützt. Dies ist der Standardmodus des Compilers.
OBJFPC
Dies ist der gleiche Modus wie FPC- Modus, aber es enthält auch Klassen, Schnittstellen und Ausnahmen.
TP
Turbo Pascal-Kompatibilitätsmodus. In diesem Modus versucht der Compiler, den Turbo Pascal-Compiler so genau wie möglich nachzuahmen. Offensichtlich können nur 32-Bit- oder 64-Bit-Code kompiliert werden.
DELPHI
Delphi-Kompatibilitätsmodus. In diesem Modus versucht der Compiler, dem Delphi-Compiler so gut wie möglich zu ähneln: Alle Delphi 7-Funktionen sind implementiert. Funktionen, die in den .NET-Versionen von Delphi implementiert wurden, sind nicht implementiert.
MACPAS
Den Mac Pascal-Kompatibilitätsmodus. In diesem Modus versucht der Compiler, alle Konstrukte zuzulassen, die in Mac Pascal implementiert sind. Insbesondere versucht es, die universellen Schnittstellen zu kompilieren.
Der Compiler-Modus kann pro Einheit eingestellt werden: Jede Einheit kann einen eigenen Compiler-Modus haben, und es ist möglich, Einheiten zu verwenden, die in verschiedenen Modi verflochten wurden. Der Modus kann auf zwei Arten eingestellt werden:
In der Befehlszeile mit dem Schalter -M.
In der Quelldatei mit der Anweisung { $ MODE } .
Beide Möglichkeiten nehmen den Namen des Modus als Argument an. Wenn die Einheit oder die Programmquelldatei keinen Modus angibt, wird der in der Befehlszeile angegebene Modus verwendet. Wenn die Quelldatei einen Modus angibt, überschreibt sie den in der Befehlszeile angegebenen Modus.
So kompilieren Sie eine Einheit mit dem Schalter -M wie folgt:
Fpc -MOBJFPC myunit
Ist dieselbe wie die folgende Modus-Direktive in der Einheit:
{$ MODE OBJFPC}
Einheit myunit;
Die MODE- Direktive sollte immer lokalisiert werden, bevor die uses-Klausel der Unit-Schnittstelle oder des Programms eine Klausel verwendet, da beim Einstellen des Modus das Laden einer zusätzlichen Einheit als das erste zu ladende Gerät führen kann.
Beachten Sie, dass die { $ MODE } -Richtlinie eine globale Richtlinie ist, dh sie gilt für die gesamte Einheit; Es kann nur eine Richtlinie spezifiziert werden.
Der Modus hat keinen Einfluss auf die Verfügbarkeit von Einheiten: Alle verfügbaren Einheiten können unabhängig vom Modus verwendet werden, der zum Kompilieren der aktuellen Einheit oder des Programms verwendet wird.
[ Weiter ] [ front ] [ up ]
Fragen zur Programmierung mit Lazarus
Re: Fragen zur Programmierung mit Lazarus
Das hat translate.google.com aus der von af0815 angegebenen englischen Seite gemacht - relativ verständlich (im Gegensatz zu anderen texten):
-
- Beiträge: 36
- Registriert: Di 31. Jan 2017, 17:18
Re: Fragen zur Programmierung mit Lazarus
Jawp_xyz hat geschrieben:Das hat translate.google.com aus der von af0815 angegebenen englischen Seite gemacht - relativ verständlich (im Gegensatz zu anderen texten):7.1 Freie Pascal-Compiler-Modi
Das Free Pascal Team versucht, einen Compiler zu ..........
Also: Ab jetzt keine Klagen mehr "ich kann nicht Englisch"...



Alles gut und vielen Dank für Eure Mühe.
Bernhard