Derleme ile yorumlama arasındaki farklar

Katılım
28 Ocak 2020
Mesajlar
19.083
Makaleler
52
Çözümler
459
Merhabalar. Bugün derleme ile yorumlama arasındaki farkı ve işleyişi anlatmaya çalışacağım.

Genel olarak yazılım yazanlar program hep derlenir der. Bu ifade yanlıştır. Her dil derlenmez, aynı şekilde her dil de yorumlanmaz.

Tanımları;

Derleyici:
Bir dilde yazılmış olan kaynak kodu başka bir dil ile yazılmış koda dönüştüren araçlardır. Dönüştürme sonunda *.exe gibi çalıştırılabilir bir çıktı üretmektedir.

Yorumlayıcı: Kaynak kod derleyici ile hedef koda çevrildikten sonra kodu incelemek ve kod içindeki hataları tespit etmek için çalıştırılan işlemdir.

Temel farklar;

Derleyici işlemi;

  • Tüm programı bir girdi olarak işleme alır.
  • Tüm programı obje koduna çevirir.
  • Yorumlayıcı'ya göre daha fazla hafıza gerekir.
  • Sürekli derlenmez, bir defa derlenir.
  • Hataları sıra sıra vermek yerine tek seferde verir.
Yorumlayıcı işlemi;
  • Programın tek satırını işler, kodlar yukarıdan aşağıya doğru işlem görür.
  • Daha yavaş işlem yapar.
  • Daha az bellek kullanır çünkü obje saklama işlemi yapmaz.
  • Kodları gelişmiş bir dilden düşük seviye bir dile dönüştürebilir.
  • En küçük bir hata olduğu zaman çalışmayı durdurur.
Bir programın derlenme ve çalışma süreci;

Ön işlem:
Kaynak kod içindeki yorum satırları devre dışı bırakılıp kaldırılır. Kütüphane girdileri ve makrolar eklenerek .i uzantısında dosya oluşur.

Derleme: Bu aşamada ise .i uzantılı dosya derleyici ile derlenerek Assembly diline ait 3 ila 4 harfli komutların dizildiği .s uzantılı dosyaya dönüştürülür.

Çevirme: Bu aşamada ise .s uzantılı dosya çevirici ile ağırlıklı olarak rakamların bulunduğu makine diline ait .o uzantılı dosyaya çevrilir.

Bağlama: En son bağlama aşaması olur. .o uzantılı dosya bağlayıcı program ile programımızın ihtiyaç duyduğu harici fonksiyon çağrılarını tanımlamalarıyla birlikte programımıza sağlar. Bağlayıcı bu bağlanması gereken fonksiyonun nerede olduğunu bilir ve programımıza bizim dışımızda kodlar ekleyerek programımızı çalışmaya hazır hale getirir.

Bir programı çalıştırma süreci kısa sürse bile arkada tonla işlem yapılmaktadır.

Umarım anlaşılabilir şekilde anlatmışımdır. İyi günler.

Bilgi alınan kaynak:
İnterpreter, Assember ve Compiler Nedir? - Techno Gezgin
 
Son düzenleme:

Geri
Yukarı