C pré-processador testar definedness de várias macros
-
12-09-2019 - |
Pergunta
Eu procurei o site, mas não encontrou a resposta que eu estava procurando por isso aqui é uma pergunta muito rápida.
Eu estou tentando fazer algo assim:
#ifdef _WIN32 || _WIN64
#include <conio.h>
#endif
Como posso fazer uma coisa dessas? Eu sei que _WIN32 está definido para 32 e 64 bits do Windows para que eu ficaria bem com qualquer um para a detecção de janelas. Estou mais interessado em saber se eu posso usar operadores lógicos como aquele com as directivas de pré-processador, e se sim como, uma vez que o acima não funciona.
Compilando com gcc I get:
aviso:. Fichas extras no final da directiva #ifdef, e que basicamente só tem o primeiro MACRO e ignora o resto
Solução
Tente:
#if defined(_WIN32) || defined(_WIN64)
// do stuff
#endif
O definido macro testa se um nome está definido e permite-lhe aplicar operadores lógicos para o resultado.