Bir C Programı Oluşturmak

04:59


C dilinde yazılan bir programın çalıştırılabilir hale getirilebilmesi için, çoğunlukla aşağıdaki süreçlerden geçirilir :
  1. Kaynak dosyanın oluşturulması :
    Kaynak dosya bir metin editörü yardımıyla C dilinin kurallarına göre yazılan metinden ibarettir.
  2. Kaynak dosyanın derleyici program ( compiler ) tarafından derlenmesi :
    Bir programlama dilinde yazılmış bir programı başka bir programlama diline programlara “çevirici” ( translator ) denir. Dönüştürülmek istenen programın yazıldığı dile “kaynak dil” ( source language ), dönüşümün yapıldığı dile ise “hedef dil” ( target language ) denir. Hedef dil, makine dili ya da simgesel makine dili ise, böyle çevirici programlara “derleyici” ( compiler ) denir.
    Derleyici program kaynak dosyayı alır, çeviri işleminde eğer başarılı olursa bu kaynak dosyadan bir “amaç dosya” ( object file ) üretir.
    Kaynak metinde dilin kurallarının çiğnendiği durumlarda, derleyici program bu durumu bildiren bir ileti ( diagnostic message ) vermek zorundadır. Derleyici programın verdiği ileti :
    Bir “hata iletisi” ( error message ) olabilir. Bu durumda derleyici programlar çoğunlukla amaç dosya üretmeyi reddeder.
    Bir “uyarı iletisi” ( warning message ) olabilir. Bu durumda, derleyici programlar çoğunlukla amaç dosya üretir.
    Unix/Linux sistemlerinde oluşturulan amaç dosyaların uzantısı “.o” dur. DOS ve Windows sistemlerinde amaç dosyalar “.obj” uzantısını alır.
  3. Daha önce elde edilmiş amaç dosyalar “bağlayıcı” ( linker ) program tarafından birleştirilerek çalıştırılabilir bir dosya elde edilir. UNIX sistemlerde çalıştırılabilir dosyanın uzantısı olmaz. Windows sistemlerde çalıştırılabilir dosyanın uzantısı “.exe” olarak seçilir.
    Bağlayıcı program ne işe yarar? Derleyici program, yalnızca kendi derlediği kaynak dosyayı bilir. Kaynak dosyalar arasındaki, derleyicinin sorumluluğunda değildir. Derleyici program, Makine koduna dönüştürme çabası sırasında, kaynak dosya içinde kullanılan bazı isimlerin, kaynak dosya dışındaki bir başka birime ait olduğunu saptayabilir. Böyle bir durumda, kendisinden sonra gelecek “bağlayıcı” programa bu ismi kullandığı yolunda bir bilgi verir. Projeyi oluşturan modüller arasında ortaklaşa kullanılan isimlerin birbiriyle ilişkilendirilmesi ve kodların bağlanması bağlanması “bağlayıcı” programın görevidir.


Önislemci Program

C ve C++ dillerinde derleyici programdan daha önce kaynak kodu ele alan “önişlemci” ( preprocessor ) isimli bir program kullanılır. Önişlemci programın çıktısı, derleyici programa verilir.


Diger Yardımcı Programlar

  • Hata Ayıklayıcı Programlar (Debugger)
  • Metinsel Yardımcılar
  • Mantıksal Hata Yakalayıcılar : Bu programlardan en çok kullanılanı LINT isimli yazılımdır.
  • Kod Biçimleyicileri
  • Profiler Programlar : Bu programlar çalışan bir programın verimini ölçme, değerlendirme amacıyla kullanılır. İşlevlerin kaç kez çağrıldığını, çağrılan her bir işlevin, çalışan program içinde ne kadar zaman harcadığını vs. bulmak ya da raporlamak amacıyla kullanılabilir.