Seguinte. Tem coisas que o programa
faz antes de abrir a telinha que a gente vê. Os comandos que são
interpretados pelo pré processador são aqueles iniciados em #:
includes, macros e condicionais.
Os includes:
#include
<stdio.h> //<>
já reconhece bibliotecas “defaults”
#include
“minhalib.h” //se
for personalizada é entre aspas
As macros:
#define
MAX 100
#define
nome_macro texto_equivalente
Se uma macro ficar muito grande pra
caber numa linha só, é só colocar uma barra invertida ( \ ) que o
programa continua lendo. Ele só para de ler aquela macro quando acha
uma linha sem a \.
É possível ter funções feitas
com macros, assim:
#define
MILHAS_KM(m) m*(8.0/5.0)
#define
MULTI(a,b) ((a)*(b))
você chama a função escrevendo
MILHAS_KM(sua_var) ou MULTI(v1,v2) e ele faz aquelas continhas! E
pode ter comandos mais complexos:
#define
IMPRIME_MSG(msg) \
printf
("Mensagem: %s\n", msg);
uso:
IMPRIME_MSG("erro na fase y");
OBSERVAÇÃO
IMPORTANTE:
entre o nome da sua macro e a definição dela não pode ter espaço!
Se eu colocasse #define MULTI (a, b) ← espaço entre a palavra e o
parêntesis – daria errado porque no lugar de MULTI ele escreveria
(a, b).
O espaço só pode vir depois do nome inteiro.
As condicionais:
#if
SISTEMA_OPERACIONAL== 1
#include
"windows.h"
#elif
SISTEMA_OPERACIONAL == 4
#include
"hpux.h"
#else
#error
Sistema operacional não definido ou inválido
#endif
Só vai incluir “windows.h” se o
SO definido for 1. A estrutura tem que ser essa chata aí mesmo
O resto:
#ifdef
EXEMPLO //se
tiver a define EXEMPLO
#ifndef
EXEMPLO //se
NÃO tiver a define EXEMPLO
#undef
EXEMPLO //apaga
a define EXEMPLO
Nenhum comentário:
Postar um comentário