ההבדל בין הרכבה ל- DLL

Anonim

הרכבה מול DLL

ספריה היא אוסף של משאבים שניתן להשתמש בהם לפיתוח יישומים. ספריה מורכבת בדרך כלל משגרות, פונקציות, מחלקות, ערכים וסוגים. במהלך תהליך הקישור (בדרך כלל נעשה על ידי מקשר), ספריות הרצה מתייחסים זה לזה. קבצי DLL הם קבצי הספרייה המקושרים באופן דינמי. DLL פותחה על ידי מיקרוסופט. אבל בשל כמה בעיות נוכחיות עם קבצי DLL, מיקרוסופט באה עם קובץ קובץ האסיפה (עם מסגרת NET). קבצים הרכבה דומים מאוד קבצי DLL פיזית, אבל יש להם הבדלים פנימיים רבים.

-> ->

מהו DLL?

קישור דינמי ספריה (הידוע יותר בשם DLL) הוא יישום ספריה משותפת שפותחה על ידי מיקרוסופט. הוא משתמש. dll,. ocx או. הרחבות drv והם משמשים במערכות ההפעלה Microsoft Windows ו- OS / 2 … DLL משמש קבצי DLL רגילים. ו. ocx הרחבה משמש את הספריות המכילות פקדי ActiveX ו. drv הארכה משמשת את קבצי מנהל מערכת מורשת. תבנית קובץ ה- DLL זהה לקובצי ה- EXE של Windows (קובצי הפעלה ניידת ב- Windows 32-bit / 64-bit ו- New Executable ב- Windows 16bit). לכן, כל שילוב של קוד, נתונים ומשאבים יכול להיות הכלול קבצי DLL (בדיוק כמו קבצי EXE). בתור עובדה של עובדה, קבצי נתונים עם פורמט קובץ DLL נקראים DLLs משאבים. ספריות אייקון (עם סיומת icl) וקבצי גופן (עם. Fon ו. סיומות fot) הן דוגמאות של DLLs משאבים.

-> ->

רכיבים הנקראים סעיפים מהווים DLL וכל סעיף יש תכונות משלו כמו לקריאה בלבד / לכתיבה ו הפעלה / לא הפעלה. מקטעי קוד ניתנים להפעלה, ואילו מקטעי נתונים אינם ניתנים להפעלה. מקטעי הקוד משותפים, ומקטעי הנתונים הם פרטיים. כלומר, כל התהליכים המשתמשים ב- DLL ישתמשו באותו עותק של הקוד, בעוד שלכל תהליך יהיה עותק משלו של הנתונים. הספריה הדינמית העיקרית עבור Windows היא kernel32. dll, המכיל את הפונקציות הבסיסיות (פונקציונליות קבצים וזיכרון) ב- Windows. COM (Component Object Model) הוא הרחבה של DLL ל OOP (תכנות מונחה עצמים). קבצי DLL קונבנציונליים קלים יותר לשימוש מאשר קבצי COM.

-> ->

מהו האסיפה?

קבצים האסיפה הוצגו על ידי מיקרוסופט כדי לפתור כמה בעיות קיימות עם קבצי DLL. קבצים האסיפה הוכנסו עם מיקרוסופט. מסגרת. יחידה לוגית הפעלה של פונקציונליות נקראת העצרת. הרכבות ניתנות להפעלה תחת. NET CLR (שפה משותפת זמן ריצה). מבחינה פיזית, אסיפות קיימות כקובץ EXE או קבצי DLL. אבל, הם שונים מאוד ל- Microsoft Win32 DLLs, פנימי. קובץ הרכבה מורכב ממטאפטה, מטא נתונים, MISL (קוד Microsoft Language Language) ומשאבים אחרים.אסיפה עצמית מתארת. המניפסט מכיל את המידע, כגון שם, גרסה, תרבות, שם חזק, רשימת קבצים, סוגים ותלות. קוד MISL מבוצע באמצעות CLR (זה לא יכול להיות מבוצע ישירות).

-> ->

מהו ההבדל בין העצרת לבין DLL?

DLL היא ספריה מקושרת באופן דינמי. אמנם, מכלולים שווים פיזית DLLs, הם שונים מאוד פנימי. לא ניתן לשמור על עקביות בין קבוצה של קבצי DLL, אך ה- CLR יכול לשמור על עקביות בין קבוצה של אסיפות, משום שמכלולים מתארים את עצמם (הם מכילים את רשימת התלות הפנימית). שלא כמו קבצי DLL, גרסאות המידע נאכף עבור הרכבות (על ידי CLR). פריסה זה לצד זה (יישומים שונים באמצעות גרסאות שונות) אפשרי עם הרכבות.