GCC - artigosobre.com
Anuncie Aqui
Anuncie Aqui

GNU Compiler Collection

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado de Gcc)
Ir para: navegação, pesquisa
GNU Compiler Collection
GCC logo.png
GCC 4.1.3 ubuntu7.10 en.png
Programa Olá Mundo gerado pelo GCC
Desenvolvedor Projecto GNU
Versão estável 4.5.0 (14 de Abril de 2010; há 21 semanas e 3 dias)
Sistema Op. Multi plataforma
Gênero Compilador
Licença GPL
Website gcc.gnu.org
Portal das Tecnologias de informação

O GNU Compiler Collection (chamado usualmente por GCC) é um conjunto de compiladores de linguagens de programação produzido pelo projecto GNU. É software livre distribuído pela Free Software Foundation (FSF) sob os termos da GNU GPL, e é um componente-chave do conjunto de ferramentas GNU. É o compilador padrão para sistemas operativos UNIX e Linux e certos sistemas operativos derivados tais como o Mac OS X.

Originalmente suportava somente a linguagem de programação C e era designado GNU C Compiler (compilador C GNU). Com o tempo ganhou suporte às linguagens C++, Fortran, Ada, Java e Objective-C, entre outras.

Índice

Visão geral

O compilador GCC foi escrito por Richard Stallman em 1987 para servir de compilador para o Projecto GNU.

Em 1997, um grupo de desenvolvedores descontentes com o ritmo lento e a natureza fechada do desenvolvimento oficial do compilador GCC, formou-se o projecto EGCS, que juntou várias bifurcações experimentais num único projecto bifurcado do GCC. O desenvolvimento do EGCS, ao provar-se suficientemente mais vital que o GCC, foi eventualmente "abençoado" como a versão oficial do GCC em Abril de 1999.

O projecto GCC é agora mantido por um grupo variado de programadores de todo o mundo e até à data tem sido adaptado a mais tipos de processadores e sistemas operativos que qualquer outro compilador.

O GCC tem sido adoptado como compilador principal para construir e desenvolver para um número de sistemas, incluindo GNU/Linux, os BSDs, Mac OS X, NeXTSTEP, BeOS e Haiku.

O GCC é frequentemente eleito o compilador preferido para desenvolver software que necessida de ser executado em vários tipos de hardware. Diferenças entre compiladores nativos levam a dificuldades em escrever código que seja compilado correctamente em todos os compiladores e construir guiões que corram em todas as plataformas. Ao usar os compiladores do projecto GCC, o mesmo analisador gramatical é usado em todas as plataformas, fazendo com que o se o código compila numa, muito provavelmente compilará em todas. O código poderá ser executado um pouco mais lento mas o potencial de redução de custos de produção tende a fazer com que seja a melhor opção disponivel.

Linguagens de programação

A partir da versão 4.0, o lançamento padrão da GCC inclui fachadas para:

Uma fachada para CHILL foi previamente incluida mas posteriormente abandonada devido à falta de manutenção. A fachada G77 foi abandonada e substituida pela nova fachada GFortran que suporta Fortran 95. Também existem fachadas para Pascal, Modula-2, Modula-3, Mercury, VHDL, PL/1 e Objective-C++.

Arquitecturas

O conjunto dos processadores suportados pelo GCC inclui:

Já foi suportado um vasto conjunto de processadores menos conhecidos que inclui A29K, ARC, Atmel AVR, C4x, CRIS, D30V, DSP16xx, FR-30, FR-V, Intel i960, IP2000, M32R, 68HC11, MCORE, MMIX, MN10200, MN10300, NS32K, ROMP, Stormy16, V850 e Xtensa. Processadores adicionais, tais como o D10V, PDP-10 e Z8000 já foram suportadas por versões do GCC mantidas separadamente da versão FSF.

Estrutura

A interface externa do GCC é geralmente o padrão para compiladores Unix. Os utilizadores invocam um programa driver chamado gcc, que interpreta os argumentos do comando, decide que compiladores usar para cada ficheiro de entrada, corre o assembler na sua saida e então possivelmente corre o linker para produzir um programa completo.

Cada compilador de linguagem é um programa separado que recebe código-fonte e produz linguagem assembly. Todos os compiladores tem uma estrutura de interface comum; uma fachada relativa a cada linguagem de programação que analisa gramaticalmente as linguagens e produz uma árvore abstracta de sintaxe e um back end que converte as árvores na Register Transfer Language do GCC, executa várias optimizações e de seguida produz linguagem assembly usando pattern matching específico de cada arquitectura.

Quase todo o GCC é escrito em C, apesar de grande parte da fachada de Ada ser escrito em Ada.

Fachada

Os front-ends variam internamente, tendo de produzir árvores que possam vir a ser usadas pelo backend. Alguns analisadores gramaticais usam uma especificação gramatical semelhante à do YACC. Outras são analisadores gramaticais "recursive descent".

Até recentemente, a representação da árvore do programa não era totalmente independente do processador-alvo.

Back end

Execução em Back-end ocorre quando o programa, após ter as informações necessárias, ocupa o tempo do processador para executar os comandos definidos anteriormente no código fonte. Neste momento, o programa se "retira", não dependendo de entradas manuais.

Programas em linguagem C podem ter sua alta performance melhor avalida quando executam sem necessidade de entradas manuais. Isto ocorre em sistema que executam em background onde, depois de executado, o programa processa as informações que lhe foram passadas ou as lê de um arquivo ou banco de dados. Desta forma, pode-se mensurar o tempo de execução deste programa, escrito na Linguagem C, com um programa escrito em outra linguagem. Quanto menor for a interface com o usuário, melhor para se avaliar a performance do programa.

Por definição, a implementação do compilador da Linguagem C deve gerar um código de máquina bem similar à da Linguagem Assembly (baixo nível). Esta característica possibilita que a execução em Back-end tenha uma quantidade mínima de instruções necessárias para obter o resultado que foi determinado no código fonte.

Referências

Ver também

Ligações externas

Quer Anunciar Nesta Página?
Planos de US$20 ou US$80 dolares mensais.

O pagamento será efetuado através do Paypal com toda segurança. Após a confirmação do pagamento, enviaremos as instruções por email com o formato e tipo de anúncio para incluirmos na página.

Em menos de 24 horas seu anúncio estará no ar!

Escolha o Posicionamento na Pagina:
Instruções Adicionais:
Os textos destas páginas estão sob a GNU Free Documentation License