Razlika med sestavljanjem in DLL

Razlika med sestavljanjem in DLL
Razlika med sestavljanjem in DLL

Video: Razlika med sestavljanjem in DLL

Video: Razlika med sestavljanjem in DLL
Video: 📼 DLL - Динамически загружаемые библиотеки (Win32 API). Программирование в ОС Windows. Лекция 3. 2024, Julij
Anonim

Sestavljanje proti DLL

Knjižnica je zbirka virov, ki se lahko uporabljajo za razvoj aplikacij. Knjižnico običajno sestavljajo podprogrami, funkcije, razredi, vrednosti in tipi. Med postopkom povezovanja (ki ga običajno izvede povezovalnik) se knjižnice in izvedljive datoteke sklicujejo druga na drugo. Datoteke DLL so datoteke knjižnice, ki so dinamično povezane. DLL je razvil Microsoft. Toda zaradi nekaterih težav, ki so prisotne z datotekami DLL, je Microsoft prišel do formata datoteke Assembly (z ogrodjem. NET). Zbirne datoteke so fizično zelo podobne datotekam DLL, vendar imajo veliko notranjih razlik.

Kaj je DLL?

Dynamic Link Library (bolj znana kot DLL) je implementacija knjižnice v skupni rabi, ki jo je razvil Microsoft. Uporablja končnice.dll,.ocx ali.drv in se uporabljajo v operacijskih sistemih Microsoft Windows in OS/2..dll uporabljajo običajne datoteke DLL. Pripono.ocx uporabljajo knjižnice, ki vsebujejo kontrolnike ActiveX, pripono.drv pa uporabljajo starejše datoteke sistemskega gonilnika. Format datoteke DLL je enak datotekam Windows EXE (prenosne izvedljive datoteke v 32-bitnem/64-bitnem sistemu Windows in nove izvedljive datoteke v 16-bitnem sistemu Windows). Zato je lahko katera koli kombinacija kode, podatkov in virov v datotekah DLL (tako kot v datotekah EXE). Pravzaprav se podatkovne datoteke z obliko datoteke DLL imenujejo DLL virov. Knjižnice ikon (s pripono.icl) in datoteke pisav (s pripono.fon in.fot) so primeri DLL-jev virov.

Komponente, imenovane razdelki, sestavljajo DLL in vsak razdelek ima lastne atribute, kot so samo za branje/zapisovanje in izvedljivo/neizvršljivo. Odseki kode so izvedljivi, medtem ko odseki s podatki niso izvedljivi. Odseki s kodo so v skupni rabi, odseki s podatki pa so zasebni. To pomeni, da bodo vsi procesi, ki uporabljajo DLL, uporabljali isto kopijo kode, medtem ko bo imel vsak proces svojo kopijo podatkov. Primarna dinamična knjižnica za Windows je kernel32.dll, ki vsebuje osnovne funkcije (funkcijo, povezano z datotekami in pomnilnikom) v sistemu Windows. COM (Component Object Model) je razširitev DLL v OOP (Object Oriented Programming). Običajne datoteke DLL je lažje uporabljati kot datoteke COM.

Kaj je skupščina?

Sestavne datoteke je uvedel Microsoft, da bi rešil številne težave z datotekami DLL. Zbirne datoteke so bile predstavljene z ogrodjem Microsoft. NET. Izvršljiva logična enota funkcionalnosti se imenuje sklop. Sklopi so izvršljivi 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. Zbirna datoteka je sestavljena iz manifesta, metapodatkov, MISL (Microsoft Intermediate Language code) in drugih virov. Sklop se sam opisuje. Manifest vsebuje informacije, kot so ime, različica, kultura, močno ime, seznam datotek, vrste in odvisnosti. Koda MISL se izvaja prek CLR (ni je mogoče neposredno izvesti).

Kakšna je razlika med skupščino in DLL?

DLL je dinamično povezana knjižnica. Čeprav so sklopi fizično enaki DLL-jem, so znotraj zelo različni. Ni mogoče ohraniti skladnosti med nizom DLL-jev, vendar lahko CLR vzdržuje skladnost med nizom sklopov, ker so sklopi samoopisni (notranji vsebujejo seznam odvisnosti). Za razliko od DLL-jev so informacije o različicah vsiljene za sklope (s strani CLR). Vzporedna uvedba (različne aplikacije, ki uporabljajo različne različice) je možna s sklopi.

Priporočena: