Вы находитесь на странице: 1из 2

As Diretivas de Compila o

O pr-processador C um programa que examina o programa fonte escrito em C e


executa certas modificaies nele, baseado nas Diretivas de Compila o. As diretivas de
compila o s o comandos que n o s o compilados, sendo dirigidos ao pr-processador, que
executado pelo compilador antes da execu o do processo de compila o propriamente dito.
Portanto, o pr-processador modifica o programa fonte, entregando para o compilado
r
um programa modificado. Todas as diretivas de compila o s o iniciadas pelo caracter #
. As
diretivas podem ser colocadas em qualquer parte do programa. J vimos, e usamos mu
ito, a
diretiva #include. Sabemos que ela n o gera cdigo mas diz ao compilador que ele dev
e
incluir um arquivo externo na hora da compila o. As diretivas do C s o identificadas
por
comearem por #. As diretivas que estudaremos s o definidas pelo padr o ANSI:
#if
#else
#include
#ifdef
#elif
#define
#ifndef
#endif
#undef
Procuraremos ser breves em suas descriies...
A Diretiva include
A diretiva #include j foi usada durante o nosso curso diversas vezes. Ela diz ao
compilador para incluir, na hora da compila o, um arquivo especificado. Sua forma g
eral :
#include "nome_do_arquivo" ou
#include <nome_do_arquivo>
A diferena entre se usar " " e < > somente a ordem de procura nos diretrios pelo
arquivo especificado. Se voc quiser informar o nome do arquivo com o caminho comp
leto, ou
se o arquivo estiver no diretrio de trabalho, use " ". Se o arquivo estiver nos c
aminhos de
procura pr-especificados do compilador, isto , se ele for um arquivo do prprio sist
ema
(como o caso de arquivos como stdio.h, string.h, etc...) use < >.
Observe que n o h ponto e vrgula aps a diretiva de compila o. Esta uma
caracterstica importante de todas as diretivas de compila o e n o somente da diretiva
#include
As Diretivas define e undef
A diretiva #define tem a seguinte forma geral:
#define nome_da_macro sequncia_de_caracteres
66
Quando voc usa esta diretiva, voc est dizendo ao compilador para que, toda vez que
ele encontrar o nome_da_macro no programa a ser compilado, ele deve substitu-lo p
ela
sequncia_de_caracteres fornecida. Isto muito ?til para deixar o programa mais ger
al. Veja
um exemplo:
#include <stdio.h>
#define PI 3.1416
#define VERSAO "2.02"
int main ()
{
printf ("Programa versao %s",VERSAO);
printf ("O numero pi vale: %f",PI);

return 0;
}
Se quisermos mudar o nosso valor de PI, ou da VERSAO, no programa acima, basta
mexer no incio do programa. Isto torna o programa mais flexvel. H quem diga que, em
um
programa, nunca se deve usar constantes como 10, 3.1416, etc., pois estes s o n?me
ros que
ningum sabe o que significam (muitas pessoas os chamam de "n?meros mgicos"). Ao in
vs
disto, deve-se usar apenas #defines. uma conven o de programa o (que deve ser
seguida, pois torna o programa mais legvel) na linguagem C que as macros declarad
as em
#defines devem ser todas em mai?sculas.
Um outro uso da diretiva #define o de simplesmente definir uma macro. Neste cas
o
usa-se a seguinte forma geral:
#define nome_da_macro
Neste caso o objetivo n o usar a macro no programa (pois ela seria substituda por
nada), mas, sim, definir uma macro para ser usada como uma espcie de flag. Isto q
uer dizer
que estamos definindo um valor como sendo "verdadeiro" para depois podermos testlo.
Tambm possvel definir macros com argumentos. Veja o exemplo a seguir:
#define max(A,B) ((A>B) ? (A):(B))
#define min(A,B) ((A<B) ? (A):(B))
...
x = max(i,j);
y = min(t,r);
Embora parea uma chamada de fun o, o uso de max (ou min) simplesmente substitui,
em tempo de compila o, o cdigo especificado. Cada ocorrncia de um par metro formal (A
ou B, na defini o) ser substitudo pelo argumento real correspondente. Assim, a linha
de
cdigo:
x = max(i,j);
ser substituda pela linha:
x = ((i)>(j) ? (i):(j));
A linha de cdigo:
x = max(p+q,r+s);
ser substituda pela linha:
67
x = ((p+q)>(r+s) ? (p+q):(r+s));

Вам также может понравиться

  • Turgeniev
    Turgeniev
    Документ2 страницы
    Turgeniev
    Authierlys Domingos
    Оценок пока нет
  • Tchekov
    Tchekov
    Документ2 страницы
    Tchekov
    Authierlys Domingos
    Оценок пока нет
  • Trilho de Ar
    Trilho de Ar
    Документ1 страница
    Trilho de Ar
    Authierlys Domingos
    Оценок пока нет
  • Sem Atrito - A Massa Conservada
    Sem Atrito - A Massa Conservada
    Документ2 страницы
    Sem Atrito - A Massa Conservada
    Authierlys Domingos
    Оценок пока нет
  • Atividades
    Atividades
    Документ3 страницы
    Atividades
    Authierlys Domingos
    Оценок пока нет
  • Cervantes
    Cervantes
    Документ2 страницы
    Cervantes
    Authierlys Domingos
    Оценок пока нет
  • Goncharov
    Goncharov
    Документ1 страница
    Goncharov
    Authierlys Domingos
    Оценок пока нет
  • Trilho de Ar
    Trilho de Ar
    Документ1 страница
    Trilho de Ar
    Authierlys Domingos
    Оценок пока нет
  • O Cemitério
    O Cemitério
    Документ1 страница
    O Cemitério
    Authierlys Domingos
    Оценок пока нет
  • Integracao
    Integracao
    Документ1 страница
    Integracao
    Authierlys Domingos
    Оценок пока нет
  • Atividades
    Atividades
    Документ3 страницы
    Atividades
    Authierlys Domingos
    Оценок пока нет
  • Cal2exercício BCT
    Cal2exercício BCT
    Документ3 страницы
    Cal2exercício BCT
    Authierlys Domingos
    Оценок пока нет
  • A Concepção Sobre Ciências Dos Alunos Na Modalidade Educação de Jovens E Adultos (Eja)
    A Concepção Sobre Ciências Dos Alunos Na Modalidade Educação de Jovens E Adultos (Eja)
    Документ6 страниц
    A Concepção Sobre Ciências Dos Alunos Na Modalidade Educação de Jovens E Adultos (Eja)
    Authierlys Domingos
    Оценок пока нет
  • Novo (A) Microsoft Word Document
    Novo (A) Microsoft Word Document
    Документ4 страницы
    Novo (A) Microsoft Word Document
    Authierlys Domingos
    Оценок пока нет
  • MLKJR
    MLKJR
    Документ1 страница
    MLKJR
    Authierlys Domingos
    Оценок пока нет
  • Ainda Não Sei
    Ainda Não Sei
    Документ1 страница
    Ainda Não Sei
    Authierlys Domingos
    Оценок пока нет
  • Matem
    Matem
    Документ1 страница
    Matem
    Authierlys Domingos
    Оценок пока нет
  • Maths
    Maths
    Документ1 страница
    Maths
    Authierlys Domingos
    Оценок пока нет
  • Emidia
    Emidia
    Документ2 страницы
    Emidia
    Authierlys Domingos
    Оценок пока нет
  • Bom Dia
    Bom Dia
    Документ1 страница
    Bom Dia
    Authierlys Domingos
    Оценок пока нет
  • Maths
    Maths
    Документ1 страница
    Maths
    Authierlys Domingos
    Оценок пока нет
  • Cien CIA
    Cien CIA
    Документ1 страница
    Cien CIA
    Authierlys Domingos
    Оценок пока нет
  • Inter
    Inter
    Документ1 страница
    Inter
    Authierlys Domingos
    Оценок пока нет
  • Sites Livros PDF
    Sites Livros PDF
    Документ1 страница
    Sites Livros PDF
    Authierlys Domingos
    Оценок пока нет
  • Lul
    Lul
    Документ12 страниц
    Lul
    Authierlys Domingos
    Оценок пока нет
  • Francesa
    Francesa
    Документ1 страница
    Francesa
    Authierlys Domingos
    Оценок пока нет
  • Listas
    Listas
    Документ1 страница
    Listas
    Authierlys Domingos
    Оценок пока нет
  • OLOKO
    OLOKO
    Документ1 страница
    OLOKO
    Authierlys Domingos
    Оценок пока нет
  • Francesa
    Francesa
    Документ1 страница
    Francesa
    Authierlys Domingos
    Оценок пока нет
  • Luteranos
    Luteranos
    Документ1 страница
    Luteranos
    Authierlys Domingos
    Оценок пока нет
  • Bu Talveg
    Bu Talveg
    Документ3 страницы
    Bu Talveg
    Juliana
    Оценок пока нет
  • Manual Henry Prot
    Manual Henry Prot
    Документ17 страниц
    Manual Henry Prot
    Daniel Lima Silva
    Оценок пока нет
  • Excel Do Básico Ao Avançado
    Excel Do Básico Ao Avançado
    Документ55 страниц
    Excel Do Básico Ao Avançado
    Julio Gonçalves
    100% (1)
  • Ebook Excel-Corporativo MAXIMIZE-1 PDF
    Ebook Excel-Corporativo MAXIMIZE-1 PDF
    Документ57 страниц
    Ebook Excel-Corporativo MAXIMIZE-1 PDF
    Sérgio Murilo
    100% (1)
  • Manual de TIC
    Manual de TIC
    Документ2 страницы
    Manual de TIC
    Miriam Alexandra Santos
    Оценок пока нет
  • Microsoft Office Power Point 2016
    Microsoft Office Power Point 2016
    Документ17 страниц
    Microsoft Office Power Point 2016
    Isney Lucht
    Оценок пока нет
  • Apostila - VBA - 2016
    Apostila - VBA - 2016
    Документ85 страниц
    Apostila - VBA - 2016
    Gaby Silveira
    Оценок пока нет
  • Testes em Pocos VisaoMacro Introducao 2015.2
    Testes em Pocos VisaoMacro Introducao 2015.2
    Документ30 страниц
    Testes em Pocos VisaoMacro Introducao 2015.2
    José Silas
    Оценок пока нет
  • Arion
    Arion
    Документ4 страницы
    Arion
    Juliano
    Оценок пока нет
  • Manual Macros e VBA
    Manual Macros e VBA
    Документ50 страниц
    Manual Macros e VBA
    Zoio Bonomar Bonomar
    Оценок пока нет
  • Manual Corel Draw X5 PDF
    Manual Corel Draw X5 PDF
    Документ322 страницы
    Manual Corel Draw X5 PDF
    Mónica Claro Jesus
    Оценок пока нет
  • Introducao OOo Basic
    Introducao OOo Basic
    Документ166 страниц
    Introducao OOo Basic
    Valderio Cavalcanti Filho
    Оценок пока нет
  • Conceitos de Proteção e Segurança
    Conceitos de Proteção e Segurança
    Документ6 страниц
    Conceitos de Proteção e Segurança
    Clayton Pires Dos Santos
    Оценок пока нет
  • Apresentação e Tutorial Do Software JBT
    Apresentação e Tutorial Do Software JBT
    Документ10 страниц
    Apresentação e Tutorial Do Software JBT
    neysodre
    Оценок пока нет
  • Atividadesintese 2
    Atividadesintese 2
    Документ10 страниц
    Atividadesintese 2
    Lucas Casal
    0% (3)
  • Excel Pro Fissional
    Excel Pro Fissional
    Документ24 страницы
    Excel Pro Fissional
    Madson
    Оценок пока нет
  • Curso Vba Excel
    Curso Vba Excel
    Документ99 страниц
    Curso Vba Excel
    santostecserv
    Оценок пока нет
  • Planilha de Controle de Estoque Excel 3.0
    Planilha de Controle de Estoque Excel 3.0
    Документ10 страниц
    Planilha de Controle de Estoque Excel 3.0
    Tiago Ferreira
    Оценок пока нет
  • TCC-Gustavo Coelho-Versão Oficial-20
    TCC-Gustavo Coelho-Versão Oficial-20
    Документ42 страницы
    TCC-Gustavo Coelho-Versão Oficial-20
    Felipe Lopes
    Оценок пока нет
  • Desvendandoas Formulas No Excel
    Desvendandoas Formulas No Excel
    Документ31 страница
    Desvendandoas Formulas No Excel
    Deize Brito
    100% (2)
  • Orca Telha v.1.0
    Orca Telha v.1.0
    Документ34 страницы
    Orca Telha v.1.0
    viltons
    Оценок пока нет
  • Ds Romi D 1500 Po Aj 161211
    Ds Romi D 1500 Po Aj 161211
    Документ12 страниц
    Ds Romi D 1500 Po Aj 161211
    baumgconrado
    Оценок пока нет
  • Curso 228348 Aula 06 c2f1 Completo PDF
    Curso 228348 Aula 06 c2f1 Completo PDF
    Документ127 страниц
    Curso 228348 Aula 06 c2f1 Completo PDF
    Yuri Douglas
    Оценок пока нет
  • Apostila de Excel 2019 - Avançado
    Apostila de Excel 2019 - Avançado
    Документ90 страниц
    Apostila de Excel 2019 - Avançado
    Universidade Farid
    Оценок пока нет
  • Manual de Apoio - EXCEL
    Manual de Apoio - EXCEL
    Документ31 страница
    Manual de Apoio - EXCEL
    ana.leigo1379
    Оценок пока нет
  • Como Ler E-Mails Do Outlook e Colocar Na Planilha Com VBA
    Como Ler E-Mails Do Outlook e Colocar Na Planilha Com VBA
    Документ4 страницы
    Como Ler E-Mails Do Outlook e Colocar Na Planilha Com VBA
    Assistência Noma
    Оценок пока нет
  • Manual Macros Scriptcase PDF
    Manual Macros Scriptcase PDF
    Документ40 страниц
    Manual Macros Scriptcase PDF
    Danilo Cristiano
    Оценок пока нет
  • Planificação
    Planificação
    Документ1 страница
    Planificação
    Liliana Mim
    Оценок пока нет
  • E-Book Excel e Power BI Nas Empresas
    E-Book Excel e Power BI Nas Empresas
    Документ71 страница
    E-Book Excel e Power BI Nas Empresas
    Bruno Malher
    Оценок пока нет
  • Vba Excel
    Vba Excel
    Документ111 страниц
    Vba Excel
    Gilberto Laranja
    90% (20)