Taşınabilirlik, Derleme ve Bağlama

[vc_row][vc_column][vc_column_text]

Standart C++ kullanılarak yazılmış her kod tüm platformlarda çalıştırılabilir. Ama her platformda tekrardan derlenmesi gerekecektir.

Derleme işlemi programcının yazdığı kodun makine koduna çevrilmesidir. C++ için bu işi yapan çeşitli derleyiciler bulunmaktadır. GCC, Clang, VC++ vb.

Taşınabilirlik

C++ dili C dilini ve ANSI C standardını tamamen destekler ve C dili gibi taşınabilir. Fakat değişik yazılım firmalarının C++ programlama paketlerinin bu standart özelliklerden başka C ve C++ dillerini genişleten özellikleri ve kütüphane fonksiyonları vardır ve bunların kullanımı programcıların işlerini kolaylaştırır fakat kaynak kodun taşınabilirliğini azaltır.

Derleme

Tümleşik geliştirme ortamı (IDE) kullanımı kod yazımını hızlandırabilir. Fakat değişik yazılım firmalarının C++ programlama paketlerinin bu standart özelliklerden başka C ve C++ dillerini genişleten özellikleri ve kütüphane fonksiyonları vardır ve bunların kullanımı programcıların işlerini kolaylaştırır fakat kaynak kodun taşınabilirliğini azaltır.

Bağlama
Her bir kaynak dosya için .o uzantılı nesne kodu dosyası oluşturulmuş olur. Bağlayıcı bileşenin yaptığı iş .o uzantılı nesne kodlarını ve programda kullanılan kütüphane dosyalarındaki kodlarla sentezleyerek tek bir çalışabilir dosya oluşturmaktır. Bağlayıcı sonrası çalıştırılabilir dosyalar Windows işletim sistemi için .exe olarak Linux için ise .out uzantılı olurlar.

Derleme İşlemleri

Ön işlemci

Koddaki ön işlemci komutlarını işler. Ön işlemci komutları # ile başlamak zorundadır.

Derleyici

İşlenmiş kodu alır ve object dosyalarına dönüştürür. Kod hatalarını kontrol eder. Diğer dosyalardan alınmış ifedeleri kabul eder.

Bağlayıcı

Object dosyalarını alır ve çalıştırılabilir dosyada birleştirir. Derleyicinin aldığı diğer dosyalardaki tüm ifadelerin varlığını kontrol eder.

Bağlama işlemi derlenen ayrı ayrı kodların tek bir dosyada birleştirilmesidir. C++ yazılan kodların ayrı dosyalara bölünmesine izin verir. Ama bu dosyaların headerlerle birbirine bağlanması gerekmektedir.

[/vc_column_text][vc_row_inner][vc_column_inner width=”1/2″][vc_btn title=”Önceki Ders” color=”green” align=”left” i_icon_fontawesome=”fa fa-chevron-left” add_icon=”true” link=”url:https%3A%2F%2Fyapbenzet.org.tr%2Fcpp-nedir-modern-cpp-tarihcesi%2F|||”][/vc_column_inner][vc_column_inner width=”1/2″][vc_btn title=”Sonraki Ders” color=”green” align=”right” i_align=”right” i_icon_fontawesome=”fa fa-chevron-right” add_icon=”true” link=”url:https%3A%2F%2Fyapbenzet.org.tr%2Fcpp-clion-kurulumu%2F|||”][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row]