Buscar

06-Diretrizes do Pré-Processador

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Diretivas do Pré-Processador
Profa. Dra. Ieda Hidalgo
E-mail: iedahidalgo@ft.unicamp.br
Pré-processador
O pré-processador faz parte do compilador e é
executado automaticamente antes da
compilação.
Diretivas
Diretivas são as instruções que o pré-
processador executa.
Objetivos das Diretivas
Alterar o código-fonte na sua forma de texto
deixando o programa mais claro e fácil de
realizar a manutenção.
Instruções para o pré-processador fazem parte
do texto que criamos, mas não farão parte do
programa que compilamos, pois serão retiradas
do texto pelo compilador antes da compilação.
Características das Diretivas
• Todas as diretivas do pré-processador são
iniciadas com o símbolo “#”.
• Não há ";" após diretivas.
• Cada diretiva deve ser escrita numa linha
nova.
Localização das Diretivas
As diretivas podem ser colocadas em qualquer
lugar do programa.
Geralmente são escritas no início do
programas.
Elas se aplicam do ponto onde são escritas ao
final do programa fonte.
Diretivas mais Utilizadas
• # define
• # undef
• # include 
# define
É usada para definir constantes simbólicas ou macros.
Quando o compilador encontra a diretiva # define, ele
procura em cada linha abaixo dela a ocorrência da
palavra e a substitui.
const inline
Observações
Não há substituição dentro de cadeias de caracteres
(entre aspas) e comentários.
Se a string de substituição for maior que uma linha,
pode-se utilizar “\” e continuá-la na próxima linha.
O qualificador const é reconhecido pelo compilador. Se
uma constante declarada com “const” for usada de
modo errado, o compilador acusará.
O especificador inline do C++ realiza o mesmo objetivo
da macro de maneira mais segura, pois é reconhecido
pelo compilador.
# undef
Remove a definição mais recente criada com #define.
não incluir a lista de argumentos
# include
Adiciona arquivos de cabeçalho (.h) no programa
fonte. O compilador substitui a diretiva # include pelo
conteúdo do arquivo indicado antes do programa ser
compilado.
Exemplos: 
#include <iostream.h> 
// o arquivo é procurado no diretório Include.
#include "iostream.h" 
// o arquivo é procurado no diretório atual e depois no diretório Include.
Observação
A capacidade de #define e #include vai além da
representação simbólica de constantes, macros
e inclusão de arquivos. É possível até criar
outra linguagem usando #define e #include.
(Exemplo Victorine página 148).
Diretivas Condicionais
• # if (testa uma condição)
• # ifdef (testa constantes definidas com #define – se definida)
• # ifndef (verifica a não definição de uma constante – se não definida)
• # else (uma única diretiva #else pode ser usada entre #if e #endif)
• # elif (faz a função do "senão se")
• # endif (usada para terminar uma diretiva #if)
Um dos usos da compilação condicional é para a
portabilidade do código. Ela é usada em grandes
programas e em softwares comerciais que mantêm
diferentes versões personalizadas de um programa.
# if SYS == “IBM”
# include “ibm.h”
# endif
Utilização das Diretivas Condicionais
Outras Diretivas
# error (Permite a apresentação de uma mensagem de erro do 
compilador em tempo de compilação)
# if TAMANHO > X
# error "Tamanho incompatível"
# endif
Operador defined (É uma alternativa ao uso de #ifdef e #ifndef)
# ifdef MYFILE 
equivale a 
#if defined MYFILE
Diretiva Pragma
Permite que instruções definidas pelo criador do
compilador sejam dadas para o compilador.
Através da diretiva #pragma, o C++Builder define
diretivas que podem ser passadas ao compilador.
#pragma hdrstop
Termina a lista de header files escolhidos para pré-compilação.
Deve ser utilizada para reduzir o espaço em disco usado por header
files de pré-compilação.
Melhora o desempenho do compilador se os header files comuns são
colocados antes de #pragma hdrstop, e os específicos são colocados
depois desta diretiva.
Deve ser utilizada em arquivos fonte. Ela não tem efeito quando usada
em arquivos header (.h, .hpp etc).
#include <vcl.h> // header files comuns
#pragma hdrstop // fim da lista comum
#include "Unit1.h" // header files específicos

Outros materiais