Menu
Coddy logo textTech

C++ Build ve Derleme

Coddy'nin C++ Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 2 / 104.

C++ üç aşamada oluşturulur: Önişleme, Derleme ve Bağlama.

1. Ön İşleme#include yönergeleri çözümlenir, başlık içerikleri kaynak dosyalara kopyalanır

#include <iostream>    // Sistem başlığı
#include "my_file.h"   // Kendi başlığınız

2. Derleme — Her bir .cpp dosyası bağımsız olarak bir nesne dosyasına (.o) derlenir

// math_utils.cpp, math_utils.o dosyasına derlenir
// main.cpp, main.o dosyasına derlenir

3. Bağlama (Linking) — Nesne dosyaları nihai yürütülebilir dosyada birleştirilir

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

Başlık dosyası nelerin var olduğunu bildirir (prototipler). .cpp dosyası asıl uygulamayı sağlar. Bağlayıcı (linker), main.cpp içindeki çağrıları diğer .cpp dosyalarındaki uygulamalara bağlar.

challenge icon

Görev

Orta

math_utils.h başlık dosyası iki fonksiyon bildirir. Bunları math_utils.cpp dosyasında uygulayın:

  • doubleValue(int x)x * 2 değerini döndürür
  • square(int x)x * x değerini döndürür

Başlık dosyasını .cpp dosyanıza dahil ettiğinizden emin olun.

Kopya kağıdı

C++ üç aşamada oluşturulur: Önişleme, Derleme ve Bağlama.

Önişleme#include yönergeleri çözümlenir, başlık içerikleri kaynak dosyalara kopyalanır:

#include <iostream>    // Sistem başlığı
#include "my_file.h"   // Kendi başlığınız

Derleme — Her bir .cpp dosyası bağımsız olarak bir nesne dosyasına (.o) derlenir:

// math_utils.cpp, math_utils.o dosyasına derlenir
// main.cpp, main.o dosyasına derlenir

Bağlama — Nesne dosyaları nihai yürütülebilir dosyada birleştirilir:

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

Başlık dosyası nelerin var olduğunu bildirir (prototipler). .cpp dosyası asıl uygulamayı sağlar. Bağlayıcı (linker), main.cpp içindeki çağrıları diğer .cpp dosyalarındaki uygulamalara bağlar.

Kendin dene

#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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Nesne Yönelimli Programlama bölümündeki tüm dersler