Forskjellen mellom montering og DLL

Forskjellen mellom montering og DLL
Forskjellen mellom montering og DLL

Video: Forskjellen mellom montering og DLL

Video: Forskjellen mellom montering og DLL
Video: Fremtidens tog 2024, Juli
Anonim

Assembly vs DLL

Et bibliotek er en samling ressurser som kan brukes til å utvikle applikasjoner. Et bibliotek består vanligvis av subrutiner, funksjoner, klasser, verdier og typer. Under koblingsprosessen (vanligvis utført av en linker), refererer biblioteker og kjørbare til hverandre. DLL-filer er bibliotekfilene som er koblet dynamisk. DLL ble utviklet av Microsoft. Men på grunn av noen problemer med DLL-filer, kom Microsoft opp med Assembly-filformatet (med. NET-rammeverket). Monteringsfiler ligner veldig på DLL-er fysisk, men de har mange interne forskjeller.

Hva er DLL?

Dynamic Link Library (mer kjent som DLL) er en delt bibliotekimplementering utviklet av Microsoft. Den bruker utvidelsene.dll,.ocx eller.drv, og de brukes i operativsystemene Microsoft Windows og OS/2..dll brukes av de vanlige DLL-filene. Og.ocx-utvidelsen brukes av bibliotekene som inneholder ActiveX-kontroller og.drv-utvidelsen brukes av eldre systemdriverfiler. DLL-filformatet er det samme som Windows EXE-filene (bærbare kjørbare filer på 32-bit/64-bit Windows og Ny kjørbar på 16-bit Windows). Derfor kan enhver kombinasjon av kode, data og ressurser finnes i DLL-filer (akkurat som i EXE-filer). Faktisk kalles datafiler med DLL-filformatet ressurs-DLL-er. Ikonbiblioteker (med.icl-utvidelse) og skriftfiler (med.fon- og.fot-utvidelser) er eksempler på ressurs-DLL-er.

Komponenter k alt seksjoner utgjør en DLL og hver seksjon har sine egne attributter som skrivebeskyttet/skrivbar og kjørbar/ikke kjørbar. Kodeseksjoner er kjørbare, mens dataseksjoner er ikke kjørbare. Kodedelene er delt og datadelene er private. Det betyr at alle prosesser som bruker DLL vil bruke samme kopi av koden, mens hver prosess vil ha sin egen kopi av dataene. Det primære dynamiske biblioteket for Windows er kernel32.dll, som inneholder basisfunksjonene (fil- og minnerelatert funksjonalitet) på Windows. COM (Component Object Model) er utvidelsen av DLL til OOP (Object Oriented Programming). Konvensjonelle DLL-er er enklere å bruke enn COM-filer.

Hva er en forsamling?

Assembly-filer ble introdusert av Microsoft for å løse flere problemer med DLL-filer. Monteringsfiler ble introdusert med Microsoft. NET-rammeverket. En kjørbar logisk funksjonalitetsenhet kalles en Assembly. Samlinger er kjørbare under. NET CLR (Common Language Runtime). Fysisk eksisterer sammenstillinger som EXE- eller DLL-filer. Men de er veldig forskjellige fra Microsoft Win32 DLL-er internt. En monteringsfil består av et manifest, metadata, MISL (Microsoft Intermediate Language code) og andre ressurser. En forsamling er selvbeskrivende. Manifestet inneholder informasjon som navn, versjon, kultur, sterkt navn, filliste, typer og avhengigheter. MISL-koden kjøres gjennom CLR (den kan ikke kjøres direkte).

Hva er forskjellen mellom montering og DLL?

DLL er et dynamisk koblet bibliotek. Selv om sammenstillinger er fysisk like DLL-er, er de svært forskjellige internt. Det er ikke mulig å opprettholde konsistens mellom et sett med DLL-er, men CLR kan opprettholde konsistens mellom et sett med sammenstillinger, fordi sammenstillinger er selvbeskrivende (de inneholder listen over avhengigheter internt). I motsetning til for DLL-er, håndheves versjonsinformasjon for sammenstillinger (av CLR). Side ved side distribusjon (ulike applikasjoner som bruker forskjellige versjoner) er mulig med sammenstillinger.

Anbefalt: