Különbség DLL és LIB között

Anonim

DLL vs LIB

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 könyvtárfájlok statikus és dinamikus könyvtárakra oszthatók, attól függően, hogy mikor töltik be a szubrutinokat a célalkalmazásba. Ennek megfelelően az LIB fájlok statikusan kapcsolódnak a könyvtárakhoz, és a DLL fájlok dinamikusan kapcsolódnak a könyvtárakhoz.

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 olyan könyvtárak használják, amelyek tartalmazzák az ActiveX-vezérlőket és. A drv kiterjesztést a régi rendszerillesztő fájlok használják. A DLL-fájlformátum megegyezik a Windows EXE-fájlokkal (32 bites / 64 bites Windows és 16-bites Windows alatt futó hordozható végrehajtható fájlok). 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 LIB?

Az LIB-fájlok statikus könyvtárak (statikusan kapcsolt könyvtárak is). Az LIB fájlok tartalmaznak szubrutinokat, külső függvényeket és változókat. Az LIB fájlok fordítási idő alatt oldódnak meg (szemben a futási idővel). A kód valóban átkerült a célalkalmazásba. A fordító, linker vagy kötőanyag ezt a felbontást végzi, és létrehoz egy objektumfájlt és egy végrehajtható fájlt. Ezt a folyamatot statikus felépítésnek nevezzük.

Mi a különbség a DLL és az LIB között?

Az LIB könyvtárak fordítási idő alatt hívhatók le, de a DLL könyvtárak csak futási idő alatt hívhatók meg.Az LIB fájlok jelentősen nagyobbak, mint a DLL fájlok. A DLL-fájlok nagyon gyakori problémája a verziószámítási probléma. Ez akkor történik, ha a DLL kódja megváltozik, és az alkalmazás rossz változatot használ a DLL-ben. Ez nem jelent problémát a LIB-fájlokhoz. Az újbóli felhasználhatóság szempontjából új rendszerek vagy teljesen új alkalmazások írása során a DLL-ek mindig jobbak, mint a LIB-ek.