Sintaxe

 

#ifndef <identificador>

          ...

          <instruções>

          ...

[ #else ]

          ...

          <instruções>

          ...

[ #endif ]

 

Propósito

 

A diretiva #ifndef compila uma seção de código-fonte apenas se um determinado identificador não tiver sido definido.

 

Argumentos

 

<identificador>

 

Define o nome do identificador que será testado para comprovar a sua inexistência.

 

Utilização

 

A diretiva #ifndef ... #endif permite a realização de compilações condicionais. A compilação condicional permite que um determinado trecho de código-fonte seja ou não compilado, dependendo da inexistência ou não de um identificador. Um identificador pode ser definido pela diretiva #define.

 

Se a cláusula #else for especificada e o identificador não existir, o trecho de código entre o #ifndef e o #else será compilado. Se o identificador existir, o trecho de código entre o #else e o #endif é que será compilado.

 

Se a cláusula #else não for especificada e o identificador não existir, o trecho de código entre o #ifndef e o #endif será compilado. Se o identificador existir, esse trecho de código não será compilado.

 

Dicas

 

A compilação condicional é útil principalmente quando for necessária a manutenção de várias versões diferentes do mesmo programa. Para cada versão poderá ser compilado um determinado trecho de código diferente, de acordo com os identificadores que forem especificados.

 

A diretiva #ifndef ... #endif é o inverso da diretiva #ifdef ... #endif.

 

 

  • Sem rótulos