Ci scusiamo per la domanda di base. Vorrei impostare la condizione OR nella direttiva #ifdef.? Come si fa? Ho provatocome usare #ifdef con una condizione OR?
#ifdef LINUX | ANDROID
...
..
#endif
Non ha funzionato? Qual è il modo corretto?
Ci scusiamo per la domanda di base. Vorrei impostare la condizione OR nella direttiva #ifdef.? Come si fa? Ho provatocome usare #ifdef con una condizione OR?
#ifdef LINUX | ANDROID
...
..
#endif
Non ha funzionato? Qual è il modo corretto?
Ti piace questa
#if defined(LINUX) || defined(ANDROID)
Questo funziona per #ifdef x || y. Quindi, se si volesse impostare FOO = 0x55 se X o Y sono definiti
#ifdef x
FOO=0x55;
#else
#ifdef y
FOO=0x55;
#endif
#endif
|| è un OR inclusivo, ma il codice pubblicato è per un OR esclusivo. Per favore vedi http://stackoverflow.com/questions/3246249/che-è-la differenza- tra-inclusive-and-exclusive-or –
@Charles Burns: il codice postato sopra NON è esclusivo O come dici tu. Anche se entrambi i macro x e y sono definiti, il codice ancora imposterà FOO = 0x55 in uno dei due dando così l'effetto desiderato. Il tuo commento è fuorviante e completamente scorretto. – goldenmean
Se stai usando '|' per "o" nelle condizionali C troppo, si sta facendo male. –