Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

O que está compilando?

Simplificando, compilar é o processo de tradução código fonte (a descrição legível por humanos de um programa escrito por um programador) na linguagem nativa do processador do computador.

O processador do computador (ou CPU) funciona em um nível muito elementar, executando programas no que é chamado linguagem de máquina. Este é um código numérico que descreve operações muito pequenas, como “adicionar este byte”, “apontar para este local na memória” ou “copiar este byte”.


Cada uma dessas instruções é expressa em binário (uns e zeros). Os primeiros programas de computador foram escritos usando esse código numérico, o que pode explicar por que os programadores que os escreveram fumavam muito, bebiam litros de café e usavam óculos grossos.

Este problema foi superado com o advento de linguagem assembly, que substituiu os códigos numéricos por caracteres (ligeiramente) mais fáceis de usar mnemônicos como CPY (para cópia) e MOV (para mover). Os programas escritos em linguagem assembly são processados ​​em linguagem de máquina por um programa denominado assembler. A linguagem assembly ainda é usada hoje para certas tarefas de programação especializadas, como drivers de dispositivo e sistemas embarcados.

Em seguida, chegamos ao que é chamado linguagens de programação de alto nível. Eles são chamados assim porque permitem que o programador se preocupe menos com os detalhes do que o processador está fazendo e mais com a solução do problema em questão. Os primeiros (desenvolvidos durante a década de 1950) incluíam FORTRAN (projetado para tarefas científicas e técnicas) e COBOL (projetado para aplicativos de negócios). Ambos ainda estão em uso limitado hoje.

Embora existam muitas linguagens de programação populares, duas predominam. A maioria dos programas escritos para sistemas modernos são escritos em qualquer C or C + +. Nos exemplos a seguir, estaremos compilando um programa C.

Programas escritos em linguagens de programação de alto nível são convertidos em linguagem de máquina processando-os com outro programa, chamado de compilador. Alguns compiladores traduzem instruções de alto nível para a linguagem assembly e, a seguir, usam um assembler para executar o estágio final da tradução para a linguagem de máquina.

Um processo frequentemente usado em conjunto com a compilação é chamado vinculação. Existem muitas tarefas comuns executadas por programas. Considere, por exemplo, abrir um arquivo. Muitos programas executam essa tarefa, mas seria um desperdício fazer com que cada programa implementasse sua própria rotina para abrir arquivos. Faz mais sentido ter uma única peça de programação que saiba como abrir arquivos e permitir que todos os programas que precisam deles o compartilhem. Fornecer suporte para tarefas comuns é realizado por meio do que é chamado bibliotecas. Eles contêm vários rotinas, cada um executando alguma tarefa comum que vários programas podem compartilhar. Se olharmos no / lib e / usr / lib diretórios, podemos ver onde muitos deles vivem. Um programa chamado vinculador é usado para formar as conexões entre a saída do compilador e as bibliotecas que o programa compilado requer. O resultado final deste processo é o arquivo de programa executável, pronto para uso.


 

Top OS Cloud Computing na OnWorks: