Domanda

Ho cercato il sito, ma non ho trovato la risposta che cercavo: ecco un molto veloce domanda.

che sto cercando di fare qualcosa di simile:

#ifdef _WIN32 || _WIN64
     #include <conio.h>
#endif

Come posso fare una cosa simile? So che _WIN32 è definito per entrambe le finestre 32 e 64 bit quindi vorrei essere a posto con entrambi per il rilevamento di Windows. Sono più interessati a sapere se posso usare gli operatori logici come quello con le direttive del preprocessore, e se sì come, dal momento che quanto sopra non funziona.

La compilazione con gcc ottengo:

  

Attenzione: gettoni extra alla fine del #ifdef direttiva, ed è fondamentalmente solo prende il primo MACRO e ignora il resto

.
È stato utile?

Soluzione

Prova:

#if defined(_WIN32) || defined(_WIN64)
// do stuff
#endif

Il definito test di macro o meno un nome è definito e consente di applicare operatori logici per il risultato.

Altri suggerimenti

È necessario utilizzare #if e gestore speciale defined

Credo che dovrebbe essere possibile in questo modo:

#if defined block1 || defined block2 /*or any other boolean operator*/
   /*Code*/
#endif

Maggiori informazioni qui

Usa definito:

#if defined(A) || defined(B)
    #include <whatever.h>
#endif
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top