Forskel mellem samling og DLL

Anonim

Assembly vs DLL

Et bibliotek er en samling ressourcer, som kan bruges til at udvikle applikationer. Et bibliotek består sædvanligvis af underrutiner, funktioner, klasser, værdier og typer. Under forbindelsesprocessen (normalt lavet af en linker) henviser biblioteker og eksekverbare filer til hinanden. DLL-filer er bibliotekets filer, der er knyttet dynamisk. DLL blev udviklet af Microsoft. Men på grund af nogle problemer med DLL-filer kom Microsoft op med Assembly-filformat (med.NET-rammen). Forsamlingsfiler ligner meget DLL'er fysisk, men de har mange interne forskelle.

Hvad er DLL?

Dynamisk Link Library (mere almindeligt kendt som DLL) er en fælles bibliotek implementering udviklet af Microsoft. Det bruger. dll,. ocx eller. drv extensions og de bruges i Microsoft Windows og OS / 2 operativsystemer … dll bruges af de almindelige DLL-filer. Og. Ocx-udvidelse bruges af de biblioteker, der indeholder ActiveX-kontroller og. drv-udvidelse bruges af gamle systemdriverfiler. DLL-filformatet er det samme som Windows EXE-filerne (Bærbare eksekverbare filer på 32-bit / 64-bit Windows og New Executable på 16bit Windows). Derfor kan enhver kombination af kode, data og ressourcer indeholde DLL-filer (ligesom i EXE-filer). Faktisk kaldes datafiler med DLL-filformat ressource DLL'er. Ikonbiblioteker (med. Icl-udvidelse) og skrifttypefiler (med.fon og.fot-udvidelser) er eksempler på ressource-DLL'er.

Komponenter kaldes sektioner udgør en DLL, og hvert afsnit har sine egne attributter som skrivebeskyttet og eksekverbar / ikke-eksekverbar. Kodesektioner kan udføres, mens datasektioner ikke kan køres. Kodesektionerne deles og datasektioner er private. Det betyder, at alle processer, der bruger DLL'en, bruger den samme kopi af koden, mens hver proces har sin egen kopi af dataene. Det primære dynamiske bibliotek til Windows er kernel32. dll, som indeholder basisfunktionerne (fil- og hukommelsesrelateret funktionalitet) på Windows. COM (Component Object Model) er udvidelsen af ​​DLL til OOP (Object Oriented Programming). Konventionelle DLL'er er lettere at bruge end COM-filer.

Hvad er en forsamling?

Samlingsfiler blev introduceret af Microsoft for at løse flere problemer med DLL-filer. Forsamlingsfiler blev introduceret med Microsoft. NET ramme. En eksekverbar logisk enhed af funktionalitet kaldes en forsamling. Samlinger er eksekverbare under. NET CLR (Common Language Runtime). Fysisk findes der enheder som EXE- eller DLL-filer. Men de er meget forskellige fra Microsoft Win32 DLL'er internt. En samlingsfil består af et manifest, metadata, MISL (Microsoft Intermediate Language Code) og andre ressourcer.En samling er selvbeskrivende. Manifestet indeholder oplysningerne som navn, version, kultur, stærkt navn, filliste, typer og afhængigheder. MISL-kode udføres via CLR (den kan ikke udføres direkte).

Hvad er forskellen mellem forsamling og DLL?

DLL er et dynamisk forbundet bibliotek. Selvom samlinger er fysisk lig med DLL'er, er de meget forskellige internt. Det er ikke muligt at opretholde sammenhæng mellem et sæt DLL'er, men CLR'en kan opretholde sammenhæng mellem et sæt af samlinger, fordi samlinger er selvbeskrivende (de indeholder listen over afhængigheder internt). I modsætning til DLL'er håndhæves versionsinformation for samlinger (ved CLR). Side-by-side implementering (forskellige applikationer med forskellige versioner) er mulig med samlinger.