Derleme ve DLL Arasındaki Fark

Derleme vs DLL

Kütüphane, uygulamaları geliştirmek için kullanılabilecek bir kaynak koleksiyonudur. Bir kütüphane genellikle altyordamlar, 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 yürütülebilir dosyalar birbirlerine referans verir. DLL dosyaları dinamik olarak bağlanan kütüphane dosyalarıdır. DLL, Microsoft tarafından geliştirilmiştir. Ancak, DLL dosyalarıyla ilgili bazı sorunlar nedeniyle, Microsoft, Derleme dosya biçimini (.NET çerçevesiyle) buldu. Derleme dosyaları DLL'lere fiziksel olarak çok benzer, ancak birçok iç farklılıkları vardır.

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. .Dll, .ocx veya .drv uzantılarını kullanır ve 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 ve .drv uzantısı eski sistem sürücü 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 16bit Windows'ta Yeni Yürütülebilir dosyalar). Bu nedenle, herhangi bir kod, veri ve kaynak kombinasyonu DLL dosyalarında (EXE dosyalarında olduğu gibi) bulunabilir. Aslında, DLL dosya biçimindeki veri dosyalarına kaynak DLL'ler denir. Simge kitaplıkları (.icl uzantılı) ve yazı tipi dosyaları (.fon ve .fot uzantılı) kaynak DLL'lerine örnektir.

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

Meclis Nedir?

Derleme dosyaları, DLL dosyalarıyla ilgili çeşitli sorunları çözmek için Microsoft tarafından tanıtıldı. Derleme dosyaları Microsoft .NET framework ile tanıtıldı. Yürütülebilir bir mantıksal işlevsellik birimine Derleme denir. Montajlar .NET CLR (Ortak Dil Çalışma Zamanı) altında yürütülebilir. Fiziksel olarak derlemeler EXE veya DLL dosyaları olarak bulunur. Ancak, dahili olarak Microsoft Win32 DLL'lerinden çok farklıdırlar. Bir montaj dosyası bir manifest, meta veri, MISL (Microsoft Orta Dil Dili) ve diğer kaynaklardan oluşur. Bir meclis kendini tarif eder. Manifest'te ad, sürüm, kültür, güçlü ad, dosya listesi, türleri ve bağımlılıkları gibi bilgiler bulunur. MISL kodu CLR üzerinden yürütülür (doğrudan yürütülemez).

Assembly ve DLL arasındaki fark nedir?

DLL, dinamik olarak bağlı bir kütüphanedir. Derlemeler fiziksel olarak DLL'lere eşit olsa da, dahili olarak çok farklıdır. Bir DLL dizisi arasında tutarlılığı sağlamak mümkün değildir, ancak CLR bir dizi derleme arasında tutarlılığı koruyabilir, çünkü derlemeler kendi kendini tanımlamaktadır (dahili olarak bağımlılıklar listesini içerir). DLL'lerin aksine, derleme bilgileri (CLR tarafından) derlemeler için zorlanır. Montajlarla yan yana dağıtım (farklı sürümleri kullanan farklı uygulamalar) mümkündür.