Mind map
Compilador

Mapa mental: compilador
Map content
Compilador
Pré-processador
- Tratamento pré-compilação: expansão de macros.
- Código fonte (Macros expandidas)
- Compilador
- Cada instrução de L1 é substituída por um conjunto de instruções em L0. O programa vai ser traduzido uma unica vez e executado várias vezes.
- Assembly (Linguagem de Montagem)
- Montador
- - Traducao de uma linguagem de montagem (assembly) para codigo de maquina. - Nao pode ser executado diretamente pela maquina, por conter referencias a sub-rotinas e dados. - Relacao 1:1 linguagem de montagem com linguagem de maquina - E dependente da arquitetura da maquina. Programacao dificil
- Objeto
- LinkEditor (Ligador)
- - Programa que liga objetos gerados por um compilador ou montador e gera um executável. - Recebe como entrada arquivos objetos e geram como saída o programa final em linguem de máquina. - Gera um programa executável a partir de um ou mais arquivos objetos. Resolução das chamadas das funções através da unificação dos objetos num único executável.
- Executável
- Empacotador (packer)
- - Compacta um executável e gera outro. - Packer muda a assinatura do executável. - Possibilita a criação de vírus com assinaturas diferentes. - Comprimem, cifram e ofuscam o executável. - Dificultam a identificação do compilador usado por ferramentas adequadas. - Impossibilitam a análise estática, pois o packer é quem se torna o ator principal
- Carregador (Loader)
- - Para executar um programa, um loader deve ser utilizado. O carregador é, em geral, parte do SO. - Copia o arquivo em formato binário para a memória.
- Binários / absolutos
- Programa que usa carregadores absolutos é associado com localização específica de memória, e por isso deve sempre ser carregados na mesma área de memória. (.COM)
- Relocáveis
- O programa executável relocável é semelhante ao programa executável absoluto, exceto que os endereços são todos relativos a zero (não são absolutos.) (.EXE)
- Memória
- Empacotador (packer)
- LinkEditor (Ligador)
- Montador
- Análise
- Divide o programa fonte nas partes contituintes e cria uma representação intermediária
- Léxica (tokens: Tabela de simbolos)
- Sintática (árvore sintática)
- Semântica (incoerência semÂntica)
- Síntese
- Constrói o programa alvo desejado a partir da representação intermediária
- Geração do código intermediário
- Otimização do código
- Geração do código
- Compilador
Information
- Description
- Etapas do processo de compilacao
- Created by
- Lailson Henrique
- Views
- 144
- Tags
- Rating