Diretivas do pré-processadorPreprocessor directives

As #define diretivas de pré-processador, como e #ifdef, são normalmente usadas para facilitar a alteração dos programas de origem e a sua compilação em ambientes de execução diferentes.Preprocessor directives, such as #define and #ifdef, are typically used to make source programs easy to change and easy to compile in different execution environments. As diretivas no arquivo de origem informam o pré-processador para executar ações específicas.Directives in the source file tell the preprocessor to take specific actions. Por exemplo, o pré-processador pode substituir tokens no texto, inserir o conteúdo de outros arquivos no arquivo de origem ou suprimir a compilação de parte do arquivo removendo seções de texto.For example, the preprocessor can replace tokens in the text, insert the contents of other files into the source file, or suppress compilation of part of the file by removing sections of text. As linhas do pré-processador são reconhecidas e executadas antes de expansão macro.Preprocessor lines are recognized and carried out before macro expansion. Portanto, se uma macro se expandir em algo parecido com um comando de pré-processador, ela não será reconhecida pelo pré-processador.Therefore, if a macro expands into something that looks like a preprocessor command, it isn't recognized by the preprocessor.

As instruções de pré-processador usam o mesmo conjunto de caracteres que as instruções do arquivo de origem, com a exceção de que as sequências de escape não têm suporte.Preprocessor statements use the same character set as source file statements, with the exception that escape sequences aren't supported. O conjunto de caracteres usado em instruções do pré-processador é igual ao conjunto de caracteres de execução.The character set used in preprocessor statements is the same as the execution character set. O pré-processador também reconhece valores negativos de caracteres.The preprocessor also recognizes negative character values.

O pré-processador reconhece as políticas a seguir:The preprocessor recognizes the following directives:

#define#define #error#error #import#import #undef#undef
#elif#elif #if#if #include#include #using#using
#else#else #ifdef#ifdef #line#line #endif#endif
#ifndef#ifndef #pragma#pragma

O sinal de número#() deve ser o primeiro caractere que não seja de espaço em branco na linha que contém a diretiva.The number sign (#) must be the first nonwhite-space character on the line containing the directive. Caracteres de espaço em branco podem aparecer entre o sinal numérico e a primeira letra da diretiva.White-space characters can appear between the number sign and the first letter of the directive. Algumas políticas incluem argumentos ou valores.Some directives include arguments or values. Qualquer texto que segue uma diretiva (exceto um argumento ou valor que faça parte da diretiva) deve ser precedido pelo delimitador de comentário de linha única//() ou colocado em delimitadores de/* */comentário ().Any text that follows a directive (except an argument or value that is part of the directive) must be preceded by the single-line comment delimiter (//) or enclosed in comment delimiters (/* */). As linhas que contêm diretivas de pré-processador podem ser continuadas imediatamente antes do marcador de fim de linha com uma barra invertida\().Lines containing preprocessor directives can be continued by immediately preceding the end-of-line marker with a backslash (\).

As diretivas de pré-processador podem aparecer em qualquer lugar em um arquivo de origem, mas se aplicam somente ao restante do arquivo de origem, depois de aparecerem.Preprocessor directives can appear anywhere in a source file, but they apply only to the rest of the source file, after they appear.

Consulte tambémSee also

Operadores de pré-processadorPreprocessor operators
Macros predefinidasPredefined macros
referência de pré-processador do c/c++c/c++ preprocessor reference