Különbség a telepítés és a DLL között

Anonim

Assembly vs DLL

A könyvtár olyan erőforrások gyűjteménye, amelyek felhasználhatók az alkalmazások fejlesztésére. A könyvtár általában szubroutines, függvények, osztályok, értékek és típusokból áll. Az összekapcsolási folyamat során (általában linkeren keresztül) a könyvtárak és a végrehajtható fájlok hivatkoznak egymásra. A DLL fájlok dinamikusan összekapcsolt könyvtárfájlok. A DLL-t a Microsoft dolgozott ki. De a DLL-fájlokkal kapcsolatos problémák miatt a Microsoft összeállította a fájl formátumát (a.NET keretrendszerrel). A szerelési fájlok fizikailag nagyon hasonlítanak a DLL-ekhez, de sok belső különbségük van.

Mi a DLL?

Dinamikus Link Könyvtár (közismert módon DLL) a Microsoft által kifejlesztett megosztott könyvtári megvalósítás. Használja a. dll,. ocx vagy. drv kiterjesztéseket, és ezeket a Microsoft Windows és OS / 2 operációs rendszerekben használják … A DLL-t a rendszeres DLL fájlok használják. És. Az ocx kiterjesztést az ActiveX-vezérlőket és könyvtárakat tartalmazó könyvtárak használják. A drv kiterjesztést a régi rendszerillesztő fájlok használják. A DLL fájlformátum megegyezik a Windows EXE fájlokkal (Portable Executable fájlok 32 bites / 64 bites Windows és Új végrehajtható 16 bites Windows rendszeren). Ezért a kód, az adatok és az erőforrások bármely kombinációja megtalálható a DLL fájlokban (csakúgy, mint az EXE fájlokban). Valójában a DLL fájlformátumú adatfájlokat erőforrás-elnevezéseknek nevezik. Ikonkönyvtárak (icl kiterjesztéssel) és betűtípusfájlok (.fon és. Fot kiterjesztések) példák az erőforrás-DLL-ekre.

-1 ->

Az egyes részek, amelyeknek nevei a DLL-nek felelnek meg, minden egyes rész saját attribútumokkal rendelkezik, mint a read-only / írható és a végrehajtható / nem végrehajtható. A kódszakaszok végrehajthatóak, míg az adatszakaszok nem végrehajthatók. A kódszakaszok megosztottak és az adatszakaszok privát. Ez azt jelenti, hogy a DLL-t használó folyamatok a kód ugyanazt a példányát használják, míg az egyes folyamatoknak saját adatmásolatuk lesz. A Windows elsődleges dinamikus könyvtára a kernel32. dll, amely tartalmazza a Windows operációs rendszer alapfunkcióit (fájl és memóriával kapcsolatos funkciók). A COM (Component Object Model) a DLL kiterjesztése OOP-re (Object Oriented Programming). A hagyományos DLL-ek könnyebbek, mint a COM fájlok.

Mi az a közgyűlés?

A szerelési fájlokat a Microsoft azért mutatta be, hogy megoldja a DLL fájlokkal kapcsolatos problémákat. Összeszerelési fájlokat vezettek be a Microsofthoz. NET Framework. A funkcionalitás végrehajtható logikai egységét Assemblynek nevezik. Az összeszerelések végrehajthatóak az alábbiak szerint. NET CLR (Common Language Runtime). Fizikailag az összeállítások EXE vagy DLL fájlokként léteznek. De nagyon különböznek a Microsoft Win32 DLL-től, belülről. Az összeállítási fájl egy nyilvánvaló, metaadat, MISL (Microsoft Intermediate Language kód) és egyéb forrásokból áll.Egy szerelvény önmagát leírja. A manifeszt olyan információkat tartalmaz, mint a név, a verzió, a kultúra, az erős név, a fájlok listája, a típusok és függőségek. A MISL kódot CLR-en keresztül hajtják végre (nem lehet közvetlenül végrehajtani).

Mi a különbség a telepítés és a DLL között?

A DLL egy dinamikusan kapcsolódó könyvtár. Bár a telepek fizikailag egyenlőek a DLL-kkel, nagyon eltérőek a belsőek. Nem lehetséges a DLL-ek egy csoportja közötti konzisztencia fenntartása, de a CLR konzisztenciát képes fenntartani az egyes összeállítások között, mivel az összeállítások önmagukban leírják (a függőségek belső listáját tartalmazza). A DLL-kkel ellentétben a CLR-hez a verziókra vonatkozó információk érvényesek. Az egymás melletti telepítés (eltérő verziókkal rendelkező különböző alkalmazások) együttesekkel lehetséges.