Platform
CPP

2. İlk program

İlk programı çalıştırmak.

resul ekici · Editör, Yazar· 5 Ağustos 2026· 3 dk okuma

Başlangıç

Diyelim ki bir kod dosyası yazdınız derlediniz ve gerektiyse bağladınız (link). Program açıldığında program main fonksiyonunun içini okuyarak başlar. Yani bir giriş-program başlatma kısmı olarak düşünebilirsiniz.

cpp
int main() {
    
    return 0;
}

Yani main fonksiyonu çalışır ve son satırda 0 döndürülür. Peki bu 0 ne anlama gelir? Bu sayı bizim için sorun yok demektir. Yani Program bittiğinde sıfır döner ve sağlıklı şekilde program bitmiş olur bir problem olmadan.

Bir şey yazdırmak (output sistemi)?

Bir çıktı vermek için temel olan şeyi yani ekrana-terminal e bişey yazdırmayı kullanacağız. Ekrana cevap veya bir girdi olarak düşünebileceğiniz şeyi input, bilgisayarın size sunduklarını da output olarak düşünebilirsiniz. Dolayısıyla standart olarak gelen bir kütüphaneden söz edeceğiz: iostream (input output stream). Bu kütüphaneyi projeye dahil etmek için kodun başına #include <iostream> ekleriz.

cpp
#include <iostream>

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

İlk çalışan iskelet. Çıktıyı std::cout ile yazarız. "std::" nin ne olduğuna değincem aşağıda

#include ne işe yarar?

Diyelim ki ekrana bişey yazdıracağız. cout kullanmamız gerekir. Bunu kullanmamızı sağlayan şey iostream dir. Dosyanın tepesine #include <iostream> yazıyoruz. Bu, derleyiciye “standart girdi/çıktı bildirimlerini kullan” demek oluyor.

std:: ve using namespace std

İsim uzayları diye bir kavram var. Bu bir çok bağımsız kütüphaneyi birleştirdiğimizde isimsel karışıkların önlenmesi için var. Örneğin cout, C++ standart kütüphanesinin bir parçasıdır ve std isim uzayında bulunur. cout ismini kullanan başka bir kütüphane olabilir. O halde programa cout dediğimizde o harici kütüphanenin mi yoksa std kütüphanesinin cout unu mu kullanacağız sorusu karışıklık yaratır ve derleyicinin kafası (hangi cout u kastediyoruz bilemez) karışır. O yüzden cout kullanacağımız zaman eğer std içindeki cout u kullanacaksak std::cout yazarız. Bu std isim uzayındaki cout u kullan demektir.

cpp
// bunu yap
std::cout << "açık ve güvenli\n";

// bunu yapma
using namespace std;
cout << "kısa ama kirli\n";

Peki bu using namespace std; nedir? bu std::cout yerine doğrudan cout yazabileceğimiz anlamına gelir. Ancak önceden bahsettiğim gibi diğer kütüphane ile karışıklık göstereceğinden using namespace kullanımı tavsiye edilmez. std::cout ile kullanmak daha mantıklıdır.

İsim uzayını her sfeerinde yazmak, alışkanlık edindikten sonra problem yaratmaz.

cpp
#include <iostream>

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

Şimdi bu kodu daha rahat anladığınızı düşünüyorum. Ancak cümlenin sonundaki \n kafanızı karıştırmış olabilir. Bu bir alt satıra geç demektir. Bunu kullanmadan bir sürü cout yazarsanız satırlar beklerken birbiri ardına geçmiş cümleler görürsünüz.

\n yerine std::endl gibi bişey de kullanabilirsiniz. Mesela

cpp
#include <iostream>

int main() {
    std::cout << "Merhaba, modern C++" << std::endl;
    return 0;
}

\n daha optimize olduğundan dolayı kullanılır ancak buna burada değinmeyeceğim.

ufak ama önemli bilgi

return 0; C++ta main için anlaşılması zor olabiliyor. Yine de belirtmekte fayda var. “Fonksiyon bir değer üretir” fikri otursun.

Build etmek

Tek dosyamız olduğundan dolayı bir bağlayıcı (linker) kullanman gerekmez. Tek bir komut yeterli. Bu komut kaynak kodu derler, bağlar ve çalışan programı çıkarır. İkisi tek komutta bittiği için buna da build denir.

text
g++ -std=c++20 main.cpp -o main

Bunu main.cpp nin bulunduğu dosya dizininde açtığın terminalde yazıp çalıştırabilirsin. İlk derste bahsetmiştim ama yine de üstünden geçelim : main.cpp kaydettiğin kaynak dosyadır. -o main çıkan programın adını main yapar. Windows’ta bu dosya main.exe olur. Komut programı çalıştırmaz, sadece üretir. Üretilen dosyayı ister aynı terminalde aynı dizinde ./main yazarsın. Windows’ta ./ yazmadan sadece main.exe yazmayı unutma. İster kendi elinle çalıştırırsın. Ancak kendi eline çalıştırırsan anında kapanır çünkü program görevini tamamladıktan sonra main() fonksiyonu sona erer ve program kapanır. Terminalden çalıştırdığında ise terminal zaten açık olduğu için çıktıyı görebilirsin.

Burada -c yok, .o dosyası yok, ikinci bir g++ yok. Onlar birden fazla kod dosyası yazdığımız zaman işimize yarayacaklar.

Bu ders bu kadardı. Saygılar

Editör · Yazarresul ekici
cpp