Razlika između sklopa i DLL-a

Razlika između sklopa i DLL-a
Razlika između sklopa i DLL-a

Video: Razlika između sklopa i DLL-a

Video: Razlika između sklopa i DLL-a
Video: China Railways vs India Railways - This is truly shocking... 🇨🇳 中国vs印度。。。我震惊了 2024, Srpanj
Anonim

Sastavljanje vs DLL

Knjižnica je skup resursa koji se mogu koristiti za razvoj aplikacija. Knjižnica se obično sastoji od potprograma, funkcija, klasa, vrijednosti i tipova. Tijekom procesa povezivanja (obično ga radi povezivač), biblioteke i izvršne datoteke međusobno se referenciraju. DLL datoteke su datoteke biblioteke koje su dinamički povezane. DLL je razvio Microsoft. Ali zbog nekih problema prisutnih s DLL datotekama, Microsoft je smislio format datoteke Assembly (s. NET okvirom). Datoteke sklopa su fizički vrlo slične DLL-ovima, ali imaju mnogo internih razlika.

Što je DLL?

Dynamic Link Library (poznatija kao DLL) implementacija je zajedničke biblioteke koju je razvio Microsoft. Koristi ekstenzije.dll,.ocx ili.drv i one se koriste u operativnim sustavima Microsoft Windows i OS/2..dll koriste obične DLL datoteke. Ekstenziju.ocx koriste biblioteke koje sadrže ActiveX kontrole, a ekstenziju.drv koriste datoteke naslijeđenih upravljačkih programa sustava. Format DLL datoteke isti je kao Windows EXE datoteke (prijenosne izvršne datoteke na 32-bitnim/64-bitnim Windowsima i nove izvršne datoteke na 16-bitnim Windowsima). Stoga, bilo koja kombinacija koda, podataka i resursa može biti sadržana u DLL datotekama (baš kao u EXE datotekama). Zapravo, podatkovne datoteke s DLL formatom datoteke nazivaju se izvorni DLL-ovi. Knjižnice ikona (s ekstenzijom.icl) i datoteke fontova (s ekstenzijom.fon i.fot) primjeri su DLL-ova resursa.

Komponente koje se nazivaju odjeljci čine DLL i svaki odjeljak ima svoje vlastite atribute kao što su samo za čitanje/zapisivanje i izvršni/neizvršni. Sekcije koda su izvršne, dok sekcije podataka nisu izvršne. Dijelovi koda su zajednički, a podaci privatni. To znači da će svi procesi koji koriste DLL koristiti istu kopiju koda, dok će svaki proces imati svoju kopiju podataka. Primarna dinamička biblioteka za Windows je kernel32.dll, koja sadrži osnovne funkcije (funkcionalnost vezanu uz datoteke i memoriju) u sustavu Windows. COM (Component Object Model) je proširenje DLL-a na OOP (Object Oriented Programming). Konvencionalne DLL datoteke lakše je koristiti od COM datoteka.

Što je skupština?

Sklopne datoteke uveo je Microsoft kako bi riješio nekoliko problema prisutnih s DLL datotekama. Datoteke sklopa uvedene su s Microsoft. NET okvirom. Izvršna logička jedinica funkcionalnosti naziva se sklop. Sklopovi su izvršni pod. NET CLR (Common Language Runtime). Fizički, sklopovi postoje kao EXE ili DLL datoteke. No, interno se vrlo razlikuju od Microsoft Win32 DLL-ova. Datoteka sklopa sastoji se od manifesta, metapodataka, MISL-a (Microsoft Intermediate Language code) i drugih izvora. Sklop se sam opisuje. Manifest sadrži informacije kao što su naziv, verzija, kultura, jako ime, popis datoteka, vrste i ovisnosti. MISL kod se izvršava kroz CLR (ne može se izravno izvršiti).

Koja je razlika između sklopa i DLL-a?

DLL je dinamički povezana biblioteka. Iako su sklopovi fizički jednaki DLL-ovima, interno su vrlo različiti. Nije moguće održavati konzistentnost između skupa DLL-ova, ali CLR može održavati konzistentnost između skupa sklopova, jer se sklopovi sami opisuju (interno sadrže popis ovisnosti). Za razliku od DLL-ova, informacije o verzijama provode se za sklopove (od strane CLR-a). Usporedna implementacija (različite aplikacije koje koriste različite verzije) moguća je sa sklopovima.

Preporučeni: