Usina BRAdvPL Guia
Entrar
← Todos os tópicos
DIRETIVAPublicado

#undef

#undef <identificador>

Remove uma definição ativa a partir do ponto onde a diretiva aparece.

Pré-processadorConstantesEscopo lexical
01 · VISÃO GERAL

Visão geral

#undef cancela um identificador criado anteriormente por #define. Depois dela, #ifdef deixa de considerar o símbolo definido e o mesmo nome pode receber uma nova definição.

02 · SINTAXE

Sintaxe

#undef <identificador>
03 · EXEMPLO PRÁTICO

Símbolo temporário

#define MODO_TESTE

#ifdef MODO_TESTE
    #define PREFIXO_LOG "[TESTE] "
#endif

#undef MODO_TESTE

User Function ExUndef()
#ifdef MODO_TESTE
    ConOut("Este trecho não será compilado")
#endif
Return
Resultado esperado

Depois de #undef, o segundo bloco condicional é descartado no pré-processamento.

BOAS PRÁTICAS
  • Use #undef quando o símbolo precisar existir apenas em uma parte da unidade fonte.
  • A remoção afeta somente as linhas processadas depois da diretiva.
ARMADILHAS COMUNS
  • Não confunda #undef com liberar memória: a definição não era uma variável de execução.
  • Redefinições sucessivas dificultam a leitura; prefira símbolos estáveis e escopo claro.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. #define. TDN. Última alteração em 22 mar. 2019.
  2. TOTVS. Diretivas para o compilador. TDN.
  3. TOTVS. #ifdef. TDN.
  4. TOTVS. #ifndef. TDN.
  5. TOTVS. #include. TDN.
  6. TOTVS. #undef. TDN.
Situação
Publicado
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR