Skirtumas Tarp Asamblėjos Ir DLL

Skirtumas Tarp Asamblėjos Ir DLL
Skirtumas Tarp Asamblėjos Ir DLL

Video: Skirtumas Tarp Asamblėjos Ir DLL

Video: Skirtumas Tarp Asamblėjos Ir DLL
Video: СТИМ ПАНК лев, краб и морской конекМастер-класс три в одном! #DIY #стимпанк 2024, Gegužė
Anonim

Asamblėja prieš DLL

Biblioteka yra išteklių rinkinys, kurį galima naudoti kuriant programas. Biblioteką paprastai sudaro paprogramės, funkcijos, klasės, reikšmės ir tipai. Susiejimo proceso metu (paprastai atliekamas susiejimo) bibliotekos ir vykdomieji failai nurodo vienas kitą. DLL failai yra bibliotekos failai, kurie yra dinamiškai susieti. DLL sukūrė „Microsoft“. Tačiau dėl kai kurių su DLL failais susijusių problemų „Microsoft“sugalvojo Asamblėjos failo formatą (su. NET sistema). Asamblėjos failai yra 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 „Microsoft“sukurtas bendros bibliotekos diegimas. Jis naudoja.dll,.ocx arba.drv plėtinius ir yra naudojami „Microsoft Windows“ir OS / 2 operacinėse sistemose..dll naudoja įprasti DLL failai. „. Ocx“plėtinį naudoja bibliotekos, kuriose yra „ActiveX“valdikliai, o.drv plėtinį naudoja senų sistemų tvarkyklių failai. DLL failo formatas yra toks pat kaip „Windows EXE“failų („Portable Executable“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). Iš tikrųjų 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 sekcijomis, sudaro DLL ir kiekvienas skyrius turi savo atributus, pvz., Tik skaityti / rašomas ir vykdomas / nevykdomas. Kodo skiltys yra vykdomos, o duomenų sekcijos nevykdomos. Kodo skyriai yra bendri, o duomenų skyriai yra privatūs. Tai reiškia, kad visi procesai, naudojantys DLL, naudos tą pačią kodo kopiją, o kiekvienas procesas turės savo duomenų kopiją. Pagrindinė „Windows“dinaminė biblioteka yra kernel32.dll, kurioje yra pagrindinės „Windows“funkcijos (susijusios su failais ir atmintimi). COM („Component Object Model“) yra DLL plėtinys į OOP (Object Oriented Programming). Įprastus DLL yra lengviau naudoti nei COM failus.

Kas yra asamblėja?

Asamblėjos failus „Microsoft“pristatė tam, kad būtų išspręstos kelios su DLL failais susijusios problemos. Surinkimo failai buvo pristatyti naudojant „Microsoft. NET“sistemą. Vykdomas loginis funkcionalumo vienetas vadinamas Asamblėja. Asamblėjos vykdomos pagal. NET CLR („Common Language Runtime“). Fiziškai rinkiniai egzistuoja kaip EXE arba DLL failai. Tačiau jie labai skiriasi nuo „Microsoft Win32 DLL“. Surinkimo failą sudaro manifestas, metaduomenys, MISL („Microsoft“tarpinės kalbos kodas) ir kiti šaltiniai. Asamblėja apibūdina save. Apraše pateikiama tokia informacija kaip vardas, versija, kultūra, vardas, failų sąrašas, tipai ir priklausomybės. MISL kodas vykdomas per CLR (jo negalima tiesiogiai vykdyti).

Koks skirtumas tarp asamblėjos ir DLL?

DLL yra dinamiškai susieta biblioteka. Nors asamblėjos fiziškai yra lygios DLL, jos viduje labai skiriasi. Neįmanoma išlaikyti nuoseklumo tarp DLL rinkinio, tačiau CLR gali išlaikyti nuoseklumą tarp rinkinių rinkinio, nes rinkiniai apibūdina save (juose yra priklausomybių sąrašas viduje). Skirtingai nei DLL, versijų informacija yra priversta surinkimams (pagal CLR). Kartu su sąrankomis galima diegti kartu (skirtingos programos, naudojant skirtingas versijas).

Rekomenduojama: