ExpertiDict

C · Intermediário · Português · Técnico

compilação condicional

/kõ.pi.laˈsɐ̃w kõ.dʒi.sjoˈnaw/substantivo

Uso de #if, #ifdef, #ifndef, #else e #endif para incluir ou excluir trechos do código conforme macros definidas, sem que o trecho excluído chegue ao compilador.

Onde usar

Serve para código específico de plataforma e para ligar logs de depuração com -DDEBUG. Em excesso, deixa o código difícil de ler e de testar em todas as combinações.

Em código

#ifdef DEBUG
#define LOG(m) fprintf(stderr, "%s\n", m)
#else
#define LOG(m) ((void)0)
#endif

Exemplos

Usei compilação condicional para o código que só roda no Windows.

Compile com -DDEBUG para ligar a compilação condicional dos logs.

Cuidado

Usar #if para esconder código quebrado: o trecho excluído nunca é verificado e apodrece.

Sinônimos

#ifdef

Veja também

Todos os termos de C