Kombination zweier #definierter Symbole in C ++ - Präprozessor

8

Ich möchte tun:

%Vor%

, so dass PRODUKT tatsächlich MyApplication_XY123 ist. Ich habe versucht, mit dem Merge-Operator ## zu spielen, aber mit begrenztem Erfolg ...

%Vor%

= & gt; MyApplication_VERSION

%Vor%

= & gt; MyApplication_ (XY123) - schließen, aber nicht ganz

Was ist möglich?

    
Mr. Boy 16.05.2013, 15:30
quelle

3 Antworten

7

Das Einfügen von Token funktioniert mit Argumenten für Makros. Probieren Sie das also

%Vor%     
brian beuning 16.05.2013, 15:37
quelle
3

Der ## -Operator wirkt vor der Argumentsubstitution Ort. Die klassische Lösung besteht darin, einen Helfer zu verwenden:

%Vor%     
James Kanze 16.05.2013 15:37
quelle
1

Alle Probleme in der Informatik können durch eine zusätzliche Ebene der Indirektion gelöst werden:

%Vor%     
Jonathan Wakely 16.05.2013 15:37
quelle

Tags und Links