local compiler directives/de

From Free Pascal wiki
Revision as of 14:40, 23 August 2020 by Kai Burghardt (talk | contribs) (copy mistake)
Jump to navigationJump to search

Deutsch (de) English (en) français (fr)


Zurück zu den Pascal Grundlagen.



Lokale Direktiven können mehr als einmal in einer Unit oder in einem Programm verwendet werden.

Lokale Compiler Direktiven

$A und $ALIGN bestimmt die Datenausrichtung von Records
$A1, $A2,$A4 und $A8 bestimmt die Datenausrichtung von Records und hat die selbe Wirkung wie die Direktive $PACKRECORDS
$B oder $BOOLEVAL im Standardmodus wird dem eigenen Programm die Kurzschlussauswertung von Wahrheitswerten ermöglicht
$C oder $ASSERTIONS dient der Fehlersuche
$BITPACKING ermöglicht das Bitweise packen von Records
$CALLING legt die Aufrufkonvention für Unterprogramme fest
$CHECKPOINTER prüft, ob ein Pointer einen gültigen Wert hat
$CODEALIGN bestimmt die Ausrichtung des Codes im Speicher
$COPERATORS erlaubt die Verwendung von Operatoren ähnlich der wie in der Programmiersprache C
$DEFINE oder $DEFINEC erlaubt die Definition eigener Symbole
$EXTENDEDSYM wird vom Compiler ignoriert
$F wird vom Compiler ignoriert
$FPUTYPE compiliert entsprechen dem angegebenen Coprozessortyp den entsprechenden Code
$GOTO erlaubt dem eigenen Programm die Verwendung von Goto und Label
$H oder $LONGSTRINGS erlaubt es den Stringtyp für das reservierte Wort String festzulegen
$HPPEMIT wird vom Compiler ignoriert
$IMPLICITEXCEPTIONS dient der Vermeidung von Speicherlöchern
$INLINE kopiert Prozeduren an die Stelle ihres Aufrufs
$INTERFACES legt fest, welcher Schnittstellentyp bei der Deklaration der Schnittstellen verwendet werden soll
$I oder $IOCHECKS steuert, ob Ein- Aussgabeschnittstellen kontolliert werden sollen
$I oder $INCLUDE fügt eine Datei in die Compilierung ein
$I oder $INCLUDE fügt bestimmte Compilerinformationen in das Programm ein
$J oder $WRITEABLECONST erlaubt während der Programmlaufzeit eine Wertzuweisung an typisierte Konstanten
$L oder $LINK fügt beim Linken (Binden) des Programms die angegebene Objektdatei ein
$LINKLIB fügt beim Linken (Binden) des Programms die angegebene Bibliothek (DLL) ein
$M oder $TYPEINFO erstellt Run-Time Type Informationen
$MACRO erlaubt die Verwendung von Makros
$MINENUMSIZE dient der Kompatibilität zu Delphi, siehe $PACKENUM oder $Z
$MINFPCONSTPREC legt die minimale Genauigkeit von Fliesskommakonstanten fest
$NODEFINE wird vom Compiler ignoriert
$OBJECTCHECKS kontrolliert die Verwendung des Self Pointers
$OPTIMIZATION erlaubt bestimmte Optimierungen
$OUTPUT_FORMAT legt das Ausgabeformat der vom Compiler erstellten Objektdatei fest
$PACKENUM oder $Z erlaubt dem Compiler Enumerationen (Aufzählungen) zu packen
$PACKRECORDS bestimmt, wie Records im Arbeitsspeicher ausgerichtet werden
$PACKSET legt fest, wie ein Set gepackt wird
$POP stellt die letzten Compiler Einstellungen wieder her
$PUSH sichert die aktuellen Compiler Einstellungen
$OVERFLOWCHECKS überwacht den Überlauf von Integervariablen
$R oder $RANGECHECKS überprüft, ob bei diversen Bereichen der Index überläuft
$R oder $RESOURCE bindet eine Resourcendatei ein
$STATIC erlaubt die Verwendung des reservierten Wortes static
$T oder $TYPEDADDRESS bestimmt, ob der Adressoperator @ einen typisiertern oder untypisiertern Pointer zurück gibt
$UNDEF hebt die Definition eines Symbols auf
$V oder $VARSTRINGCHECKS legt fest, wie streng der Compiler Stringzuweisungen an Strings prüft
$W or $STACKFRAMES legt die Bedigungen für die Erstellung von Stackframes fest
$WAIT wartet mit der Verarbeitung bis die Enter-Taste gedrückt wird

Bedingte Compilierung

$ELSE ist eine Verzweigung der bedingten Compilierung
$ELSEIF ist eine Verzweigung mit Bedingung der bedingten Compilierung
$ENDIF ist das Ende einer bedingten Compilierung
$IF ist der Anfang der bedingten Compilierung
$IFDEF ist der Anfang einer bedingten Compilierung
$IFNDEF ist der Anfang einer bedingten Compilierung
$IFOPT ist der Anfang einer bedingten Compilierung

Selbstdefinierte Compiler- Warnungen, Meldungen, Hinweise usw.

$ERROR gibt eine selbstdefinierte Fehlermeldung aus
$FATAL gibt eine selbstdefinierte fatale Fehlermeldung aus
$HINT erstellt eine selbstdefinierte Hinweismeldung
$HINTS erlaubt selbstdefinierte Hinweismeldungen
$INFO gibt eine selbstdefinierte Infomeldung aus
$MESSAGE erstellt eine selbstdefinierte Infonachricht
$NOTE erstellt eine selbstdefinierte Notizmeldung
$NOTES erlaubt das erstellen von selbstdefinierten Notizmeldungen
$STOP gibt eine selbstdefinierte fatale Fehlermeldung aus
$WARNING erstellt eine selbstdefinierte Warnmeldung
$WARNINGS erlaubt selbstdefinierte Warnmeldungen

Lokale Compiler Direktiven nur für Intel 80x86 und kompatible Prozessoren

$ASMMODE Assemblermodus
$I386_XXX legt das Assemblerformat fest
$MMX erzwingt Optimierungen für den MMX Prozessor
$SATURATION Saturation (Schutz gegen Speicherüberlauf) Operationen für den MMX Prozessor
$MAXFPUREGISTERS legt die maximale Anzahl der zu nutzenden Fliesskommaregister fest

Lokale Compiler Direktiven nur für das Betriebssystem Darwin

$LINKFRAMEWORK fügt ein Framework ein

Lokale Compiler Direktiven nur für Compiler Mode MacPas

Diese Befehle werden aus Kompatibilität zum existierenden Mac OS Pascal Compiler unterstützt:
$A und $ALIGN bestimmt die Datenausrichtung von Records
$ERRORC gibt eine Fehlermeldung aus
$Q oder $OV überwacht den Überlauf von Integervariablen

Bedingte Compilierung

$ELSEC ist eine Verzweigung der bedingten Compilierung
$ELIFC ist eine Verzweigung der bedingten Compilierung
$ENDC ist das Ende einer bedingten Compilierung
$IFC ist der Anfang einer bedingten Compilierung

Symbole

$DEFINEC erlaubt die Definition eigener Symbole
$SETC definiert ein Symbol und weist ihm einen Wert zu
$UNDEFC hebt die Definition eines Symbols auf


--Olaf 17:00, 8 November 2012 (UTC)