תוכן עניינים:
הגדרה - מה המשמעות של Thunk?
תא מטען, בהקשר מחשוב כללי, הוא פיסת קוד שנוצר במכונה ברמה נמוכה, המיישם את פרטי מערכת התוכנה. זה אחד מהדברים הבאים:
- פיסת קוד המבצעת חישוב מושהה
- תכונה של יישום טבלת פונקציות וירטואליות
- מיפוי של נתוני מכונה מצורה ספציפית למערכת לאחרת לבעיות תאימות
Techopedia מסביר את תאונק
מושגי הדאנק התגלו בתחילת 1961. זהו חישוב המחזיר את ערך הטיעון בעת ביצועו. שיחה לפי צורך מחליפה תא מטען בערך ההחזרה שלו לאחר הביצוע הראשון. בשפות עם כריכה מאוחרת יש בדיקת זמן ריצה, על סמך חישובים שבוצעו על ידי thunk.
פונקציות נולריות (פונקציות שאינן מנסחות טיעונים) בתכנות פונקציונאליות מכונות thunk. גמלים מדמים הערכה עצלה ומעכבים את חישוב טיעון הפונקציה. פונקציות אלה מכריחות עוד יותר את הגונקלים לקבל ערכים בפועל. Thunk עשוי להופיע גם באופן טבעי ביישום פונקציות קבועות בתכנות בסדר גודל גבוה.
מהדרים של שפות מונחות עצמים כמו C ++ מייצרים פונקציות המכונים גזים. הם מבצעים אופטימיזציה של שיחות פונקציות וירטואליות בנוכחות ירושות וירטואליות או מרובות.
מקרים מסוימים של קוד הניתנים להעברה משתמשים בגדלים מקומיים כדי להתקשר לפונקציות ספרייה. שיחת ספרייה דינמית בקוד קופצת לגדלים בטבלת קפיצות, אשר מוחלפת עוד יותר על ידי פונקציות הטעינות את הספרייה הרלוונטית או עוברות לנקודה מתאימה בספרייה שכבר טעונה. אז תא המטען באזור זה מחשב או מחזיר ערכים מחושבים ומטמון בעבר. גזים משמשים במערכות זיכרון וירטואליות מבוססות תוכנה לביצוע מיפוי מכתובת וירטואלית לכתובת פיזית. יצירת מכונת DOS וירטואלית עם 16 סיביות בתוך מערכת הפעלה 32 סיביות נקראת thunking ומבטיחה תאימות לאחור ליישומים המשתמשים בשיחות מערכת ישנות.
דונקים שטוחים משתמשים בגזים שתרגמים שיחות מקוד 32 סיביות לקוד 16 סיביות. קוד ביניים מתרגם כתובת זיכרון בין פלטפורמות. למיקרוסופט שכבה מדליקה בפני עצמה הנקראת Win32s, המאפשרת ליישום חלונות 32 סיביות לפעול במערכת Windows עם 16 סיביות. גרסת ה- Windows של 64 סיביות מספקת גם שכבה מדליקה, WoW64, המאפשרת שימוש ביישומי Windows של 32 סיביות.
