Razlika između montaže i DLL-a

Skupština vs DLL

Knjižnica je skup resursa koji se mogu koristiti za razvoj aplikacija. Knjižnica se obično sastoji od podprograma, funkcija, klasa, vrijednosti i vrsta. Tijekom procesa povezivanja (obično radi veznik), knjižnice i izvršne datoteke pozivaju se jedna na drugu. DLL datoteke su bibliotečke datoteke koje su dinamički povezane. DLL je razvio Microsoft. No, zbog nekih problema s DLL datotekama, Microsoft je smislio skupni format datoteke (s .NET okvirom). Datoteke za montažu fizički su vrlo slične DLL-ovima, ali imaju brojne unutarnje razlike.

Što je DLL?

Biblioteka dinamičkih veza (poznatija kao DLL) zajednička je implementacija biblioteke koju je razvio Microsoft. Koristi .dll, .ocx ili .drv proširenja i koriste se u operacijskim sustavima Microsoft Windows i OS / 2 ... dll koriste redovne DLL datoteke. I .ocx proširenje koriste knjižnice koje sadrže ActiveX kontrole, a .drv proširenje koriste naslijeđene datoteke upravljačkog programa. Format DLL datoteke isti je kao i datoteke Windows EXE (Prijenosne izvršne datoteke u 32-bitnom / 64-bitnom Windows-u i nove izvršne datoteke u 16-bitnom Windows-u). Stoga, svaka kombinacija koda, podataka i resursa može se nalaziti u DLL datotekama (baš kao i u EXE datotekama). Kao činjenica, datoteke s podacima u obliku DLL datoteke nazivaju se DLL-ovi resursa. Biblioteke ikona (s .icl ekstenzijom) i datoteke fonta (s .fon i .fot ekstenzijama) primjeri su DLL-ova resursa.

Komponente koje nazivamo odjeljcima čine DLL i svaki odjeljak ima svoje atribute poput samo za čitanje / zapisljiv i izvršni / ne izvršljivi. Odjeljci koda su izvršljivi, dok su odjeljci s podacima neizvršivi. Odjeljci kodova dijele se, a podatkovni su dijelovi privatni. To znači da će svi procesi koji koriste DLL koristiti istu kopiju koda, dok će svaki postupak imati svoju kopiju podataka. Primarna dinamička biblioteka za Windows je kernel32.dll koja sadrži osnovne funkcije (funkcionalnost vezana uz datoteke i memoriju) u sustavu Windows. COM (Component Object Model) je proširenje DLL-a na OOP (Object Oriented Programming). Konvencionalne DLL datoteke jednostavnije su za upotrebu od COM datoteka.

Što je skupština?

Microsoft je uveo skupštačke datoteke kako bi riješio nekoliko problema prisutnih s DLL datotekama. Datoteke za montažu uvedene su s Microsoft .NET okvirom. Izvršna logička jedinica funkcionalnosti naziva se skupština. Sklopi se izvršavaju u .NET CLR (Zajednički Runtime Language). Fizički sklopovi postoje kao EXE ili DLL datoteke. Ali, interno se razlikuju od DLL-ova tvrtke Microsoft Win32. Datoteka za montažu sastoji se od manifesta, metapodataka, MISL (Microsoftov srednji jezični kod) i drugih resursa. Skup je sam opisivač. Manifest sadrži informacije poput imena, verzije, kulture, snažnog imena, popisa datoteka, vrsta i ovisnosti. MISL kôd se izvršava putem CLR-a (ne može se izravno izvršiti).

Koja je razlika između Skupštine i DLL-a?

DLL je dinamično povezana knjižnica. Iako su sklopovi fizički jednaki DLL-ovima, oni se interno jako razlikuju. Nije moguće održati dosljednost između skupa DLL-ova, ali CLR može održati dosljednost između skupa sklopova, jer sklopovi samo-opisuju (sadrže interno popis ovisnosti). Za razliku od DLL-ova, informacije o inačicama provode se za sklopove (CLR). Upotreba sklopova je moguća usporedo (različite aplikacije koje koriste različite verzije).