Menu
Coddy logo textTech

Build e Compilação em C++

Parte da seção Programação Orientada a Objetos do Journey de C++ da Coddy — lição 2 de 104.

O C++ é construído em três estágios: Pré-processamento, Compilação e Linkagem.

1. Pré-processamento — as diretivas #include são resolvidas, copiando o conteúdo dos cabeçalhos para os arquivos de origem

#include <iostream>    // Cabeçalho do sistema
#include "my_file.h"   // Seu próprio cabeçalho

2. Compilação — Cada arquivo .cpp é compilado independentemente em um arquivo de objeto (.o)

// math_utils.cpp compila em math_utils.o
// main.cpp compila em main.o

3. Linking — Arquivos de objeto são combinados no executável final

// math_utils.o + main.o → program.exe

O arquivo de cabeçalho declara o que existe (protótipos). O arquivo .cpp fornece a implementação real. O linker conecta chamadas em main.cpp a implementações em outros arquivos .cpp.

challenge icon

Desafio

Médio

O arquivo de cabeçalho math_utils.h declara duas funções. Implemente-as em math_utils.cpp:

  • doubleValue(int x) — retorna x * 2
  • square(int x) — retorna x * x

Certifique-se de incluir o arquivo de cabeçalho em seu arquivo .cpp.

Folha de consulta

O C++ é construído em três estágios: Pré-processamento, Compilação e Linkagem.

Pré-processamento — as diretivas #include são resolvidas, copiando o conteúdo dos cabeçalhos para os arquivos de origem:

#include <iostream>    // Cabeçalho do sistema
#include "my_file.h"   // Seu próprio cabeçalho

Compilação — cada arquivo .cpp é compilado independentemente em um arquivo de objeto (.o):

// math_utils.cpp compila para math_utils.o
// main.cpp compila para main.o

Linkagem — os arquivos de objeto são combinados no executável final:

// math_utils.o + main.o → program.exe

O arquivo de cabeçalho declara o que existe (protótipos). O arquivo .cpp fornece a implementação real. O linker conecta as chamadas em main.cpp às implementações em outros arquivos .cpp.

Experimente você mesmo

#include <iostream>
#include "math_utils.h"

int main() {
    int num;
    std::cin >> num;
    
    std::cout << "Double: " << doubleValue(num) << std::endl;
    std::cout << "Square: " << square(num) << std::endl;
    std::cout << "Build successful" << std::endl;
    return 0;
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Programação Orientada a Objetos