Partilhar via


Diretivas # ifdef e # ifndef (C/C++)

O # ifdef e # ifndef diretivas executam a mesma tarefa como a #if diretiva quando ele é usado com definida pelo( identificador ).

#ifdef identifier
#ifndef identifier

// equivalent to
#if defined identifier
#if !defined identifier

Comentários

Você pode usar o # ifdef e # ifndef em qualquer lugar diretivas #if pode ser usado.O # ifdefidentificador declaração é equivalente a #if 1 quando identificador tiver sido definida, e é equivalente a #if 0 quando identificador não foi definido ou não tem sido definida com o #undef diretiva. Essas diretivas somente verificar a presença ou ausência de identificadores definidos com #define, mas não para identificadores declaradas no código-fonte c ou C++.

Essas diretivas são fornecidas apenas para compatibilidade com versões anteriores da linguagem.O definido (identificador) expressão de constante usada com o #if diretiva é preferida.  

O # ifndef diretiva verifica o oposto da condição marcada por # ifdef.Se o identificador não tiver sido definido (ou sua definição foi removida com #undef), a condição é verdadeira (diferente de zero).Caso contrário, a condição for falsa (0).

Específicos do Microsoft

O identificador podem ser passados na linha de comando usando a opção /D.Até 30 macros, podem ser especificadas com /D.

Isso é útil para verificar se existe uma definição, porque uma definição pode ser passada na linha de comando.Por exemplo:

// ifdef_ifndef.CPP
// compile with: /Dtest /c
#ifndef test
#define final
#endif

Específicos do Microsoft final

Consulte também

Referência

Diretivas de pré-processador