Forskellen mellem samling og DLL

Samling vs DLL

Et bibliotek er en samling af ressourcer, der kan bruges til at udvikle applikationer. Et bibliotek består normalt af underprogrammer, funktioner, klasser, værdier og typer. Under linkprocessen (normalt udført af en linker) henviser biblioteker og eksekverbare computere til hinanden. DLL-filer er bibliotekets filer, der er linket dynamisk. DLL blev udviklet af Microsoft. Men på grund af nogle problemer med DLL-filer, kom Microsoft med Assembly-filformat (med .NET-rammen). Samlingsfiler ligner fysisk DLLs meget, men de har mange interne forskelle.

Hvad er DLL?

Dynamic Link Library (mere almindeligt kendt som DLL) er en delt biblioteksimplementering udviklet af Microsoft. Det bruger extensions .dll, .ocx eller .drv, og de bruges i Microsoft Windows og OS / 2-operativsystemer… dll bruges af de almindelige DLL-filer. Og .ocx-udvidelse bruges af bibliotekerne, der indeholder ActiveX-kontroller, og .drv-udvidelse bruges af ældre systemdriverfiler. DLL-filformatet er det samme som Windows EXE-filer (Portable Executable files on 32-bit / 64-bit Windows and New Executable on 16bit Windows). Derfor kan enhver kombination af kode, data og ressourcer være indeholdt i DLL-filer (ligesom i EXE-filer). Faktisk kaldes datafiler med DLL-filformatet ressource-DLL'er. Ikonbiblioteker (med .icl-udvidelse) og fontfiler (med .fon- og .fot-udvidelser) er eksempler på ressource-DLL'er.

Komponenter, der kaldes sektioner, udgør en DLL, og hvert afsnit har sine egne attributter som skrivebeskyttet / skrivbar og eksekverbar / ikke eksekverbar. Kodedele er eksekverbare, mens datasektioner ikke kan eksekveres. Kodeafsnittene deles, og datasektioner er private. Det betyder, at alle processer, der bruger DLL, 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, der indeholder basefunktionerne (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, der er til stede med DLL-filer. Samlingsfiler blev introduceret med Microsoft .NET-rammen. En eksekverbar logisk enhed af funktionalitet kaldes en samling. Assemblies kan køres under .NET CLR (Common Language Runtime). Fysisk findes samlinger 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 oplysninger 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 samling og DLL?

DLL er et dynamisk linket bibliotek. Skønt enheder fysisk er lig med DLL'er, er de meget forskellige internt. Det er ikke muligt at opretholde konsistens mellem et sæt af DLL'er, men CLR kan opretholde konsistens mellem et sæt samlinger, fordi samlinger er selvbeskrivende (de indeholder listen over afhængigheder internt). I modsætning til for DLLs håndhæves versioneringsinformation for samlinger (af CLR). Implementering side om side (forskellige applikationer ved hjælp af forskellige versioner) er mulig med samlinger.