Compilar. O que seria isto ( noob detect ) [RESOLVIDO]

1. Compilar. O que seria isto ( noob detect ) [RESOLVIDO]

Igor de Carvalho
igordc16

(usa Linux Mint)

Enviado em 15/10/2015 - 11:09h

Sempre ouço alguém dizendo compilar, isso ou aquilo outro, e fico boiando.






  


2. Re: Compilar. O que seria isto ( noob detect ) [RESOLVIDO]

Andre Ribeiro da Costa
andr3ribeiro

(usa Arch Linux)

Enviado em 15/10/2015 - 11:12h

Compilação é o processo de "tradução" do programa escrito em uma linguagem de programação para um formato no qual o computador entenda. A compilação gera um ficheiro - arquivo em português brasileiro - binário (executável) a partir do código fonte.

Uma linguagem de programação pode ser convertida, ou traduzida, em código de máquina por compilação ou interpretação, que juntas podem ser chamadas de tradução.

Se o método utilizado traduz todo o texto do programa (também chamado de código), para só depois executar (ou rodar, como se diz no jargão da computação) o programa, então diz-se que o programa foi compilado e que o mecanismo utilizado para a tradução é um compilador (que por sua vez nada mais é do que um programa). A versão compilada do programa tipicamente é armazenada, de forma que o programa pode ser executado um número indefinido de vezes sem que seja necessária nova compilação, o que compensa o tempo gasto na compilação. Isso acontece com linguagens como Pascal e C.

Se o texto do programa é traduzido à medida em que vai sendo executado, como em Javascript, Python ou Perl, num processo de tradução de trechos seguidos de sua execução imediata, então diz-se que o programa foi interpretado e que o mecanismo utilizado para a tradução é um interpretador. Programas interpretados são geralmente mais lentos do que os compilados, mas são também geralmente mais flexíveis, já que podem interagir com o ambiente mais facilmente.

Embora haja essa distinção entre linguagens interpretadas e compiladas, as coisas nem sempre são tão simples. Há linguagens compiladas para um código de máquina de uma máquina virtual (sendo esta máquina virtual apenas mais um software, que emula a máquina virtual sendo executado em uma máquina real), como o Java e o Parrot. E também há outras formas de interpretar em que os códigos-fontes, ao invés de serem interpretados linha-a-linha, têm blocos "compilados" para a memória, de acordo com as necessidades, o que aumenta a performance dos programas quando os mesmos módulos são chamados várias vezes, técnica esta conhecida como JIT.

Como exemplo, existe a linguagem Java. Nela, um compilador traduz o código java para o código intermediário (e portável) da JVM. As JVMs originais interpretavam esse código, de acordo com o código de máquina do computador hospedeiro, porém atualmente elas compilam, segundo a técnica JIT o código JVM para código hospedeiro.

Um compilador é um programa (ou um grupo de programas) que, a partir de um código escrito em uma linguagem, o código fonte, cria um programa semanticamente equivalente porém escrito em outra linguagem, código objeto.

Um compilador é um dos dois tipos mais gerais de tradutores, sendo que o segundo tipo que a ele deve ser comparado é um interpretador.

Normalmente, o código fonte é escrito em uma linguagem de programação de alto nível, com grande capacidade de abstração, e o código objeto é escrito em uma linguagem de baixo nível, como uma sequência de instruções a ser executada pelo processador.

O processo de compilação é composto de análise e síntese. A análise tem como objetivo entender o código fonte e representá-lo em uma estrutura intermediária. A síntese constrói o código objecto a partir desta representação intermediária.

A análise pode ser subdividida ainda em análise léxica, análise sintática e análise semântica. A síntese é mais variada, podendo ser composta pelas etapas de Geração de código intermediário, optimização de código e geração de código final (ou código de máquina), e somente esta última etapa é obrigatória.

Classicamente, um compilador traduz um programa de uma linguagem textual facilmente entendida por um ser humano para uma linguagem de máquina, específica para um processador e sistema operacional. Atualmente, porém, são comuns compiladores que geram código para uma máquina virtual que é, depois, interpretada por um interpretador.

Em linguagens de programação híbridas, o compilador tem o papel de converter o código fonte em um código chamado de byte code, que é uma linguagem de baixo nível. Um exemplo deste comportamento é o do compilador da linguagem Java que, em vez de gerar código da máquina hospedeira (onde se está executando o compilador), gera código chamado Java Bytecode.

Um compilador é chamado de Just-in-time compiler (JIT) quando seu processo de compilação acontece apenas quando o código é chamado. Normalmente, o usuário tem a percepção que um compilador JIT é um interpretador.

Muitos compiladores incluem um pré-processador. Um pré-processador normalmente é responsável por mudanças no código fonte destinadas de acordo com decisões tomadas em tempo de compilação. Por exemplo, um programa em C permite instruções condicionais para o pré-processador que podem incluir ou não parte do código caso uma assertiva lógica seja verdadeira ou falsa, ou simplesmente um termo esteja definido ou não. Tecnicamente, pré-processadores são muito mais simples que compiladores e são vistos, p

Fonte(s): Wikipedia


3. Re: Compilar. O que seria isto ( noob detect ) [RESOLVIDO]

Igor Morais
igormorais

(usa Gentoo)

Enviado em 15/10/2015 - 11:22h

Resumindo, é o processo em que o compilador pega o código-fonte e faz transformações até chegar a um executável para a plataforma onde ocorreu a compilação.

---
"Nós não sabemos o sistema operacional que Deus usa, mas o Vaticano usa Linux." - Judith Zoebelein


4. Re: Compilar. O que seria isto ( noob detect ) [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 15/10/2015 - 12:50h


resumindo
a pessoal escreve um código em uma certa linguagem de programação
e para o pc saber que é um programa tem que compilar o código ou seja
tranformar em uma linguagem para que o computador possa ler ou seja tornar um executável



5. Re: Compilar. O que seria isto ( noob detect ) [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/10/2015 - 14:53h

É o processo no qual um ou mais, bem mais, recortes de papel escritos em grego são transformados num software. =]






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts