Atividade complementar 2

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (352 palavras )
  • Download(s) : 0
  • Publicado : 18 de outubro de 2011
Ler documento completo
Amostra do texto
O pré-processador
O pré-processador C é um programa que examina o programa fonte escrito em C e executa certas modificações nele, baseado nas diretivas de compilação (ou diretivas dopré-processador). As diretivas de compilação são comandos que não são compilados, sendo dirigidos ao pré-processador, executado pelo compilador antes da execução do processo de compilação propriamente dito.Portanto, o pré-processador modifica o programa fonte, que ainda não estaria pronto para ser entregue ao compilador. Todas as directivas de compilação são iniciadas pelo caractere # (sharp). As diretivaspodem ser colocadas em qualquer parte do programa, mas não podem ser colocadas na mesma linha que outra diretiva ou instrução.

Diretivas de compilação

#if
A diretiva #if tem a seguinte formageral:
#if expressão
código
...
#endif
A sequência de declarações será compilada apenas se a expressão fornecida for verdadeira. É muito importande ressaltar que a expressão fornecida nãopode conter nenhuma variável, apenas valores constantes e símbolos do pré-processador.

#else
A diretiva #else funciona como na estrutura de bloco if (condição) {...} else {...}:
#if expressão /*ou #ifndef expressão */
código /* será executado se a expressão for verdadeira */
#else
código /* será executado se a expressão for falsa */
#endif
Um exemplo:
#define WINDOWS
...
/*código */
...
#ifdef WINDOWS
#define CABECALHO "windows_io.h"
#else
#define CABECALHO "unix_io.h"
#endif
#include CABECALHO

#elif
A diretiva #elif serve para implementar uma estrutura do tipoif (condição) {...} else if (condição) {...}. Sua forma geral é:
#if expressão_1
código
#elif expressão_2
código
#elif expressão_3
código
.
.
.
#elif expressão_n
código#endif
Podemos também misturar diretivas #elif com #else; obviamente, só devemos usar uma diretiva #else e ela deve ser a última (antes de #endif).

#ifdef e #ifndef
O pré-processador também tem...
tracking img