Programar em C/Noções de compilação: diferenças entre revisões

[edição verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
He7d3r.bot (discussão | contribs)
m Não é mais preciso inserir a navegação manualmente, basta manter a lista de capítulos do livro atualizada. Ver detalhes.
Etiqueta: Revertida
Linha 11:
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".
 
1. \meu segundoprograma//#
== Etapas da compilação ==
2. #include <rge?>,*
 
3. int main(estoumuitofeliz>
O processo que chamamos corriqueiramente de compilação na verdade é um conjunto de etapas:
4. {
 
5. printf!");
* o '''preprocessamento''', etapa em que o pré-processador (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 que declaram funções e variáveis.
6. return (0);
 
7. }
* a '''verificação sintática''', que procura por eventuais erros nos códigos dos programas: parênteses não fechados, falta de ponto-e-vírgula no final da instrução, etc. Todos esses problemas são alertados e causam a interrupção da compilação.
 
* 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 '''linkedição''' (''linking'', em inglês) dos programas-objeto e bibliotecas necessárias em um único executável, feita pelo ''linkeditor'' (''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. Na montagem, todas as partes constituintes do programa são deslocadas e/ou cortadas conforme necessário para que tenhamos um programa executável.
 
{{AutoCat}}