DLL ve LIB Arasındaki Fark

DLL ve LIB Arasındaki Fark
DLL ve LIB Arasındaki Fark

Video: DLL ve LIB Arasındaki Fark

Video: DLL ve LIB Arasındaki Fark
Video: Tonikler Nasıl Uygulanır? & Tonik Önerilerim 2024, Temmuz
Anonim

DLL vs LIB

Kitaplık, uygulamalar geliştirmek için kullanılabilecek bir kaynak koleksiyonudur. Bir kitaplık genellikle alt programlardan, işlevlerden, sınıflardan, değerlerden ve türlerden oluşur. Bağlama işlemi sırasında (genellikle bir bağlayıcı tarafından yapılır), kitaplıklar ve yürütülebilir dosyalar birbirlerine başvuruda bulunur. Kitaplık dosyaları, alt programların hedef uygulamaya yüklendiği zamana bağlı olarak statik ve dinamik kitaplıklara ayrılı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 bir paylaşılan kitaplık uygulamasıdır..dll,.ocx veya.drv uzantılarını kullanır ve bunlar Microsoft Windows ve OS/2 işletim sistemlerinde kullanılır..dll, normal 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üsü dosyaları tarafından kullanılır. DLL dosya biçimi, Windows EXE dosyalarıyla aynıdır (32-bit/64-bit Windows'ta Taşınabilir Yürütülebilir dosyalar ve 16-bit Windows'ta Yeni Yürütülebilir dosyalar). Bu nedenle, herhangi bir kod, veri ve kaynak kombinasyonu DLL dosyalarında bulunabilir (tıpkı EXE dosyalarında olduğu gibi). Nitekim DLL dosya formatına sahip veri dosyalarına kaynak DLL'leri denir. Simge kitaplıkları (.icl uzantılı) ve yazı tipi dosyaları (.fon ve.fot uzantılı), kaynak DLL'lerinin örnekleridir.

Bölüm adı verilen bileşenler bir DLL oluşturur ve her bölümün s alt okunur/yazılabilir ve yürütülebilir/çalıştırılamaz gibi kendi öznitelikleri vardır. Kod bölümleri yürütülebilirken, veri bölümleri yürütülemez. Kod bölümleri paylaşılır ve veri bölümleri özeldir. Bu, DLL'yi kullanan tüm işlemlerin kodun aynı kopyasını kullanacağı ve her işlemin kendi veri kopyasına sahip olacağı anlamına gelir. Windows için birincil dinamik kitaplık, Windows'taki temel işlevleri (dosya ve bellekle ilgili işlevsellik) içeren kernel32.dll'dir. COM (Bileşen Nesne Modeli), DLL'nin OOP'ye (Nesne Yönelimli Programlama) uzantısıdır. Geleneksel DLL'lerin kullanımı COM dosyalarından daha kolaydır.

LIB nedir?

LIB dosyaları statik kitaplıklardır (statik olarak bağlantılı kitaplıklar olarak da bilinir). LIB dosyaları bir dizi alt yordam, harici işlevler ve değişkenler içerir. LIB dosyaları derleme zamanında çözülür (çalışma zamanının aksine). 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 yürütülebilir bir dosya üretecektir. Bu işleme statik oluşturma işlemi denir.

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ında çağrılabilir. LIB dosyaları, DLL dosyalarından önemli ölçüde daha büyüktür. DLL dosyalarıyla ilgili çok yaygın bir sorun, sürüm oluşturma sorunudur. Bu, DLL kodu değiştirildiğinde ve uygulama DLL'nin yanlış bir sürümünü kullandığında olur. Bu, LIB dosyalarıyla ilişkili bir sorun değildir. Yeniden kullanılabilirlik açısından, sistemlerin yeni sürümlerini veya tamamen yeni uygulamaları yazarken DLL'ler her zaman LIB'lerden daha iyidir.

Önerilen: