- O Preprocessor de C é uma etapa separada no processo da compilação, mas não parte do compilador.
- O Preprocessor de C é justo uma ferramenta da substituição do texto e nós consultaremos ao Preprocessor de C como o CPP.
|
O Preprocessor de C
|
- Todas as linhas do preprocessor começam sempre com #. Esta lista é da página 104 de Weiss. As diretrizes orientadoras incondicionais são como segue:
- #define - definir um macro do preprocessor
- #include - introduzir um encabeçamento particular de uma outra lima
- #undef - Undefine um macro do preprocessor
As diretrizes orientadoras condicionais são como segue:
- #ifndef - se este macro não for definido
- #ifdef - se este macro for definido
- #if - testar se uma condição do tempo compilar for verdadeira
- #elif - #else um #if em uma indicação
- #else - a alternativa para o #if
- #endif - condicional do preprocessor da extremidade
Outras diretrizes orientadoras incluem:
- ## - a fusão simbólica, cría um único símbolo de dois uns adjacentes
- # - Stringization, substitui um parâmetro macro com uma constante da corda
|
Alguns exemplos do acima são dados abaixo:
|
#define MAX_ARRAY_LENGTH 20
|
|
O código acima dirá o CPP para substituir exemplos de MAX_ARRAY_LENGTH com os 20. Para aumentar a legibilidade, usar o #define para constantes.
|
#include <stdio.h>
#include "mystring.h"
|
|
O código acima diz o CPP para começar stdio.h das bibliotecas de sistema e para adicionar o texto a esta lima. A linha seguinte diz CPP para começar mystring.h do diretório local e para adicionar então o texto à lima.
|
#undef MEANING_OF_LIFE
#define MEANING_OF_LIFE 42
|
|
O código acima diz o CPP undefine MEANING_OF_LIFE e define-o para 42.
|
#ifndef IROCK
#define IROCK "You wish!"
#endif
|
|
O código acima diz o CPP para definir IROCK somente se IROCK não é definido já.
|
#ifdef DEBUG
/* Your debugging statements here */
#endif
|
|
Thed acima do código diz o CPP para fazer as seguintes indicações se ELIMINAR ERROS for definido. Se você passar - a bandeira de DDEBUG a GCC, este é útil.
|
Keywords:
The C Preprocessor,
visual studio preprocessor,
c define,
define preprocessor,
if preprocessor,
preprocessor ifdef,
gnu preprocessor,
printf c,
c pointers,
sprintf c,
c tutorial,
c arrays,
fortran preprocessor,
preprocessor string,
c syntax,
c array,
c string,
void c,
preprocessor definition,
the c library
|