Programação  
 
Rede de conhecimento computador >> Programação >> C /C + + programação >> Content
O que é processo de compilação?
Compilação é o processo de conversão do código-fonte escrito em uma linguagem de programação ou marcação em código executável. Inclui vários estágios, cada um transformando o código em um formato de nível inferior até que o código executável final seja produzido. Aqui está uma visão geral do processo de compilação:

1. Pré-processamento:
- Este é um estágio opcional que ocorre antes da compilação propriamente dita.
- O pré-processador processa macros, instruções condicionais e inclui diretivas para preparar o código-fonte para compilação posterior.

2. Análise Lexical (Varredura):
- O código-fonte é dividido em tokens individuais, como palavras-chave, identificadores, operadores e pontuação.
- O analisador léxico, também conhecido como scanner, identifica esses tokens e os converte em uma sequência de símbolos significativos.

3. Análise de sintaxe (análise):
- O analisador ou analisador de sintaxe verifica se a sequência de tokens segue as regras gramaticais da linguagem de programação ou marcação.
- Constrói uma estrutura hierárquica representando a sintaxe do programa e verifica erros de sintaxe.

4. Análise Semântica:
- O compilador realiza análise semântica para garantir que o programa esteja semanticamente correto.
- Verifica compatibilidade de tipos de dados, declarações de variáveis ​​e referências, bem como erros lógicos ou inconsistências no código.

5. Geração de Representação Intermediária (RI):
- O compilador traduz o código-fonte em uma representação intermediária (IR), como árvores de sintaxe abstrata (AST) ou código de três endereços.
- IR é uma representação independente da linguagem da estrutura e da semântica do programa.

6. Otimização:
- Otimizações do compilador são aplicadas ao IR para melhorar a eficiência do código gerado.
- As otimizações podem incluir propagação constante, desenrolamento de loop, alocação de registro e eliminação de código morto.

7. Geração de código:
- O IR otimizado é convertido em linguagem assembly, que é uma representação simbólica de baixo nível das instruções de máquina.
- O código assembly é específico para a arquitetura do processador de destino.

8. Vinculação:
- Para programas maiores, o estágio de vinculação combina arquivos-objeto gerados a partir de diferentes arquivos de origem e bibliotecas externas.
- A vinculação resolve referências de símbolos entre módulos e garante que todas as dependências sejam satisfeitas.

9. Montagem:
- O montador converte o código da linguagem assembly em código de máquina, que são instruções binárias que o computador pode executar diretamente.

10. Execução:
- O código de máquina final é carregado na memória do computador e executado pela CPU.

O processo de compilação é uma série de transformações que permitem que um programa em linguagem de alto nível escrito por humanos seja traduzido em um formato que possa ser compreendido diretamente pelo computador. Cada etapa do processo aproxima o código da linguagem nativa da máquina, garantindo ao mesmo tempo correção e eficiência.

Anterior :

Próximo :
  Os artigos relacionados
·Como ler um arquivo em ANSI C 
·Como referência uma imagem em C + + 
·Como funciona a memória temporária? 
·Como fazer um aplicativo Paint Brush MFC 
·Como classificar em uma grade de dados 
·Como abrir um PDF em C # 
·Como fechar programas iPad com Xcode 
·Como compilar C no Ubuntu 
·Como definir a última linha de um Grid para Foco 
·Como descobrir se uma linha ou coluna é destaque em Da…
  Artigos em destaque
·Diferença entre um Deliverable e um marco em um projet…
·O que é o Python 2.2.3 
·Como Redesenhar um problema no Java 
·Como Exportar MySQL para CSV em PHP 
·Como adicionar dois valores no Visual Basic 
·Como criar arquivo Pyc para execução em Web 
·Como imprimir nomes de coluna com PHP e Microsoft SQL 
·Por que você usa STP? 
·Onde você pode encontrar códigos ASCII? 
·Como fazer gradientes Qualidade CSS 
Cop e direita © Rede de conhecimento computador http://ptcomputador.com Todos os Direitos Reservados