Merhaba, Ubuntu , Ubuntu Wsl gibi işletim sistemlerinde C veya C++'da kodun basit bir biçimde nasıl derlenebileceğini göstereceğim.
C KODU DERLEME ve ÇALIŞTIRMA
1.satır ile kodu derleyebilirsiniz. Derlediğiniz zaman a.out dosyası oluşacak.
2.satırı terminalde yazarak kodu çalıştırabilirsiniz.
Veya "gcc" yerine "cc" yazarak da derleyebilirsiniz.
Eğer kodunuza <math.h> kütüphanesini dahil etmişseniz kodunuza "-lm" eklemeniz gerekir.
gcc dosyaismi.c -lm
./a.out
Derlenmiş Dosyaya İsim Koyma
Çalıştıracağımız dosyaya isim koymak için -o parametresini kullanabilirsiniz. Sonrasında yeni ismini aşağıdaki gibi yazabilir.
gcc dosyaismi.c -o yeniisim
./yeniisim
C++ KODU DERLEME ve ÇALIŞTIRMA
1.satır ile kodu derleyebilirsiniz. Derlediğiniz zaman a.out dosyası oluşacak.
2.satırı terminalde yazarak kodu çalıştırabilirsiniz.
g++ dosyaismi.cpp
./a.out
Veya "g++" yerine "c++" yazarak da derleyebilirsiniz.
c++ dosyaismi.cpp
./a.out
İsim koyma da C ile aynı şekilde çalışıyor.
g++ dosyaismi.cpp -o yeniisim
./yeniisim
KODDAKİ UYARI MESAJLARINI GÖSTERME
Kodda uyarı düzeyindeki mesajları görmek için ister C'de ister C++'da -Wall -Wextra paremetrelerini kullanabilirsiniz. Örneğin;
gcc dosyaismi.c -Wall -Wextra -o yeniisim
./yeniisim
KODDA HATA AYIKLAMA (DEBUGGING)
Bazen kodu çalıştırdığımız zaman Stack overflow , segmentation fault, core dumped gibi genellikle memory ile alakalı compiler hatalarıyla karşılaşabiliriz.
Hatanın kodun neresinden/hangi satırından kaynaklandığını bulmak için "gdb" komutunu kullanabiliriz.
Aşağıdaki kod ile gdb'yi yükleyiniz.
Gdb'yi yükledikten sonra, gdb'yi kullanabilmek için kodumuzu normal biçimde değil -g parametresiyle derlememiz gerekli.
gcc -g dosyaismi.c
gdb -q a.out
Yukarıdaki gibi gdb'yi çalışıtrabiliriz. Çalıştıktan sonra "r" veya "read" komutuyla dosyayı okuruz, Çıkmak içinse "q" veya "quit" komutunu kullanırız.
Eğer dosyayı okuduktan sonra gdb hatanın hangi satırda olduğunu bulamadıysa "bt" (backtrace metodu) komutuyla hatanın bulunduğu yeri buluruz.
Aşağıda gdb kullanımının bir örneğini görebiliriz.
Örneğin yukarıdaki ekran fotoğrafında segmentation fault hatası alınca önce gcc'yi -g parametresiyle çalıştırdım. (-g parametresi hata ayıklama bilgilerinin derlenen executable dosyasına verilmesini sağlar.) Örnek:
Yukarıdaki ekran fotoğrafında gdb'yi çalıştırdım. Gdb'nin dosyayı çalıştırması için için "r" komutunu kullandım. Hatanın library.c dosyasındaki 74.satırdan kaynaklandığını gördüm. Sonrasında q komutu ile çıktım.