Atari Logo
Atari Computer

Hauptseite -
Welches System? -
Hardware -
Software -
Emulatoren -
Internet
MausNet
Programmieren
Verweise
Über

C Sprachbeschreibung

Home Inhaltsverzeichnis Funktionspointer Die ANSI Bibliotheken

12 Preprozessor

Zeilen mit dem Lattenkreuz bzw. Hash '#' als ersten Buchstaben sind Anweisungen für den Preprozessor.

#include <stdio.h>

Die Include Anweisung fügt den Inhalt der angegebenen Datei in den Quellcode ein. Wird der Name in spitzen Klammern (kleiner, größer) angegeben, wird nur das Verzeichnis nach dieser Datei durchsucht, das bei der Installation des Comilers als Include Verzeichnis angegeben wurde. Dies wird für die mit dem Compiler mitgelieferten Include Dateien benötigt. Wird der Name in doppelten Hochkommas angegeben, wird zuerst das aktuelle Verzeichnis und danach das Systemverzeichnis durchsucht.

#define PI 3.141592
#define max(x,y) ((x)>(y)?(x):(y))

Mit der Define Anweisung wird eine Regel für Textersetzungen definiert. überall, wo im Quellcode der erste Text auftaucht, wird er durch den zweiten ersetzt. Der Präprozessor ist auch in der Lage, Parameter zu erkennen, damit lassen sich auch Makros definieren. Es ist nicht nötig, einen Wert für eine Textersetzung anzugeben, wenn nur die Existenz der Definition vom Präprozessor abgefragt werden soll.

#define TEST

int main(void)

   int x;

   x = 3;
#ifdef TEST
   x += 4;
#endif
   printf("x = %d", x);

Mit ifdef kann abgefragt werden, ob ein bestimmter Name per define definiert worden ist. Wenn ja, wird der dahinter stehende Code bis zum else oder endif, wenn kein else vorhanden ist, für den Compiler im Quelltext belassen. Der nicht zutreffende Teil ist für den Compiler nicht sichtbar. Er wird nicht in den Code übernommen. Es gibt auch die Abfrage, ob ein Name per define nicht definiert ist.

#if SYSTEM == SYSV
   #define HDR "sysv.h"
#elif SYSTEM == BSD
   #define HDR "bsd.h"
#elif SYSTEM == TOS
   #define HDR "tos.h"
#else
   #define HDR "default.h"
#endif

Die if Anweisung wertet ganze Ausdrücke aus. Um mehrere Bedingungen der Reihe nach abzufragen, gibt es die elif Anweisung.

#pragma

Mit der Pragma Anweisung können Compilerspezifische Anweisungen ausgeführt werden. Dies könnten z.B. Einstellungen des Comilers sein.


Home Inhaltsverzeichnis Funktionspointer Die ANSI Bibliotheken


Best viewed with any browser English version not yet available.

Änderungen und Irrtümer vorbehalten. Letzte Änderung:
14 September 2001.
Home - Mail an den Webmaster - Impressum