Տարբերություն ժողովի և DLL-ի միջև

Տարբերություն ժողովի և DLL-ի միջև
Տարբերություն ժողովի և DLL-ի միջև

Video: Տարբերություն ժողովի և DLL-ի միջև

Video: Տարբերություն ժողովի և DLL-ի միջև
Video: Ճապոնիայի ամենաարագ գնացքի փորձը 320 կմ/ժ/200 մղ/ժ արագությամբ | Փամփուշտ գնացք Հայաբուսա 2024, Հուլիսի
Anonim

Assembly vs DLL

Գրադարանը ռեսուրսների հավաքածու է, որը կարող է օգտագործվել հավելվածներ մշակելու համար: Գրադարանը սովորաբար կազմված է ենթածրագրերից, ֆունկցիաներից, դասերից, արժեքներից և տեսակներից: Կապակցման գործընթացում (սովորաբար կատարվում է կապող սարքի կողմից), գրադարաններն ու գործարկվողները հղում են կատարում միմյանց: DLL ֆայլերը գրադարանային ֆայլերն են, որոնք կապված են դինամիկ կերպով: DLL-ը մշակվել է Microsoft-ի կողմից: Սակայն DLL ֆայլերի հետ կապված որոշ խնդիրների պատճառով Microsoft-ը ստեղծեց Assembly ֆայլի ձևաչափը (. NET Framework-ով): Ասամբլեայի ֆայլերը ֆիզիկապես շատ նման են DLL-ներին, բայց դրանք շատ ներքին տարբերություններ ունեն:

Ի՞նչ է DLL-ը:

Դինամիկ կապի գրադարանը (ավելի հայտնի է որպես DLL) Microsoft-ի կողմից մշակված ընդհանուր գրադարանի ներդրում է: Այն օգտագործում է.dll,.ocx կամ.drv ընդարձակումները և դրանք օգտագործվում են Microsoft Windows և OS/2 օպերացիոն համակարգերում:.dll-ն օգտագործվում է սովորական DLL ֆայլերի կողմից: Իսկ.ocx ընդլայնումն օգտագործվում է գրադարանների կողմից, որոնք պարունակում են ActiveX կառավարներ, իսկ.drv ընդլայնումն օգտագործվում է հին համակարգի վարորդների ֆայլերի կողմից: DLL ֆայլի ձևաչափը նույնն է, ինչ Windows EXE ֆայլերը (Դյուրակիր գործարկվող ֆայլեր 32-բիթանոց/64-բիթանոց Windows-ում և նոր գործարկվող 16-բիթանոց Windows-ում): Հետևաբար, կոդի, տվյալների և ռեսուրսների ցանկացած համակցություն կարող է պարունակվել DLL ֆայլերում (ինչպես EXE ֆայլերում): Փաստորեն, DLL ֆայլի ձևաչափով տվյալների ֆայլերը կոչվում են ռեսուրսային DLL: Սրբապատկերների գրադարանները (.icl ընդլայնումով) և տառատեսակների ֆայլերը (.fon և.fot ընդլայնումներով) ռեսուրսների DLL-ների օրինակներ են։

Բաղադրիչները, որոնք կոչվում են բաժիններ, կազմում են DLL, և յուրաքանչյուր բաժին ունի իր ատրիբուտները, ինչպիսիք են միայն կարդալու/գրելու և գործարկվող/չգործարկվողը:Կոդի բաժինները գործարկելի են, մինչդեռ տվյալների բաժինները՝ ոչ կատարվող: Կոդի բաժինները համօգտագործվում են, իսկ տվյալների բաժինները մասնավոր են: Դա նշանակում է, որ DLL օգտագործող բոլոր գործընթացները կօգտագործեն կոդի նույն պատճենը, մինչդեռ յուրաքանչյուր գործընթաց կունենա տվյալների իր պատճենը: Windows-ի առաջնային դինամիկ գրադարանը kernel32.dll-ն է, որը պարունակում է Windows-ի հիմնական գործառույթները (ֆայլի և հիշողության հետ կապված գործառույթներ): COM (Component Object Model) DLL-ի ընդլայնումն է OOP-ի (Օբյեկտ ուղղված ծրագրավորում): Սովորական DLL-ներն ավելի հեշտ են օգտագործել, քան COM ֆայլերը:

Ի՞նչ է Ասամբլեան?

Assembly ֆայլերը ներդրվել են Microsoft-ի կողմից՝ DLL ֆայլերի հետ կապված մի շարք խնդիրներ լուծելու համար: Ասամբլեայի ֆայլերը ներկայացվեցին Microsoft. NET Framework-ով: Ֆունկցիոնալության գործարկվող տրամաբանական միավորը կոչվում է ժողով: Համագումարները գործարկելի են. NET CLR (Common Language Runtime) ներքո: Ֆիզիկապես, հավաքները գոյություն ունեն որպես EXE կամ DLL ֆայլեր: Բայց դրանք շատ են տարբերվում Microsoft Win32 DLL-ներից, ներսից:Հավաքման ֆայլը կազմված է մանիֆեստից, մետատվյալներից, MISL-ից (Microsoft Intermediate Language Code) և այլ ռեսուրսներից: Համագումարը ինքն իրեն բնութագրող է: Մանիֆեստը պարունակում է այնպիսի տեղեկություններ, ինչպիսիք են անունը, տարբերակը, մշակույթը, ուժեղ անունը, ֆայլերի ցանկը, տեսակները և կախվածությունները: MISL կոդը կատարվում է CLR-ի միջոցով (այն չի կարող ուղղակիորեն գործարկվել):

Ո՞րն է տարբերությունը ժողովի և DLL-ի միջև:

DLL-ը դինամիկորեն կապված գրադարան է: Թեև հավաքները ֆիզիկապես հավասար են DLL-ներին, դրանք ներքին առումով շատ տարբեր են: Հնարավոր չէ հետևողականություն պահպանել DLL-ների մի շարքի միջև, բայց CLR-ն կարող է պահպանել մի շարք հավաքների միջև, քանի որ հավաքները ինքնանկարագրվող են (դրանք պարունակում են ներքին կախվածությունների ցանկը): Ի տարբերություն DLL-ների, տարբերակների մասին տեղեկատվությունը պարտադրվում է հավաքների համար (CLR-ի կողմից): Կողք-կողքի տեղակայումը (տարբեր հավելվածներ, որոնք օգտագործում են տարբեր տարբերակներ) հնարավոր է հավաքների միջոցով:

Խորհուրդ ենք տալիս: