009
03.07.2007, 01:40 Uhr
0xdeadbeef
Gott (Operator)
|
Mit ner Funktion kommste da nicht wirklich weiter, weil das __FILE__-Makro ja zur Compilezeit ersetzt wird, also den Namen der Datei beinhaltet, in der es steht.
Der Vollständigheit halber erwähnenswert, es gibt in C/C++ eine relativ unbekannte Präprozessordirektive, #line. Wird benutzt wie folgt:
C++: |
#line 12 // oder #line 2 "dateiname.c"
|
...damit werden dann __LINE__ und __FILE__ quasi auf die entsprechenden Werte gesetzt. Codegeneratoren benutzen sowas häufig, z.B. flex und bison. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |