Directiva do pré-processador

Definição - o que significa diretiva de pré-processador?

As diretivas do pré-processador são linhas incluídas em um programa que começam com o caractere #, o que as torna diferentes de um texto de código-fonte típico. Eles são chamados pelo compilador para processar alguns programas antes da compilação. As diretivas do pré-processador alteram o texto do código-fonte e o resultado é um novo código-fonte sem essas diretivas.

Embora o pré-processamento em C # seja conceitualmente semelhante ao em C / C ++, é diferente em dois aspectos. Primeiro, o pré-processamento em C # não envolve uma etapa separada para a execução do pré-processador antes da compilação. É processado como parte da fase de análise lexical. Em segundo lugar, não pode ser usado para criar macros. Além disso, as novas diretivas #region e #unregion foram adicionadas ao C # junto com a exclusão de algumas diretivas usadas anteriormente (#include é uma diretiva notável cujo uso é substituído por "using" para incluir assemblies).

Java não oferece suporte a diretivas de pré-processador.

Definirtec explica a diretiva do pré-processador

Uma diretiva de pré-processador é geralmente colocada no topo do código-fonte em uma linha separada começando com o caractere "#", seguido pelo nome da diretiva e um espaço em branco opcional antes e depois dela. Como um comentário na mesma linha de declaração da diretiva do pré-processador deve ser usado e não pode rolar pela linha seguinte, comentários delimitados não podem ser usados. Uma instrução de diretiva de pré-processador não deve terminar com um ponto e vírgula (;). As diretivas do pré-processador podem ser definidas no código-fonte ou na linha comum como argumento durante a compilação.

Exemplos de diretivas de pré-processamento que podem ser usadas em C # incluem:

  • #define e #undef: Para definir e indefinir símbolos de compilação condicional, respectivamente. Esses símbolos podem ser verificados durante a compilação e a seção necessária do código-fonte pode ser compilada. O escopo de um símbolo é o arquivo no qual ele é definido.
  • #if, #elif, #else e #endif: para pular parte do código-fonte com base nas condições. As seções condicionais podem ser aninhadas com diretivas que formam conjuntos completos.
  • #line: Para controlar os números de linha gerados para erros e avisos. Isso é usado principalmente por ferramentas de metaprogramação para gerar código-fonte C # a partir de alguma entrada de texto. Geralmente é usado para modificar os números de linha e nomes de arquivo de origem relatados pelo compilador em sua saída.
  • #error e #warning: Para gerar erros e avisos, respectivamente. #error é usado para parar a compilação, enquanto #warning é usado para continuar a compilação com mensagens no console.
  • #region e #endregion: Para marcar explicitamente as seções do código-fonte. Isso permite a expansão e o recolhimento dentro do Visual Studio para melhor legibilidade e referência.