Forskellen Mellem Montering Og DLL

Forskellen Mellem Montering Og DLL
Forskellen Mellem Montering Og DLL

Video: Forskellen Mellem Montering Og DLL

Video: Forskellen Mellem Montering Og DLL
Video: Запуск программы невозможен, так как на компьютере отсутствует файл dll, где скачать dll файлы? 🤔💻 2024, November
Anonim

Samling vs DLL

Et bibliotek er en samling ressourcer, der kan bruges til at udvikle applikationer. Et bibliotek består normalt af underrutiner, funktioner, klasser, værdier og typer. Under sammenkædningsprocessen (normalt udført af en linker) henviser biblioteker og eksekverbare filer til hinanden. DLL-filer er de biblioteksfiler, der er linket dynamisk. DLL blev udviklet af Microsoft. Men på grund af nogle problemer til stede med DLL-filer kom Microsoft med forsamlingsfilformat (med. NET framework). Samlingsfiler er meget lig DLL'er fysisk, men de har mange interne forskelle.

Hvad er DLL?

Dynamic Link Library (mere almindeligt kendt som DLL) er en implementering af et delt bibliotek udviklet af Microsoft. Det bruger.dll-,.ocx- eller.drv-udvidelser, 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 ældre systemdriverfiler. DLL-filformatet er det samme som Windows EXE-filer (bærbare eksekverbare filer på 32-bit / 64-bit Windows og nye eksekverbare på 16-bit 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-filformat ressource-DLL'er. Ikonbiblioteker (med.icl-udvidelse) og fontfiler (med.fon- og.fot-udvidelser) er eksempler på ressource-DLL'er.

Komponenter kaldet sektioner udgør en DLL, og hver sektion har sine egne attributter som skrivebeskyttet / skrivbar og eksekverbar / ikke eksekverbar. Kodeafsnit er eksekverbare, mens datasektioner er ikke eksekverbare. 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, 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?

Montagefiler blev introduceret af Microsoft for at løse flere problemer med DLL-filer. Samlingsfiler blev introduceret med Microsoft. NET framework. En eksekverbar logisk funktionalitetsenhed kaldes en forsamling. Samlinger 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-kode) og andre ressourcer. En forsamling er selvbeskrivende. Manifestet indeholder oplysninger så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. Selv om 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 kan opretholde konsistens mellem et sæt samlinger, fordi samlinger er selvbeskrivende (de indeholder internt listen over afhængigheder). I modsætning til for DLL'er håndhæves versioneringsoplysninger til samlinger (af CLR). Side-by-side-implementering (forskellige applikationer, der bruger forskellige versioner) er mulig med samlinger.

Anbefalet: