Auf den Wert einer Präprozessor-Makrodefinition zugreifen

Wenn ich unter GCC_PREPROCESSOR_DEFINITIONS ein Makro "FOO = bar" hinzufüge (oder Präprozessor-Makros, wenn Sie XCode verwenden), wie kann ich am besten auf den Wert von "FOO" zugreifen?

Zurzeit benutze ich das ungeschickte:

    #define MACRO_NAME(f) #f
    #define MACRO_VALUE(f)  MACRO_NAME(f)

    #ifdef FOO
        NSLog(@"%s", MACRO_VALUE(FOO));
    #else
        NSLog(@"undefined");
    #endif

Dies wird "bar" ausgeben

Sicher, es muss einen besseren / saubereren Weg geben?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage