FSST - Hardwarenahe Programmierung

Praeprozessor Direktiven

Inhalt


Präprozessor-Direktiven werden vom Präprozessor bearbeitet; z.B. #include fügt die angegebene Datei an der entsprechenden Position ein:

#include "mbed.h"

Weitere Aufgaben sind z.B. symbolische Konstante und Makros zu definieren mit #define

#define RTC8563_ADR 0xA2

Der Präprozessor durchsucht den Quelltext und ersetzt überall, wo RTC8563_ADR vorkommt, RTC8563_ADR durch den Ersatztext (0xA2). Beachte: Kein "=" und kein ";"
BESSER: Benannte Konstante verwenden, da der Compiler diese überprüfen kann:

const int RTC8563_ADR = 0xA2;

Um Teile des Quelltextes während des Compilierens zu selektieren (#ifdef / #if !defined bzw. #ifndef).

#if !defined (_CONST_H)
#define _CONST_H

const int RTC8563_ADR = 0xA2;

#endif

ODER:

#ifndef _CONST_H
#define _CONST_H

const int RTC8563_ADR = 0xA2;

#endif

Diese Direktiven werden eingesetzt, um zu überprüfen, ob ein Symbol zuvor schon mit #define definiert wurde. Ist _CONST_H definiert, liefert diese Direktivet 1 zurück, ansonsten 0. Abgeschlossen wird eine bedingte Übersetzung mit der Direktive #endif. Somit würde der obigen Code, nur einmal im Projekt eingebunden werden, was auch an anderer Stelle (z.B. Klassendeklaration) notwendig ist, da sonst Compiler-Fehler auftreten könnten:

/media/uploads/bulmecisco/fehler_256_-mobile-.jpg

Inhalt


All wikipages