A saída de um compilador depende da linguagem de programação e da plataforma de destino. Geralmente, um compilador saídas
Código da máquina , que é um conjunto de instruções compreendidas diretamente pela unidade de processamento central de um computador (CPU). No entanto, também pode produzir outras saídas:
Saídas comuns: *
Arquivo executável: Esta é a saída mais comum, contendo as instruções do código da máquina prontas para serem executadas pelo computador.
*
Arquivo de objeto: Este arquivo contém o código compilado para um único módulo ou arquivo de origem. Pode ser necessário vincular outros arquivos de objeto para produzir um executável completo.
*
Código de montagem: Alguns compiladores geram código de montagem como uma etapa intermediária antes de produzir código da máquina. O código de montagem é legível por humanos e mais fácil de entender do que o código da máquina.
* idioma intermediário (IL): Certos idiomas (como Java e C#) compilam com uma linguagem intermediária que é interpretada posteriormente ou compilada por uma máquina virtual.
saídas menos comuns: *
arquivo da biblioteca: Alguns compiladores podem produzir bibliotecas contendo funções ou dados pré-compilados que podem ser usados em outros programas.
*
Arquivo de cabeçalho: Alguns compiladores geram arquivos de cabeçalho que contêm declarações para as funções e estruturas de dados definidas no código -fonte.
*
Mensagens de erro: O compilador também produz mensagens de erro quando encontra erros de sintaxe ou outros problemas no código -fonte.
Exemplo: Se você compilar um programa C usando um compilador como o GCC, normalmente obteria um arquivo executável com a extensão `.exe` no Windows ou um arquivo` .out` no Linux. Este arquivo executável contém as instruções de código da máquina necessárias para o computador executar o programa.
Em resumo, a saída de um compilador é o resultado da tradução do código -fonte em um formulário que o computador pode entender e executar. O formato específico da saída depende do compilador e da plataforma de destino.