Difference between revisions of "local compiler directives"
From Free Pascal wiki
Jump to navigationJump to searchJwdietrich (talk | contribs) (First scaffold (German text still to be translated).) |
Jwdietrich (talk | contribs) (Local compiler directives translated.) |
||
Line 5: | Line 5: | ||
The following text is still to be translated to English: | The following text is still to be translated to English: | ||
− | == | + | ==Local compiler direvtives== |
− | *[[sAlign/de|$A | + | *[[sAlign/de|$A and $ALIGN]] determines the of alignment of data in records. |
− | *[[sA/de|$A1, $A2,$A4 | + | *[[sA/de|$A1, $A2,$A4 and $A8]] determines the of alignment of data in records. Has the same effect as the directive $PACKRECORDS. |
− | *[[sBooleval/de|$B | + | *[[sBooleval/de|$B or $BOOLEVAL]] enables short-cut evaluation of boolean values. |
− | *[[sAssertions/de|$C | + | *[[sAssertions/de|$C or $ASSERTIONS]] supports debugging. |
− | *[[sBitpacking/de|$BITPACKING]] | + | *[[sBitpacking/de|$BITPACKING]] enables bit-wise packing of records. |
− | *[[sCalling/de|$CALLING]] | + | *[[sCalling/de|$CALLING]] determines calling-convention of routines. |
− | *[[sCheckpointer/de|$CHECKPOINTER]] | + | *[[sCheckpointer/de|$CHECKPOINTER]] checks validity of pointers. |
− | *[[sCodealign/de|$CODEALIGN]] | + | *[[sCodealign/de|$CODEALIGN]] determines the code-aligning in memory. |
− | *[[sCoperators/de|$COPERATORS]] | + | *[[sCoperators/de|$COPERATORS]] enables usage of operatores similar to conventions in the C language. |
− | *[[sDefine/de|$DEFINE | + | *[[sDefine/de|$DEFINE or $DEFINEC]] enables definition of own symbols. |
− | *[[sExtendedsym/de|$EXTENDEDSYM]] | + | *[[sExtendedsym/de|$EXTENDEDSYM]] ignored by compiler. |
− | *[[sFar/de|$F]] | + | *[[sFar/de|$F]] ignored by compiler. |
− | *[[sFputype/de|$FPUTYPE]] | + | *[[sFputype/de|$FPUTYPE]] compiles according to FPU type |
− | *[[sGoto/de|$GOTO]] | + | *[[sGoto/de|$GOTO]] enables Goto and Label |
− | *[[sH/de|$H | + | *[[sH/de|$H or $LONGSTRINGS]] determines string type for reserved word [[string]]. |
− | *[[sHppemit/de|$HPPEMIT]] | + | *[[sHppemit/de|$HPPEMIT]] ignored by compiler. |
− | *[[sImplicitexeptions/de|$IMPLICITEXCEPTIONS]] | + | *[[sImplicitexeptions/de|$IMPLICITEXCEPTIONS]] helps to avoid memory leaks. |
− | *[[sInline/de|$INLINE]] | + | *[[sInline/de|$INLINE]] copies procedures to the place, where they have been called from. |
− | *[[sInterfaces/de|$INTERFACES]] | + | *[[sInterfaces/de|$INTERFACES]] determines interface type. |
− | *[[sIochecks/de|$I | + | *[[sIochecks/de|$I or $IOCHECKS]] enables checking of input/output. |
− | *[[sIncludefile/de|$I | + | *[[sIncludefile/de|$I or $INCLUDE]] includes file in compilation. |
− | *[[sIncludecompilerinfo/de|$I | + | *[[sIncludecompilerinfo/de|$I or $INCLUDE]] included certein compiler information. |
− | *[[sWritableconst/de|$J | + | *[[sWritableconst/de|$J or $WRITEABLECONST]] enables run-time assigning of values to typed constants. |
− | *[[sLink/de|$L | + | *[[sLink/de|$L or $LINK]] inserts object file during linking. |
− | *[[sLinklib/de|$LINKLIB]] | + | *[[sLinklib/de|$LINKLIB]] inserts library during linking. |
− | *[[sTypeinfo/de|$M | + | *[[sTypeinfo/de|$M or $TYPEINFO]] creates RTTI |
− | *[[sMacro/de|$MACRO]] | + | *[[sMacro/de|$MACRO]] enables usage of macros. |
− | *[[sMinenumsize/de|$MINENUMSIZE]] | + | *[[sMinenumsize/de|$MINENUMSIZE]] for Delphi-compatibility, see [[sPackenum/de|$PACKENUM or $Z]] |
− | *[[sMinfpconstprec/de|$MINFPCONSTPREC]] | + | *[[sMinfpconstprec/de|$MINFPCONSTPREC]] sets minimum accuracy of floating point operations. |
− | *[[sNodefine/de|$NODEFINE]] | + | *[[sNodefine/de|$NODEFINE]] ignored by compiler. |
− | *[[sObjectchecks/de|$OBJECTCHECKS]] | + | *[[sObjectchecks/de|$OBJECTCHECKS]] checks usage of pointer to self. |
− | *[[sOptimization/de|$OPTIMIZATION]] | + | *[[sOptimization/de|$OPTIMIZATION]] switches on certain optimizations. |
− | *[[sOutput_format/de|$OUTPUT_FORMAT]] | + | *[[sOutput_format/de|$OUTPUT_FORMAT]] determines output format of object file. |
− | *[[sPackenum/de|$PACKENUM | + | *[[sPackenum/de|$PACKENUM or $Z]] enables packing of compiler enumerations. |
− | *[[sPackrecords/de|$PACKRECORDS]] | + | *[[sPackrecords/de|$PACKRECORDS]] determines alignment of records in memory. |
− | *[[sPackset/de|$PACKSET]] | + | *[[sPackset/de|$PACKSET]] determines packing of sets. |
− | *[[sPop/de|$POP]] | + | *[[sPop/de|$POP]] recreates saved compiler settings. |
− | *[[sPush/de|$PUSH]] | + | *[[sPush/de|$PUSH]] saves current compiler settings. |
− | *[[sOverflowchecks/de|$OVERFLOWCHECKS]] | + | *[[sOverflowchecks/de|$OVERFLOWCHECKS]] checkes integer variables for overflow. |
− | *[[sRangechecks/de|$R | + | *[[sRangechecks/de|$R or $RANGECHECKS]] checks overflow of index in compound variables. |
− | *[[sResource/de|$R | + | *[[sResource/de|$R or $RESOURCE]] inserts resource file. |
− | *[[sStatic/de|$STATIC]] | + | *[[sStatic/de|$STATIC]] enable usage of the reserved word static. |
− | *[[sTypedadress/de|$T | + | *[[sTypedadress/de|$T or $TYPEDADDRESS]] determines, if the address operator @ delivers a typed or untyped pointer. |
− | *[[sUndef/de|$UNDEF]] | + | *[[sUndef/de|$UNDEF]] undefines symbol. |
− | *[[sVarstringchecks/de|$V | + | *[[sVarstringchecks/de|$V or $VARSTRINGCHECKS]] enables checking of assignments to string variables. |
− | *[[sStackframes/de|$W or $STACKFRAMES]] | + | *[[sStackframes/de|$W or $STACKFRAMES]] determines conditions for the creation of stack frames. |
− | *[[sWait/de|$WAIT]] | + | *[[sWait/de|$WAIT]] waits with execution until the enter key has been pressed. |
==Bedingte Compilierung== | ==Bedingte Compilierung== |
Revision as of 13:40, 21 September 2013
│
Deutsch (de) │
English (en) │
français (fr) │
Local directives may be used more then once in a unit or program.
The following text is still to be translated to English:
Local compiler direvtives
- $A and $ALIGN determines the of alignment of data in records.
- $A1, $A2,$A4 and $A8 determines the of alignment of data in records. Has the same effect as the directive $PACKRECORDS.
- $B or $BOOLEVAL enables short-cut evaluation of boolean values.
- $C or $ASSERTIONS supports debugging.
- $BITPACKING enables bit-wise packing of records.
- $CALLING determines calling-convention of routines.
- $CHECKPOINTER checks validity of pointers.
- $CODEALIGN determines the code-aligning in memory.
- $COPERATORS enables usage of operatores similar to conventions in the C language.
- $DEFINE or $DEFINEC enables definition of own symbols.
- $EXTENDEDSYM ignored by compiler.
- $F ignored by compiler.
- $FPUTYPE compiles according to FPU type
- $GOTO enables Goto and Label
- $H or $LONGSTRINGS determines string type for reserved word string.
- $HPPEMIT ignored by compiler.
- $IMPLICITEXCEPTIONS helps to avoid memory leaks.
- $INLINE copies procedures to the place, where they have been called from.
- $INTERFACES determines interface type.
- $I or $IOCHECKS enables checking of input/output.
- $I or $INCLUDE includes file in compilation.
- $I or $INCLUDE included certein compiler information.
- $J or $WRITEABLECONST enables run-time assigning of values to typed constants.
- $L or $LINK inserts object file during linking.
- $LINKLIB inserts library during linking.
- $M or $TYPEINFO creates RTTI
- $MACRO enables usage of macros.
- $MINENUMSIZE for Delphi-compatibility, see $PACKENUM or $Z
- $MINFPCONSTPREC sets minimum accuracy of floating point operations.
- $NODEFINE ignored by compiler.
- $OBJECTCHECKS checks usage of pointer to self.
- $OPTIMIZATION switches on certain optimizations.
- $OUTPUT_FORMAT determines output format of object file.
- $PACKENUM or $Z enables packing of compiler enumerations.
- $PACKRECORDS determines alignment of records in memory.
- $PACKSET determines packing of sets.
- $POP recreates saved compiler settings.
- $PUSH saves current compiler settings.
- $OVERFLOWCHECKS checkes integer variables for overflow.
- $R or $RANGECHECKS checks overflow of index in compound variables.
- $R or $RESOURCE inserts resource file.
- $STATIC enable usage of the reserved word static.
- $T or $TYPEDADDRESS determines, if the address operator @ delivers a typed or untyped pointer.
- $UNDEF undefines symbol.
- $V or $VARSTRINGCHECKS enables checking of assignments to string variables.
- $W or $STACKFRAMES determines conditions for the creation of stack frames.
- $WAIT waits with execution until the enter key has been pressed.
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