Asambleya və DLL Arasındakı Fərq

Asambleya və DLL Arasındakı Fərq
Asambleya və DLL Arasındakı Fərq

Video: Asambleya və DLL Arasındakı Fərq

Video: Asambleya və DLL Arasındakı Fərq
Video: NTFS və FAT32 arasındakı fərq nədir? | Tech-Terms #55 2024, Iyul
Anonim

Asambleya vs DLL

Kitabxana proqramların hazırlanması üçün istifadə oluna bilən resurslar toplusudur. Kitabxana adətən alt proqramlardan, funksiyalardan, siniflərdən, dəyərlərdən və növlərdən ibarətdir. Əlaqələndirmə prosesi zamanı (adətən əlaqələndirici tərəfindən həyata keçirilir) kitabxanalar və icra olunanlar bir-birinə istinad edir. DLL faylları dinamik şəkildə bağlanmış kitabxana fayllarıdır. DLL Microsoft tərəfindən hazırlanmışdır. Lakin DLL faylları ilə bağlı bəzi problemlərə görə, Microsoft Assembly fayl formatını (. NET çərçivəsi ilə) təklif etdi. Montaj faylları fiziki olaraq DLL-lərə çox bənzəyir, lakin onların çoxlu daxili fərqləri var.

DLL nədir?

Dinamik Bağlantı Kitabxanası (daha çox DLL kimi tanınır) Microsoft tərəfindən hazırlanmış ortaq kitabxana tətbiqidir. O,.dll,.ocx və ya.drv uzantılarından istifadə edir və onlar Microsoft Windows və OS/2 əməliyyat sistemlərində istifadə olunur..dll adi DLL faylları tərəfindən istifadə olunur. Və.ocx genişləndirilməsi ActiveX nəzarətlərini ehtiva edən kitabxanalar tərəfindən,.drv uzantısı isə köhnə sistem drayver faylları tərəfindən istifadə olunur. DLL fayl formatı Windows EXE faylları ilə eynidir (32-bit/64-bit Windows-da Portativ İcra edilə bilən fayllar və 16-bit Windows-da Yeni İcra oluna bilən). Buna görə də, kodun, məlumatların və resursların istənilən kombinasiyası DLL fayllarında (EXE fayllarında olduğu kimi) ola bilər. Əslində, DLL fayl formatına malik məlumat faylları resurs DLL-ləri adlanır. İkon kitabxanaları (.icl genişləndirilməsi ilə) və şrift faylları (.fon və.fot uzantıları ilə) resurs DLL-lərinə nümunədir.

Bölmələr adlanan komponentlər DLL-i təşkil edir və hər bölmənin yalnız oxuna bilən/yazıla bilən və icra oluna bilən/icra edilə bilməyən kimi öz atributları var. Kod bölmələri icra edilə bilər, məlumat bölmələri isə icra edilə bilməz. Kod bölmələri paylaşılır və məlumat bölmələri şəxsidir. Bu o deməkdir ki, DLL-dən istifadə edən bütün proseslər kodun eyni nüsxəsindən istifadə edəcək, hər bir prosesdə isə məlumatların öz nüsxəsi olacaq. Windows üçün əsas dinamik kitabxana Windows-da əsas funksiyaları (fayl və yaddaşla əlaqəli funksionallıq) ehtiva edən kernel32.dll-dir. COM (Component Object Model) DLL-nin OOP (Obyekt yönümlü Proqramlaşdırma) üçün genişlənməsidir. Adi DLL-lərdən istifadə etmək COM fayllarından daha asandır.

Asambleya nədir?

Assembly faylları DLL faylları ilə bağlı mövcud olan bir sıra problemləri həll etmək üçün Microsoft tərəfindən təqdim edilmişdir. Assambleya faylları Microsoft. NET çərçivəsi ilə təqdim edildi. İcra edilə bilən məntiqi funksionallıq vahidi Assambleya adlanır. Assambleyalar. NET CLR (Common Language Runtime) altında icra edilə bilər. Fiziki olaraq montajlar EXE və ya DLL faylları kimi mövcuddur. Lakin, onlar daxili olaraq Microsoft Win32 DLL-lərindən çox fərqlidirlər. Montaj faylı manifest, metadata, MISL (Microsoft Intermediate Language code) və digər resurslardan ibarətdir. Məclis özünü təsvir edir. Manifestdə ad, versiya, mədəniyyət, güclü ad, fayllar siyahısı, növlər və asılılıqlar kimi məlumatlar var. MISL kodu CLR vasitəsilə icra olunur (birbaşa icra edilə bilməz).

Asambleya ilə DLL arasındakı fərq nədir?

DLL dinamik əlaqəli kitabxanadır. Montajlar fiziki olaraq DLL-lərə bərabər olsalar da, daxili olaraq çox fərqlidirlər. DLL-lər dəsti arasında ardıcıllığı saxlamaq mümkün deyil, lakin CLR bir sıra montajlar arasında uyğunluğu qoruya bilər, çünki montajlar özünü təsvir edir (onlarda daxili asılılıqların siyahısı var). DLL-lərdən fərqli olaraq, versiya məlumatı montajlar üçün tətbiq edilir (CLR tərəfindən). Montajlarla yan-yana yerləşdirmə (müxtəlif versiyalardan istifadə edən müxtəlif proqramlar) mümkündür.

Tövsiyə: