* '''gcc''': é o compilador oficial do sistema GNU/Linux, de código aberto. Costuma vir instalado na maioria das distribuições Linux.
=== Etapas da compilação ===
Todo o código em linguagem C que escrevermos deve ser salvo em um ficheiro com a extensão ".c". O compilador lê todo o código e cria um arquivo executável, em linguagem de máquina. No Windows, os arquivos executáveis são aqueles com extensão ".exe". No Linux, os executáveis são simplesmente arquivos com o atributo "executável".
O processo que chamamos de compilação na verdade é um conjunto de etapas:
* o '''preprocessamento''', etapa em que o preprocessador (programa às vezes acoplado ao compilador) lê o código-fonte e faz algumas substituições para que o programa possa ser compilado. Em C, o preprocessador tem diversos usos: compilação condicional (por exemplo, usar trechos diferentes do código para sistemas operacionais diferentes), macros, substituição de símbolos e inclusão de arquivos externos.
* a '''compilação''' propriamente dita, que transforma o código preprocessado em um ''programa-objeto'', que está em linguagem de máquina porém não pronto para ser executado.
* a '''montagem''' (''linking'', em inglês) dos programas-objeto e bibliotecas necessárias em um único executável, feita pelo ''montador'' (''linker''). Em C, pode-se distribuir um programa em vários arquivos-fonte, o que ajuda na organização e permite compilar apenas a parte do programa correspondente quando é necessário realizar alguma mudança.
Após a montagem dos programas-objeto, o programa já estará pronto para ser executado.
== Editor ==
|