Question

Je cherchai le site mais n'a pas trouvé la réponse que je cherchais alors voici une question très rapide.

Je suis en train de faire quelque chose comme ça:

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

Comment puis-je faire une telle chose? Je sais que _WIN32 est défini pour les 32 et 64 bit windows donc je serais d'accord avec soit pour la détection des fenêtres. Je suis plus intéressé à savoir si je peux utiliser des opérateurs logiques comme les directives de préprocesseur, et si oui comment, étant donné que cette procédure ne fonctionne pas.

Compiler avec gcc je reçois:

  

avertissement: jetons supplémentaires à la fin de #ifdef directive, et il prend essentiellement que la première MACRO et ne tient pas compte du reste

.
Était-ce utile?

La solution

Essayez:

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

Le défini des tests macro ou non un nom est défini et vous permet de appliquer des opérateurs logiques au résultat.

Autres conseils

Vous devez utiliser #if et opérateur spécial defined

Je pense qu'il devrait être possible de cette façon:

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

Plus d'informations ici

Utilisation définie:

#if defined(A) || defined(B)
    #include <whatever.h>
#endif
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top