🚀 C# ile Programlamaya Giriş: Kodlamaya İlk Adımını At, Kendi Projelerini Geliştirmeye Başla!
00ANASAYFA 01YAZILAR 02EĞİTİM 03ELEKTRİK_ENERJİ 04OTOMOTİV_MÜHENDİSLİĞİ 05ARAÇLAR 06LAB 07SÖZLÜK 08ETİKETLER ♡OKUMA LİSTEM ⌕ARA
TRENG

Kurulum: g++, MSVC ve ilk derleme

C++ derleyicisini Windows, Linux ve macOS'ta kur; kaynak dosyadan çalışan programa giden yolu öğren.

C++ derlemeli bir dildir. Yazdığın metin dosyasını (kaynak kod) bilgisayar doğrudan çalıştıramaz; önce derleyici dediğimiz bir araç onu makine koduna çevirir. Python gibi dillerde yorumlayıcı satırı satırına çalıştırır, C++'ta ise önce derler, sonra çıkan .exe dosyasını çalıştırırsın. Bu yüzden ilk işimiz bir derleyici kurmak.

Hangi derleyiciyi seçmeli?

Üç büyük derleyici var. Hepsi aynı dili anlar; fark kurulumda ve hata mesajlarında.

DerleyiciPlatformKomut
g++ (GCC)Linux, Windows (MSYS2), macOSg++
MSVC (Visual Studio)Windowscl
clang++macOS, Linux, Windowsclang++

Windows: g++ (MSYS2) ile

MSYS2'yi msys2.org adresinden indirip kur. Kurulum bitince "MSYS2 UCRT64" kısayolunu aç ve şu komutla derleyiciyi indir:

pacman -S mingw-w64-ucrt-x86_64-gcc

Ardından C:\msys64\ucrt64\bin klasörünü Windows'un PATH ortam değişkenine ekle ki her terminalden g++ yazabilesin.

Windows: MSVC ile

Visual Studio Community ya da yalnızca "Build Tools for Visual Studio" kurulumunda Desktop development with C++ iş yükünü işaretle. Sonra Başlat menüsünden "Developer Command Prompt" aç; cl komutu orada hazırdır.

Linux ve macOS

# Debian / Ubuntu
sudo apt install build-essential

# macOS (Xcode komut satırı araçları)
xcode-select --install

İlk derleme

Bir klasör aç ve içine merhaba.cpp adlı dosyayı yaz. Şimdilik satırların her birini anlamaya çalışma, bir sonraki derste hepsini açıklayacağız.

#include <iostream>

int main() {
    std::cout << "Merhaba, C++!\n";
    return 0;
}

g++ ile derle ve çalıştır:

g++ -std=c++17 -Wall -Wextra -o merhaba merhaba.cpp
./merhaba

MSVC'de karşılığı şudur:

cl /EHsc /std:c++17 /W4 merhaba.cpp
merhaba.exe
Merhaba, C++!

Bu bayraklar ne işe yarıyor?

  • -std=c++17: dilin hangi sürümünü kullanacağını söyler. Bu kursta C++17 yeterli.
  • -Wall -Wextra: derleyicinin uyarıları açmasını sağlar. Uyarılar çoğu zaman hatanın ta kendisidir; hiç kapatma.
  • -o merhaba: çıktı dosyasının adı. Vermezsen Linux'ta a.out, Windows'ta a.exe çıkar.

Arka planda ne oluyor?

Tek bir komut gibi görünse de derleme üç aşamadır. Önişlemci #include satırlarını açıp dosyaları birleştirir. Derleyici her .cpp dosyasını nesne koduna çevirir. Bağlayıcı (linker) nesne dosyalarını ve kütüphaneleri tek bir çalıştırılabilir dosyada toplar. Hata mesajı alınca hangi aşamada olduğuna bakmak çözümü hızlandırır: "undefined reference" gibi mesajlar bağlayıcıdan, "expected ';'" gibi mesajlar derleyiciden gelir.

Mühendis notu: gömülü sistemlerde (STM32, Arduino ailesi vb.) program kendi bilgisayarında değil hedef kartta çalışır. Bunun için çapraz derleyici kullanılır; örneğin ARM Cortex-M için arm-none-eabi-g++. Dil aynı, yalnızca derleyici hedef işlemciye göre değişir. Bu kursta öğrendiklerin oraya da taşınır.

Windows terminalinde Türkçe karakterler bozuk görünürse önce chcp 65001 komutunu çalıştır. Ayrıca kaynak dosyanı UTF-8 olarak kaydet. İlk derslerde çıktı yazılarında ASCII karakterleri tercih edeceğiz.

Kendin dene

  1. Derleyiciyi kur ve g++ --version (ya da cl) komutunun çalıştığını doğrula.
  2. merhaba.cpp dosyasını derleyip çalıştır.
  3. Çıktıdaki metni kendi adınla değiştir, tekrar derle.
  4. Satırın sonundaki noktalı virgülü sil ve derleyicinin verdiği hata mesajını oku. Hata hangi satırı gösteriyor?

// Mini sınav

Bir seçeneğe tıkla; doğru mu yanlış mı, anında ve nedeniyle birlikte göreceksin.

1. C++ kaynak kodu çalıştırılmadan önce hangi araçla makine koduna çevrilir?
2. “undefined reference” hatası genellikle derlemenin hangi aşamasında ortaya çıkar?
3. Aşağıdakilerden hangisi uyarıları açan g++ bayraklarıdır?

Bitirdiğinde işaretle: ilerlemen kaydolur, +20 XP kazanırsın.

İpucu: ← → tuşlarıyla dersler arasında gezinebilirsin.