Difference between revisions of "local compiler directives/de"
(nominate for deletion: unnecessary redirect [I couldn’t disable creation during Move operation]) Tag: Removed redirect |
m (take account of move fixing spelling mistake) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | [[Category: | + | {{local compiler directives}} |
+ | |||
+ | |||
+ | Zurück zu den [[Pascal basics/de|Pascal Grundlagen]].<br> | ||
+ | |||
+ | |||
+ | __TOC__ | ||
+ | |||
+ | |||
+ | Lokale Direktiven können mehr als einmal in einer Unit oder in einem Programm verwendet werden. | ||
+ | |||
+ | =Lokale Compiler Direktiven= | ||
+ | |||
+ | [[sAlign/de|$A und $ALIGN]] bestimmt die Datenausrichtung von Records<br> | ||
+ | [[$A/de|$A1, $A2,$A4 und $A8]] bestimmt die Datenausrichtung von Records und hat die selbe Wirkung wie die Direktive $PACKRECORDS<br> | ||
+ | [[sBooleval/de|$B oder $BOOLEVAL]] im Standardmodus wird dem eigenen Programm die Kurzschlussauswertung von Wahrheitswerten ermöglicht<br> | ||
+ | [[$Assertions/de|$C oder $ASSERTIONS]] dient der Fehlersuche<br> | ||
+ | [[$Bitpacking/de|$BITPACKING]] ermöglicht das Bitweise packen von Records<br> | ||
+ | [[sCalling/de|$CALLING]] legt die Aufrufkonvention für Unterprogramme fest<br> | ||
+ | [[sCheckpointer/de|$CHECKPOINTER]] prüft, ob ein Pointer einen gültigen Wert hat<br> | ||
+ | [[sCodealign/de|$CODEALIGN]] bestimmt die Ausrichtung des Codes im Speicher<br> | ||
+ | [[sCoperators/de|$COPERATORS]] erlaubt die Verwendung von Operatoren ähnlich der wie in der Programmiersprache C<br> | ||
+ | [[sDefine/de|$DEFINE oder $DEFINEC]] erlaubt die Definition eigener Symbole<br> | ||
+ | [[sExtendedsym/de|$EXTENDEDSYM]] wird vom Compiler ignoriert<br> | ||
+ | [[sFar/de|$F]] wird vom Compiler ignoriert<br> | ||
+ | [[sFputype/de|$FPUTYPE]] compiliert entsprechen dem angegebenen Coprozessortyp den entsprechenden Code<br> | ||
+ | [[sGoto/de|$GOTO]] erlaubt dem eigenen Programm die Verwendung von Goto und Label<br> | ||
+ | [[$H/de|$H oder $LONGSTRINGS]] erlaubt es den Stringtyp für das reservierte Wort String festzulegen<br> | ||
+ | [[sHppemit/de|$HPPEMIT]] wird vom Compiler ignoriert<br> | ||
+ | [[$implicitExceptions/de|$IMPLICITEXCEPTIONS]] dient der Vermeidung von Speicherlöchern<br> | ||
+ | [[sInline/de|$INLINE]] kopiert Prozeduren an die Stelle ihres Aufrufs<br> | ||
+ | [[sInterfaces/de|$INTERFACES]] legt fest, welcher Schnittstellentyp bei der Deklaration der Schnittstellen verwendet werden soll<br> | ||
+ | [[sIochecks/de|$I oder $IOCHECKS]] steuert, ob Ein- Aussgabeschnittstellen kontolliert werden sollen<br> | ||
+ | [[$include/de|$I oder $INCLUDE]] fügt eine Datei in die Compilierung ein<br> | ||
+ | [[$include/de|$I oder $INCLUDE]] fügt bestimmte Compilerinformationen in das Programm ein<br> | ||
+ | [[sWritableconst/de|$J oder $WRITEABLECONST]] erlaubt während der Programmlaufzeit eine Wertzuweisung an typisierte Konstanten<br> | ||
+ | [[sLink/de|$L oder $LINK]] fügt beim Linken (Binden) des Programms die angegebene Objektdatei ein<br> | ||
+ | [[sLinklib/de|$LINKLIB]] fügt beim Linken (Binden) des Programms die angegebene Bibliothek (DLL) ein<br> | ||
+ | [[sTypeinfo/de|$M oder $TYPEINFO]] erstellt Run-Time Type Informationen<br> | ||
+ | [[sMacro/de|$MACRO]] erlaubt die Verwendung von Makros<br> | ||
+ | [[sMinenumsize/de|$MINENUMSIZE]] dient der Kompatibilität zu Delphi, siehe [[sPackenum/de|$PACKENUM oder $Z]]<br> | ||
+ | [[sMinfpconstprec/de|$MINFPCONSTPREC]] legt die minimale Genauigkeit von Fliesskommakonstanten fest<br> | ||
+ | [[sNodefine/de|$NODEFINE]] wird vom Compiler ignoriert<br> | ||
+ | [[sObjectchecks/de|$OBJECTCHECKS]] kontrolliert die Verwendung des Self Pointers<br> | ||
+ | [[sOptimization/de|$OPTIMIZATION]] erlaubt bestimmte Optimierungen<br> | ||
+ | [[sOutput_format/de|$OUTPUT_FORMAT]] legt das Ausgabeformat der vom Compiler erstellten Objektdatei fest<br> | ||
+ | [[sPackenum/de|$PACKENUM oder $Z]] erlaubt dem Compiler Enumerationen (Aufzählungen) zu packen<br> | ||
+ | [[sPackrecords/de|$PACKRECORDS]] bestimmt, wie Records im Arbeitsspeicher ausgerichtet werden<br> | ||
+ | [[sPackset/de|$PACKSET]] legt fest, wie ein Set gepackt wird<br> | ||
+ | [[sPop/de|$POP]] stellt die letzten Compiler Einstellungen wieder her<br> | ||
+ | [[sPush/de|$PUSH]] sichert die aktuellen Compiler Einstellungen<br> | ||
+ | [[sOverflowchecks/de|$OVERFLOWCHECKS]] überwacht den Überlauf von Integervariablen<br> | ||
+ | [[sRangechecks/de|$R oder $RANGECHECKS]] überprüft, ob bei diversen Bereichen der Index überläuft<br> | ||
+ | [[sResource/de|$R oder $RESOURCE]] bindet eine Resourcendatei ein<br> | ||
+ | [[sStatic/de|$STATIC]] erlaubt die Verwendung des reservierten Wortes static<br> | ||
+ | [[$typedAddress/de|$T oder $TYPEDADDRESS]] bestimmt, ob der Adressoperator @ einen typisiertern oder untypisiertern Pointer zurück gibt<br> | ||
+ | [[sUndef/de|$UNDEF]] hebt die Definition eines Symbols auf<br> | ||
+ | [[sVarstringchecks/de|$V oder $VARSTRINGCHECKS]] legt fest, wie streng der Compiler Stringzuweisungen an Strings prüft<br> | ||
+ | [[sStackframes/de|$W or $STACKFRAMES]] legt die Bedigungen für die Erstellung von Stackframes fest<br> | ||
+ | [[sWait/de|$WAIT]] wartet mit der Verarbeitung bis die Enter-Taste gedrückt wird<br> | ||
+ | ==Bedingte Compilierung== | ||
+ | [[sElse/de|$ELSE]] ist eine Verzweigung der bedingten Compilierung<br> | ||
+ | [[sElseIf/de|$ELSEIF]] ist eine Verzweigung mit Bedingung der bedingten Compilierung<br> | ||
+ | [[sEndif/de|$ENDIF]] ist das Ende einer bedingten Compilierung<br> | ||
+ | [[sIf/de|$IF]] ist der Anfang der bedingten Compilierung<br> | ||
+ | [[sIfdef/de|$IFDEF]] ist der Anfang einer bedingten Compilierung<br> | ||
+ | [[sIfndef/de|$IFNDEF]] ist der Anfang einer bedingten Compilierung<br> | ||
+ | [[sIfopt/de|$IFOPT]] ist der Anfang einer bedingten Compilierung<br> | ||
+ | ==Selbstdefinierte Compiler- Warnungen, Meldungen, Hinweise usw.== | ||
+ | [[sError/de|$ERROR]] gibt eine selbstdefinierte Fehlermeldung aus<br> | ||
+ | [[sFatal/de|$FATAL]] gibt eine selbstdefinierte fatale Fehlermeldung aus<br> | ||
+ | [[sHint/de|$HINT]] erstellt eine selbstdefinierte Hinweismeldung<br> | ||
+ | [[sHints/de|$HINTS]] erlaubt selbstdefinierte Hinweismeldungen<br> | ||
+ | [[sInfo/de|$INFO]] gibt eine selbstdefinierte Infomeldung aus<br> | ||
+ | [[sMessage/de|$MESSAGE]] erstellt eine selbstdefinierte Infonachricht<br> | ||
+ | [[sNote/de|$NOTE]] erstellt eine selbstdefinierte Notizmeldung<br> | ||
+ | [[sNotes/de|$NOTES]] erlaubt das erstellen von selbstdefinierten Notizmeldungen<br> | ||
+ | [[sStop/de|$STOP]] gibt eine selbstdefinierte fatale Fehlermeldung aus<br> | ||
+ | [[sWarning/de|$WARNING]] erstellt eine selbstdefinierte Warnmeldung<br> | ||
+ | [[sWarnings/de|$WARNINGS]] erlaubt selbstdefinierte Warnmeldungen<br> | ||
+ | <br> | ||
+ | |||
+ | =Lokale Compiler Direktiven nur für Intel 80x86 und kompatible Prozessoren= | ||
+ | [[sAsmmode/de|$ASMMODE]] Assemblermodus<br> | ||
+ | [[sI386xxx/de|$I386_XXX]] legt das Assemblerformat fest<br> | ||
+ | [[sMmx/de|$MMX]] erzwingt Optimierungen für den MMX Prozessor<br> | ||
+ | [[sSaturation/de|$SATURATION]] Saturation (Schutz gegen Speicherüberlauf) Operationen für den MMX Prozessor<br> | ||
+ | [[sMaxfpuregisters/de|$MAXFPUREGISTERS]] legt die maximale Anzahl der zu nutzenden Fliesskommaregister fest<br> | ||
+ | <br> | ||
+ | |||
+ | =Lokale Compiler Direktiven nur für das Betriebssystem Darwin= | ||
+ | [[sLinkframework/de|$LINKFRAMEWORK]] fügt ein Framework ein<br> | ||
+ | <br> | ||
+ | =Lokale Compiler Direktiven nur für Compiler Mode MacPas= | ||
+ | Diese Befehle werden aus Kompatibilität zum existierenden Mac OS Pascal Compiler unterstützt:<br> | ||
+ | [[sAlign/de|$A und $ALIGN]] bestimmt die Datenausrichtung von Records<br> | ||
+ | [[sErrorc/de|$ERRORC]] gibt eine Fehlermeldung aus<br> | ||
+ | [[sOv/de|$Q oder $OV]] überwacht den Überlauf von Integervariablen<br> | ||
+ | ==Bedingte Compilierung== | ||
+ | [[sElsec/de|$ELSEC]] ist eine Verzweigung der bedingten Compilierung<br> | ||
+ | [[sElifc/de|$ELIFC]] ist eine Verzweigung der bedingten Compilierung<br> | ||
+ | [[sEndc/de|$ENDC]] ist das Ende einer bedingten Compilierung<br> | ||
+ | [[sIfc/de|$IFC]] ist der Anfang einer bedingten Compilierung<br> | ||
+ | ==Symbole== | ||
+ | [[sDefinec/de|$DEFINEC]] erlaubt die Definition eigener Symbole<br> | ||
+ | [[sSetc/de|$SETC]] definiert ein Symbol und weist ihm einen Wert zu<br> | ||
+ | [[sUndefc/de|$UNDEFC]] hebt die Definition eines Symbols auf<br> | ||
+ | <br> | ||
+ | <br> | ||
+ | --[[User:Olaf|Olaf]] 17:00, 8 November 2012 (UTC) | ||
+ | {{AutoCategory}}[[Category:Free Pascal Programmers Guide/de]] |
Latest revision as of 21:56, 8 March 2023
│
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)