Den Stringwert des #define -Namens herausbekommen ?
-
hallo zusammen,
das hört sich jetzt vielleicht seltsam an, aber kann ich aus einem #define makro den Name des Makros extrahieren ? beispiel:
#define mytest 15
nun möchte ich eine liste von strings erstellen, die die namen und ihren wert enthalten. also
char[2] test;
test = stringliste.mytest;
Messagebox(test); -> Ausgabe = 15
Natürlich kann ich meine #define-Header-Datei als Textdatei einlesen und nach #defines suchen, aber das möchte ich ja grade nicht.
Wäre echt dankbar für Hilfe,
sewin
-
Das geht nicht.
-
Die Frage wäre gewesen:
"Was ist ein #define?"*Dir_ein_C-Buch_empfehle*
-
hm,
c-buch hab ich gelesen. trotzdem weiss ich das es unter visual-c++ ein (microsoft-eigenes ???) präprozessor-makro gibt, dass dir den Namen des #defines zurückgibt. nur wie es heisst weiss ich nimmer.
-
Hi!
Der Einsatz würde mich interessieren.
(Bessere Fehlermeldung !?!?)Das Define wird vor dem Compilieren ausgewertet und existiert nicht mehr zur
Compilezeit.
-
Original erstellt von Sewin:
hm,
c-buch hab ich gelesen. trotzdem weiss ich das es unter visual-c++ ein (microsoft-eigenes ???) präprozessor-makro gibt, dass dir den Namen des #defines zurückgibt. nur wie es heisst weiss ich nimmer.dein code ist nicht gerade verständlich. hab keine ahnung, was der machen soll.
das dichteste, was ich sehe, ist der #-operator.
#define TEST(x) cout<< #x << "==" << x << endl;
-
Original erstellt von Knuddlbaer:
**Hi!Der Einsatz würde mich interessieren.
(Bessere Fehlermeldung !?!?)Das Define wird vor dem Compilieren ausgewertet und existiert nicht mehr zur
Compilezeit.**wir schreiben in unserer firma an einem geschichteten programmierprojekt, wozu ich einen Compiler schreibe, der Code erzeugt, der auf einem Microcontroller ausgeführt wird. die Microkontroller-leute verwenden die gleichen Felder in einem array wie die adressen die von meinem compiler ausgegeben werden und besitzen deshalb eine headerdatei, wo sie ihre variablennamen auflösen in bestimmte addressen. damit ich ebenfalls mit den namen -> adressen arbeiten kann, brauche ich diese teile in einer liste "name: adresse". Und damit ich nicht code schreiben muss um durch das ganze headerfile zu tracen und mir die passenden #defines mit den namen und werten rausziehen muss, wollte ich wissen, wie ich mir den name des #defines vom präprozessor geben lassen kann.