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?
Lesezeichen