Skirtumas tarp surinkimo ir DLL

Skirtumas tarp surinkimo ir DLL
Skirtumas tarp surinkimo ir DLL

Video: Skirtumas tarp surinkimo ir DLL

Video: Skirtumas tarp surinkimo ir DLL
Video: The Technology of Maglev Trains: Explained 2024, Liepa
Anonim

Assembly vs DLL

Biblioteka yra išteklių, kuriuos galima naudoti programoms kurti, rinkinys. Biblioteka paprastai susideda iš paprogramių, funkcijų, klasių, reikšmių ir tipų. Susiejimo proceso metu (paprastai tai atlieka saitas) bibliotekos ir vykdomieji failai daro nuorodas viena į kitą. DLL failai yra bibliotekos failai, kurie yra dinamiškai susieti. DLL sukūrė Microsoft. Tačiau dėl tam tikrų problemų, susijusių su DLL failais, „Microsoft“pasiūlė surinkimo failo formatą (su. NET sistema). Surinkimo failai fiziškai labai panašūs į DLL, tačiau jie turi daug vidinių skirtumų.

Kas yra DLL?

Dynamic Link Library (plačiau žinoma kaip DLL) yra bendros bibliotekos įdiegimas, kurį sukūrė Microsoft. Jis naudoja.dll,.ocx arba.drv plėtinius ir jie naudojami Microsoft Windows ir OS/2 operacinėse sistemose..dll yra naudojamas įprastiems DLL failams. O.ocx plėtinį naudoja bibliotekos, kuriose yra ActiveX valdiklių, o.drv plėtinį naudoja senieji sistemos tvarkyklės failai. DLL failo formatas yra toks pat kaip „Windows EXE“failų (nešiojamieji vykdomieji failai 32 bitų / 64 bitų „Windows“ir „New Executable“16 bitų „Windows“). Todėl bet koks kodo, duomenų ir išteklių derinys gali būti DLL failuose (kaip ir EXE failuose). Tiesą sakant, duomenų failai su DLL failo formatu vadinami išteklių DLL. Piktogramų bibliotekos (su plėtiniu.icl) ir šriftų failai (su plėtiniais.fon ir.fot) yra išteklių DLL pavyzdžiai.

Komponentai, vadinami skyriais, sudaro DLL ir kiekviena sekcija turi savo atributus, pvz., tik skaitoma / rašoma ir vykdomoji / nevykdomoji. Kodo sekcijos yra vykdomos, o duomenų - nevykdomos. Kodo skiltys yra bendrinamos, o duomenų skiltys yra privačios. Tai reiškia, kad visi procesai, naudojantys DLL, naudos tą pačią kodo kopiją, o kiekvienas procesas turės savo duomenų kopiją. Pirminė dinaminė Windows biblioteka yra kernel32.dll, kurioje yra pagrindinės funkcijos (susijusios su failais ir atmintimi) sistemoje Windows. COM (Component Object Model) yra DLL plėtinys į OOP (Object Oriented Programming). Įprastus DLL naudoti lengviau nei COM failus.

Kas yra asamblėja?

Surinkimo failus Microsoft pristatė siekdama išspręsti kelias DLL failų problemas. Surinkimo failai buvo pristatyti naudojant „Microsoft. NET“sistemą. Vykdomasis loginis funkcionalumo vienetas vadinamas surinkimu. Surinkimai vykdomi naudojant. NET CLR (bendrosios kalbos vykdymo laiką). Fiziškai rinkiniai egzistuoja kaip EXE arba DLL failai. Tačiau viduje jie labai skiriasi nuo Microsoft Win32 DLL. Surinkimo failą sudaro manifestas, metaduomenys, MISL (Microsoft Intermediate Language Code) ir kiti ištekliai. Agregatas aprašo save. Apraše yra tokia informacija kaip pavadinimas, versija, kultūra, patikimas pavadinimas, failų sąrašas, tipai ir priklausomybės. MISL kodas vykdomas per CLR (jis negali būti vykdomas tiesiogiai).

Kuo skiriasi Assembly ir DLL?

DLL yra dinamiškai susieta biblioteka. Nors rinkiniai fiziškai prilygsta DLL, viduje jie labai skiriasi. Neįmanoma išlaikyti nuoseklumo tarp DLL rinkinio, tačiau CLR gali išlaikyti nuoseklumą tarp rinkinių rinkinio, nes rinkiniai aprašo save (jose yra priklausomybių sąrašas viduje). Skirtingai nei DLL, versijų kūrimo informacija vykdoma rinkiniuose (CLR). Naudojant rinkinius, galimas gretutinis diegimas (skirtingos programos, naudojant skirtingas versijas).

Rekomenduojamas: