Razlika med sestavljanjem in DLL

Montaža proti DLL

Knjižnica je zbirka virov, ki jih je mogoče uporabiti za razvoj aplikacij. Knjižnica je običajno sestavljena iz podprogramov, funkcij, razredov, vrednosti in vrst. Med postopkom povezovanja (običajno ga izvaja povezovalec) se knjižnice in izvršljive datoteke med seboj sklicujejo. Datoteke DLL so datoteke knjižnice, ki so dinamično povezane. DLL je razvil Microsoft. Toda zaradi nekaterih težav z datotekami DLL je Microsoft prišel do datoteke datoteke Assembly (z okvirom .NET). Datoteke za montažo so fizično zelo podobne DLL-jem, vendar imajo številne notranje razlike.

Kaj je DLL?

Dynamic Link Library (bolj znana kot DLL) je skupna implementacija knjižnice, ki jo je razvil Microsoft. Uporablja razširitve .dll, .ocx ali .drv in jih uporabljamo v operacijskih sistemih Microsoft Windows in OS / 2… dll uporabljajo običajne datoteke DLL. In .ocx razširitev uporabljajo knjižnice, ki vsebujejo kontrolnike ActiveX, razširitev .drv pa uporabljajo starejše datoteke gonilnika sistema. Oblika datoteke DLL je enaka datotekam Windows EXE (prenosne izvršljive datoteke v 32-bitnem / 64-bitnem sistemu Windows in nove izvršljive datoteke v 16-bitnem sistemu Windows). Torej je lahko vsaka kombinacija kode, podatkov in virov vsebovana v datotekah DLL (tako kot v EXE datotekah). Podatkovne datoteke z obliko datoteke DLL se pravzaprav imenujejo vire DLL. Knjižnice ikon (s pripono .icl) in datoteke s pisavami (s priponami .fon in .fot) so primeri DLL-jev virov.

Komponente, ki se imenujejo odseki, sestavljajo DLL in vsak odsek ima svoje atribute, kot so samo za branje / zapisljiv in izvedljiv / neizvršljiv. Odseki kode so izvršljivi, medtem ko so odseki s podatki neizvršljivi. Odseki s kodami so deljeni, podatkovni oddelki pa zasebni. To pomeni, da bodo vsi procesi, ki uporabljajo DLL, uporabili isto kopijo kode, medtem ko bo vsak postopek imel svojo kopijo podatkov. Primarna dinamična knjižnica za Windows je kernel32.dll, ki vsebuje osnovne funkcije (funkcionalnost datotek in pomnilnika) v sistemu Windows. COM (Component Object Model) je razširitev DLL na OOP (Object Oriented Programming). Običajne datoteke DLL so enostavnejše za uporabo kot datoteke COM.

Kaj je skupščina?

Microsoft je predstavil datoteke za montažo, da bi rešil več težav, povezanih z datotekami DLL. Datoteke za montažo so bile predstavljene z Microsoftovim .NET okvirom. Izvršljiva logična enota funkcionalnosti se imenuje sestavljanje. Sklopi se izvršijo pod .NET CLR (Common Language Runtime). Fizično sklopi obstajajo kot datoteke EXE ali DLL. Vendar se interno zelo razlikujejo od DLL-jev Microsoft Win32. Datoteko za sestavljanje sestavljajo manifest, metapodatki, MISL (Microsoftova vmesna jezikovna koda) in drugi viri. Sestavitev je samoumevna. Manifest vsebuje informacije, kot so ime, različica, kultura, močno ime, seznam datotek, vrste in odvisnosti. Koda MISL se izvede prek CLR (ni ga mogoče neposredno izvršiti).

Kakšna je razlika med sestavljanjem in DLL?

DLL je dinamično povezana knjižnica. Čeprav so sklopi fizično enaki DLL-om, se znotraj zelo razlikujejo. Ni mogoče ohraniti doslednosti med nizom DLL-jev, vendar pa CLR lahko ohrani skladnost med nizom sklopov, ker sklopi so samo-opisujoči (vsebujejo seznam odvisnosti znotraj). Za razliko od DLL-jev, informacije o različicah uveljavijo za sklope (CLR). Možna je namestitev ob strani (različne aplikacije z različnimi različicami) s sklopi.