Forskjell mellom montering og DLL

Anonim

Assembly vs DLL

Et bibliotek er en samling ressurser som kan brukes til å utvikle applikasjoner. Et bibliotek består vanligvis av underrutiner, funksjoner, klasser, verdier og typer. Under koblingsprosessen (vanligvis gjort av en linker), refererer biblioteker og kjørbare til hverandre. DLL-filer er biblioteksfiler som er koblet dynamisk. DLL ble utviklet av Microsoft. Men på grunn av noen problemer med DLL-filer, kom Microsoft opp med Assembly-filformat (med. NET-rammen). Monteringsfiler er svært lik DLLs fysisk, men de har mange interne forskjeller.

Hva er DLL?

Dynamisk Link Library (mer kjent som DLL) er en felles bibliotek implementering utviklet av Microsoft. Den bruker. dll,. ocx eller. drv extensions og de brukes i Microsoft Windows og OS / 2 operativsystemer … dll brukes av de vanlige DLL-filene. Og. Ocx-utvidelsen brukes av bibliotekene som inneholder ActiveX-kontroller og. drv forlengelse brukes av eldre systemdriverfiler. DLL-filformatet er det samme som Windows EXE-filene (Bærbare kjørbare filer på 32-biters / 64-biters Windows og Nytt kjørbar på 16-biters Windows). Derfor kan enhver kombinasjon av kode, data og ressurser inneholde DLL-filer (akkurat som i EXE-filer). Som et faktum er datafiler med DLL-filformatet kalt ressursdlls. Ikonbiblioteker (med.lc-utvidelse) og skriftfiler (med.fon og.fot-utvidelser) er eksempler på ressursdlls.

Komponenter som kalles seksjoner, utgjør en DLL, og hver seksjon har sine egne attributter som skrivebeskyttet og eksekverbar / ikke-kjørbar. Kodeseksjoner kan kjøres, mens dataseksjonene ikke kan kjøres. Kodeseksjonene deles og dataseksjonene 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 DLLer er enklere å bruke enn COM-filer.

Hva er en forsamling?

Monteringsfiler ble introdusert av Microsoft for å løse flere problemer som er tilstede med DLL-filer. Monteringsfiler ble introdusert med Microsoft. NET Framework. En kjørbar logisk funksjonalitet kalles en forsamling. Samlinger er kjørbare under. NET CLR (Common Language Runtime). Fysisk eksisterer sammenstillinger som EXE- eller DLL-filer. Men de er svært forskjellige fra Microsoft Win32 DLLs, internt. En samlingsfil består av et manifest, metadata, MISL (Microsoft Intermediate Language code) og andre ressurser.En samling er selvbeskrivende. Manifestet inneholder informasjonen som navn, versjon, kultur, sterk navn, filliste, typer og avhengigheter. MISL-kode utføres via CLR (den kan ikke utføres direkte).

Hva er forskjellen mellom Assembly og DLL?

DLL er et dynamisk koblet bibliotek. Selv om samlinger er fysisk lik DLL, er de veldig forskjellige internt. Det er ikke mulig å opprettholde konsistens mellom et sett med DLLer, men CLR kan opprettholde konsistens mellom et sett av sammenstillinger, fordi sammenstillinger er selvbeskrivende (de inneholder listen over avhengigheter internt). I motsetning til for DLLs, er versjoneringsinformasjonen tvunget til sammenstillinger (ved CLR). Sideutvikling (forskjellige applikasjoner som bruker forskjellige versjoner) er mulig med sammenstillinger.