DLL ve LIB Arasındaki Fark

Anonim

DLL vs LIB

Bir kitaplık, uygulamaları geliştirmek için kullanılabilecek kaynakların bir toplamıdır. Bir kütüphane genellikle altprogramlar, fonksiyonlar, sınıflar, değerler ve tiplerden oluşur. Bağlama işlemi sırasında (genellikle bir bağlayıcı tarafından yapılır), kütüphaneler ve çalıştırılabilirler birbirlerine referans yapar. Kitaplık dosyaları, altprogramların hedef uygulamaya yüklenme süresine bağlı olarak statik ve dinamik kitaplıklara bölünür. Buna göre, LIB dosyaları statik olarak bağlantılı kütüphanelerdir ve DLL dosyaları dinamik olarak bağlantılı kütüphanelerdir.

DLL nedir?

Dinamik Bağlantı Kitaplığı (daha yaygın olarak DLL olarak bilinir), Microsoft tarafından geliştirilen paylaşılan bir kitaplık uygulamasıdır. Kullanıyor. dll,. ocx veya. drv uzantılarıdır ve Microsoft Windows ve OS / 2 işletim sistemlerinde kullanılırlar … dll düzenli DLL dosyaları tarafından kullanılır. Ve. ocx uzantısı, ActiveX denetimlerini içeren kitaplıklar tarafından kullanılır ve. drv uzantısı, eski sistem sürücü dosyaları tarafından kullanılır. DLL dosyası biçimi, Windows EXE dosyaları (32-bit / 64-bit Windows'daki Taşınabilir Yürütülebilir Dosyalar ve 16-bit Windows'daki Yeni Yürütülebilir Dosyalar) ile aynıdır. Bu nedenle, kod, veri ve kaynakların herhangi bir bileşimi DLL dosyalarında bulunabilir (sadece EXE dosyalarında olduğu gibi). Aslında, DLL dosya biçimindeki veri dosyaları, kaynak DLL'leri olarak adlandırılır. Simge kitaplıkları (. Icl uzantılı) ve yazı tipi dosyaları (.fon ve.fot uzantılarıyla birlikte) kaynak DLL'lerine örnektir.

Kısımlar denilen bileşenler bir DLL oluşturur ve her bölüm salt okunur / yazılabilir ve yürütülebilir / çalıştırılamaz gibi kendi niteliklerine sahiptir. Kod bölümleri yürütülebilir, ancak veri bölümleri çalıştırılamaz. Kod bölümleri paylaşılır ve veri bölümleri özel olur. Demek ki DLL kullanan tüm süreçler aynı kopyayı kullanacak ve her işlem kendi kopyasını alacaktır. Windows için birincil dinamik kütüphane kernel32'dir. dll, Windows'da temel işlevleri (dosya ve bellekle ilgili işlevselliği) içerir. COM (Bileşen Nesne Modeli), DLL'nin OOP (Nesneye Dayalı Programlama) uzantısıdır. Konvansiyonel DLL'ler, COM dosyalarından daha kolaydır.

3'ten büyük ->

LIB nedir?

LIB dosyaları statik kütüphanelerdir (statik olarak bağlantılı kütüphaneler olarak da bilinir). LIB dosyaları bir dizi altprogram, harici işlev ve değişken içerir. LIB dosyaları derleme zamanında (çalışma zamanı yerine) çözümlenir. Kod aslında hedef uygulamaya kopyalanır. Bir derleyici, bağlayıcı veya bir bağlayıcı bu çözünürlüğü yapacak ve bir nesne dosyası ve bir yürütülebilir dosya üretecektir. Bu işleme statik yapı işlemi adı verilir.

DLL ve LIB arasındaki fark nedir?

LIB kitaplıkları derleme sırasında çağrılabilir, ancak DLL kitaplıkları yalnızca çalışma zamanı sırasında çağrılabilir.LIB dosyaları DLL dosyalarından önemli ölçüde daha büyüktür. DLL dosyalarıyla ilgili yaygın bir sorun, sürüm oluşturma sorununudur. DLL'in kodu değiştirildiğinde ve uygulama bir DLL dosyasının yanlış bir sürümünü kullandığında bu olur. Bu, LIB dosyaları ile ilgili bir problem değildir. Yeniden kullanılabilirlik açısından, sistemlerin yeni sürümlerini veya tamamen yeni uygulamaları yazarken, DLL'ler daima LIB'lerden daha iyidir.