- Makrosubstitution (#define)
- Programmeigenschaften (#property)
- Include Dateien (#include)
- Import der Funktionen (#import)
- Bedingte Kompilierung (#ifdef, #ifndef, #else, #endif)
Makrosubstitution (#define, #undef)
Der Compiler verwendet Direktiven des Präprozessors für eine vorbereitende Verarbeitung eines Quellcodes vor der Kompilierung. Die Direktive beginnt immer mit dem Zeichen # (Doppelkreuz), deswegen verbietet der Compiler, dieses Zeichen in den Namen von Variablen, Funktionen usw. zu verwenden.
Jede Direktive wird in einem separaten Eintrag beschrieben und ist bis zum Zeilenumbruch gültig. In einem Eintrag können Sie nur eine Direktive verwenden. Wenn der Eintrag der Direktive zu groß ist, kann er mithilfe des Zeichens '\' in mehrere Zeilen aufgeteilt werden. In diesem Fall gilt die nächste Zeile als eine Fortsetzung des Eintrags dieser Direktive.
Befehlende Anweisung #define kann verwendet werden, um mnemonische Namen den zuzuordnen. Es gibt zwei Formen:
#define identifier expression // parameterfreie Form
|
Befehlsanweisung #define ersetzt expression anstatt aller folgenden gefundenen Eintragungen von identifier im Ausgangstext. identifier wird erst dann ersetzt, wenn er einzelner token darstellt. identifier wird nicht ersetzt, wenn er ein Teil des Kommentars, der Zeile oder eines anderen laengeren Identifikators ist.
für den Identifikator der Konstante gelten dieselbe Regeln, wie für die Konstantennamen. Der wert kann jeder Art sein:
#define ABC 100
|
expression kann aus mehreren tokens bestehen, wie Schluesselwoerter, Konstanten, Konstant- und Nichtkonstantausdrücke. expression beendetmit dem Zeilenende und kann nicht auf die naechste Zeile ubertragen werden.
Beispiel:
#define TWO 2
|
Parametrische Form #define
Mit der parametrischen Form, werden alle folgenden gefunden Einträge von identifier werden durch expression auf der Grundlage der aktuellen Parameter ersetzt werden. Zum Beispiel,
// Beispiel mit zwei Parameter a und b |
Achten Sie darauf, dass Parameter in Klammern eingeschlossen sind, wenn Sie den Parameter in expression verwenden, da dies nicht-offensichtlichen Fehlern, die schwer zu finden sind, vermeidet. Wenn wir den Code neu schreiben, ohne die Klammern, wird das Ergebnis anders sein:
// Beispiel mit zwei Parameter a und b |
Bei Verwendung der parametrischen Form sind maximal 8 Parameter erlaubt.
// richtige parametrische Form
|
Direktive #undef
Direktive #undef annulliert das früher definierten Makro.
Beispiel:
#define MACRO
|
Sehen Sie auch