13 Mart 2017 Pazartesi

Bir C++ Programı Yazılım Aşamaları



Tipik bir C++ programı bilgisayar tarafından çalıştırılabilmeden önce 6 aşamadan geçer:
1. Yazma ve Düzeltme (Editing)
2. Önişleme (Preprocessing)
3. Derleme (Compiling)
4. Birleştirme (Linking)
5. Yükleme (Loading)
6. Çalıştırma (Executing)
7. Test Aşaması (Testing)
8. Hata Ayıklama (Debugging)

Microsoft Visual Studio 2008 programı bu 8 aşamanın tamamında bize yardımcı olacak araçlara sahiptir. (IDE: Integrated Development Environment)

1. Yazma ve Düzeltme (Editing): Programcı bir editör yardımı ile C++ programını yazar ve gerekli düzenlemeleri yapar. Bir C++ programı genellikle “.cpp” uzantılıdır.
2. Önişleme ve Derleme (Preprocessing and Compilation): Compiler ya da derleyici bir C++ programını makina dilini çevirir. (machine language code - object code) Preprocessor (önişlemci) derleyiciden önce çağrılır ve bazı manipulasyonlar gercekleştirir. (Açıklayıcı bilgileri (comments) programdan çıkarır, bazı dosyaları mevcut programa iliştirir.)
3. Birleştirme (Linking): Bir C++ programı tipik olarak başka yerlerde tanımlı fonksiyonlara referanslar içerir. (Mesela standart kütüphanedeki fonksiyonlar) Derleyicinin oluşturduğu “makina kodu” bu olmayan fonksiyonların yerini sonradan tamamlanmak üzere boş bırakır. “Linker”
dediğimiz birleştirici ana makina kodu ile fonksiyonlara ait makina kodlarını birleştirir ve bilgisayar tarafından çalıştırılabilecek “executable image” denen programı oluşturur.
4. Yukleme (Loading): “Loader” dediğimiz yükleyici “executable image” halindeki programı sabit diskten alır ve belleğe transfer eder.
5. Çalıştırma (Executing): En son olarak, bilgisayar CPU`nun kontrolu altında bellekteki programı birerli komutlar halinde peşpeşe çalıştırır.

Genellikle programlar ilk deneme esnasında çalışmazlar. Az önce açıklanan 6 aşamanın herhangi birinden kaynaklanan bir sorun buna sebep olmuş olabilir. Sebep araştırılır, belki yeniden başa dönülür ve her işlem yeniden tekrarlanır.
Programlar genellikle kullanıcıdan giriş isterler ve çalıştırma sona erdiğinde bir çıkış verirler. Bazı C++ fonksiyonları girişlerini “cin” (standard input stream, see-in) den alırlar. (Çoğunlukla bu klavye olur.) Bilgi ise genelde “cout” (standard output stream, see-out) a yönlendirilir. (Çoğunlukla bu bilgisayar ekranıdır.)
Yorumlar