Aula 14 – Organização de Projetos 📂
Até agora, todos os nossos programas tinham apenas um arquivo .c. Em projetos profissionais, o código é dividido em dezenas ou centenas de arquivos para facilitar a organização. Em C, usamos arquivos de Cabeçalho (.h) e arquivos de Implementação (.c).
🏗️ 1. A Divisão do Trabalho
- Arquivo de Cabeçalho (.h): Contém as "promessas" (protótipos das funções, definições de structs e constantes). É o manual de instruções.
- Arquivo de Implementação (.c): Contém o código real das funções.
🛡️ 2. Header Guards
Para evitar que o compilador inclua o mesmo arquivo várias vezes (causando erros), usamos os "Guardiões de Cabeçalho":
🛠️ 3. Exemplo Prático: Projeto Modular
Imagine um projeto com 3 arquivos:
calculos.h(Protótipos)calculos.c(Lógica das funções)main.c(Ponto de entrada que usa as funções)
No main.c:
#include <stdio.h>
#include "calculos.h" // Aspas "" indicam arquivos locais ao projeto
int main() {
printf("Resultado: %d", somar(10, 20));
return 0;
}
⚙️ 4. Compilando Múltiplos Arquivos
Para gerar o programa final, precisamos compilar todos os arquivos .c juntos:
📜 5. Introdução ao Makefile (Básico)
O Makefile é um script que automatiza o processo de compilação. Em vez de digitar um comando gigante no terminal, você apenas digita make.
🚀 Mini-Projeto da Aula: "Calculadora Modular"
Objetivo: Criar um projeto onde as funções matemáticas (somar, subtrair, multiplicar) fiquem em arquivos separados do main.c. O desafio é compilar tudo junto e garantir que os headers funcionem.
📝 Exercícios de Fixação
- Crie um header
geometria.hcom constantes para PI e protótipos para área de círculo. Implemente nogeometria.ce use nomain.c. - O que acontece se você esquecer as aspas
""e usar< >para um arquivo que você criou? Teste e observe o erro do compilador. - Desafio: Tente criar um Makefile que compile seu projeto e também tenha um comando
cleanpara apagar o executável.