1
จุดประสงค์ของโซนสีแดงคืออะไร?
Red zone เป็นพื้นที่ขนาดคงที่ในหน่วยความจำเกินกว่าตัวชี้สแต็กที่ยังไม่ได้ "จัดสรร" คอมไพเลอร์สร้างแอสเซมบลีเพื่อเข้าถึงพื้นที่นั้นในฟังก์ชันใบไม้แบบง่าย แต่ฉันไม่เห็นข้อได้เปรียบที่แท้จริงของเขตสีแดง หน่วยความจำเข้าถึงเกินตัวชี้สแต็คเป็นสิ่งที่อันตรายมากและสามารถนำไปสู่ความเสียหายของข้อมูล ทำไมถึงทำเช่นนี้? การบันทึกคำสั่งของโปรเซสเซอร์ 2 ตัว (push ebp; mov ebp esp) จะไม่ทำให้ความเร็วเพิ่มขึ้นจริง