Fragen zur Programmierung mit Lazarus

Für Fragen von Einsteigern und Programmieranfängern...
wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: Fragen zur Programmierung mit Lazarus

Beitrag von wp_xyz »

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 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 ]


Also: Ab jetzt keine Klagen mehr "ich kann nicht Englisch"...

BernhardDEL
Beiträge: 36
Registriert: Di 31. Jan 2017, 17:18

Re: Fragen zur Programmierung mit Lazarus

Beitrag von BernhardDEL »

wp_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"...

Ja :P :P :P - das mal ne gute Übersetzung. Habs mit dem Übersetzer von Chrome versucht und gleich wieder aufgegeben.

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

Bernhard

Antworten