לדלג לתוכן

תרגול גבולות unsafe ותחקיר

כתבו שתי גרסאות לסכום byte-ים, אחת עם ReadOnlySpan ואחת עם pointer ואורך. בדקו קלט ריק, אורכים קטנים וגדולים, והשוו פלט עבור קלט אקראי עם seed קבוע. הגדירו במפורש שהגרסה הטבעית אינה שומרת pointer אחרי החזרה.

כתבו פונקציה שמייצרת כותרת בת 16 byte-ים באמצעות stackalloc, מאפסת אותה ואז כותבת שני מספרים ב־little-endian. החזירו מערך בבעלות הקורא, והסבירו למה ההעתקה נחוצה בחוזה שנבחר.

צרו את ניסוי הרשימה הסטטית, אספו שני snapshots והציגו root אחד לפני הניקוי. הסבירו מדוע השארת משתנה מקומי שמחזיק payload עלולה לשבש את בדיקת הניקוי, ומה ההבדל בין KeepAlive לבין fixed.