keine Ahnung, welche Laus dir jetzt schon wieder über die Leber gelaufen ist, schließlich bist du ja der, der nicht auf meine Frage exakt geantwortet hast, sondern mit unverständlichen Beispielen und irreführenden Links geantwortet hast.

Also noch mal die Ausgangsfrage vom TOP:

Zitat Zitat von HaWe Beitrag anzeigen
hallo,
ich möchte per bedingter Compilierierung meinen Code für verschiedene Zielplattformen anpassen, ähnlich wie hier:

Code:
#define TARGET 3 // willkürlicher Wert je nach Zielplattform
#if TARGET==1
/* code wenn TARGET gleich 1 ist */
#elif TARGET==2
/* code wenn TARGET 2 ist  */
#else 
/* code wenn TARGET  nicht 1 oder 2 ist*/
#endif
Der Wert der Konstanten für TARGET muss global im Kopf deklariert werden, also außerhalb von Funktionen.
Daneben müsen die #if / #elif -Abfrage ebenfalls im Kopf möglich sein (für weitere globale #define-Konstanten, die sich daraus ergeben), zusätzlich aber auch im Code selber.
- das geht mit den Zahlen-Konstanten auch soweit.

A-Bär:
meine Werte für TARGET sind nicht numerisch, sondern Buchstaben (U, M, Z, D oder E) -
wie muss ich dann TARGET #definieren? und wie lauten dann die zugehörigen #if / #elif Abfragen?
#define TARGET Z
#if TARGET==Z // ???
#if TARGET=='Z' // ???

oder
#define TARGET 'Z'
#if TARGET==Z // ???
#if TARGET=='Z' // ???

oder
const char TARGET = 'Z';

und wie lauten dann die zugehörigen #if / #elif Abfragen?

oder geht das gar nicht mit Buchstaben oder C strings?