Vordefinierte Makros
Der Preprozessor liefert standardmässig einige vordefinierte Makros, die in jedem Code zur Verfügung stehen. Je nach System kann jedoch der Umfang der vordefinierten Makros variieren. Hier werden nur die allerwichtigsten aufgeführt.
Standard-Makros
Die Folgenden Makros sollten auf jedem System unter jedem Compiler verfügbar sein.
- Das Makro
__FILE__ gibt den vollständigen Pfad der Datei als String zurück. Hier wird der Übersichtlichkeit wegen auf den Pfad verzichtet. Der Wert dieser Konstante kann mittels der #line-Direktive gesteuert werden.
- Das Makro
__LINE__ gibt die aktuelle Zeilennummer als integrale Konstante zurück. Der Wert dieser Konstante kann mittels der #line-Direktive gesteuert werden.
- Das Makro
__DATE__ gibt das aktuelle Datum als String zurück.
- Das Makro
__TIME__ gibt die aktuelle Zeit als String zurück.
#include <stdio.h>
int main(int argc, char** argv){
printf("File: %s\n", __FILE__);
printf("Line: %d\n", __LINE__);
printf("Date: %s\n", __DATE__);
printf("Time: %s\n", __TIME__);
return 0;
} |
File: test.cpp
Line: 5
Date: Aug 27 2007
Time: 21:23:48
|
Variable Parameter
Wenn mittels der #define-Direktive ein Makro mit variabler Anzahl Parameter definiert wird, stellt der Preprozessor diese als ein Makro __VA_ARGS__, zur Verfügung.
#define PRINT(string, ...) printf(string, __VA_ARGS__) | |
|