Preprocessor

Einfacher Source Code, der Macros benutzt:

#ifndef GENAU
#   define PI  3.14
#else
#   define PI  3.14159
#endif

#define MAX(x,y)  ((x)>(y)) ? (x) : (y)


double
foo(double x)
{
    return MAX(PI, x);
}

Wir benutzen den Präprozessor des GNU C Compiler und expandieren nur die Makros:

$shell> gcc -E macro.c                                                         
# 1 "macro.c"
# 1 ""
# 1 "macro.c"
# 10 "macro.c"
double
foo(double x)
{
    return ((3.14)>(x)) ? (3.14) : (x);
}

Mit der Option -E wird nur der Präprozessor gestartet.