1// Einbinden einer anderen Source-Datei
2#include <stdio.h>
3
4// definieren von Makros
5#define VERSION 1
6#define SQUARE(_x) ((_x)*(_x))
7
8// zuruecknehmen von Definitionen
9#undef VERSION
10
11// bedingte Codestellen mittels Praeprozessor-Direktiven
12#if
13#ifdef
14#ifndef
15#else
16#elif
17#endif
18
19// Bsp.:
20#if DEBUG >= 1
21 #define dbPrintf(_fh, _str) fprintf(_fh, _str)
22#else
23 #define dbPrintf(_fh, _str)
24#endif
25
26// defines ueber mehrere Zeilen
27#define printXTimes(_str, _x) \
28 for (int i=0; i<_x; i++) \
29 { \
30 printf(_str); \
31 }
32
33// vordefinierte Makros
34// __LINE__ ... Ausgabe der aktuellen Zeile
35// __FILE__ ... Ausgabe des aktuellen Dateinamens
36// __DATE__ ... Ausgabe des aktuellen Datums
37// __TIME__ ... Ausgabe der aktuellen Zeit
38#define printWithDetails(_text) \
39 printf("Datei [%s], Zeile %d: %s\n", \
40 __FILE__, __LINE__, text)
41
42// Verhinderung von mehreren gleichen Einbindungen
43#ifndef TEST_H
44#define TEST_H
45 // Header-Datei Source Code
46#endif
47
48// Veraenderung von Zeilennummerierungen
49#line 12 "file.h"
50
51// Praeprozessor Error Ausgabe
52#error "Version zu niedrig!"
53
54// Systemspezifische Optionen - Compiler Optionen aendern
55#pragma