|
Hauptseite - Welches System? - Hardware - Software - Emulatoren - |
Internet MausNet Programmieren Verweise Über |
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.
![]() |
English version not yet available. |