Linux üzerinde kodlama yapıyor ve eclipse gibi IDE'ler kullanmıyorsanız gcc ile komut satırında fazlasıyla iç içe olunması gerekmektedir. Biz de çok kullanılan gcc parametrelerini buradan inceleyelim:
gcc <.c dosyasi>
Verilen dosyadan çalıştırılabilir (hata yoksa) bir dosya oluşturur. Aşağıda görüldüğü gibi a.out adında bir dosya oluşmuştur.
-o parametresi
gcc'nin üreteceği dosyaya isim vermek için bu parametre kullanılır. -o <isim> dediğimizde o isimde bir dosya oluşturulur.
-Wall parametresi
-Wall parametresi derleme sırasında tüm uyarıların ekrana basılmasını sağlar. Daha sağlıklı bir derleme&geliştime için kullanılabilir.
-S parametresi
-S parametresi ise gcc'nin assembly çıktısı üretmesi için kullanılır. -masm ile de assembly syntax'ının nasıl olması gerektiği belirtilir(ilgili kişiler ne anlama geldiğini anlayacaktır). Çıktıları aşağıdaki gibi farklı biçimlerde manipule edebiliriz.
-E parametresi
-E parametresi ile gcc'ye sadece preprocessor işlemi yaptırılabilir.
preprocessor işleminin kod yazılan dosyayı ne kadar büyüttüğü aşağıda görülecektir:
-c parametresi
-c parametresi ile derleme işleminin link edilmeden yapılmasını sağlayabiliriz.
Oluşan .o dosyasını çalıştırmaya çalıştığımızda aşağıdaki gibi bir hata alırız:
-save-temps parametresi
-save-temps flag'i ile çalıştırılabilir bir dosyanın tüm aşamaları farklı uzantılarda oluşmaktadır.
-v parametresi
çalıştığınız gcc'nin versiyonunu öğrenmek isterseniz -v parametresini yalnız başına kullanılması gerekmektedir.
-v parametresi -ikinci durum-
verbose denilen derleme işlemi sırasında ayrıntılı çıktı üretmemizi sağlayan bir flagtir.
-ansi parametresi
-ansi parametresi ise C89 standarlarına göre derleme yapılmasını sağlar.
-D parametresi
-D parametresi ise preprocessor'e parametre verilmesini sağlar
-Werror parametresi
Werror tüm uyarıları error kabul eder ve derleme işleminde uyarı varsa bu nedenle derleme başarısız olmaktadır. Uyarısız(!) kodlama için kullnılır.
-l parametresi
l parametresi ile ise linker' a ek kütüphaneler parametre olarak verilebilmektedir. -l ile kütüphane ismini verirken dosya isminin başındaki lib'in kaldırıldığına dikkat edilmeli. –L seçeneği ile gcc'ye kütüphaneleri ararken hangi dizinlere bakacağı bildirilir.
-I parametresi
I parametresi ile preprocessor'e ek header dosyaların yeri verilmektedir. Header dosyalar genel olarak /usr/include içindedir. Eğer bu başlık dosyaları farklı bir yerde ise, bulundukları yerin belirtilmesi için (-I) parametresi ile yeri gösterilmelidir.
-@ parametresi
Yukarıda öğrendiğimiz tüm derleme parametrelerini bir dosyaya yazıp bunu @ile parametre olarak verebiliriz.