คอมไพเลอร์ C ทุกตัวมีตัวเลือกในการ "แพ็ค" โครงสร้าง C (เช่น__attribute__ ((__packed__))
หรือ#pragma pack()
) ตอนนี้เราทุกคนรู้ว่าจำเป็นต้องมีการบรรจุถ้าเราต้องการส่งหรือเก็บข้อมูลด้วยวิธีที่เชื่อถือได้ สิ่งนี้จะต้องเป็นข้อกำหนดตั้งแต่วันแรกของภาษา C
ดังนั้นฉันสงสัยว่าทำไมโครงสร้างที่อัดแน่นจึงไม่ได้เป็นส่วนหนึ่งของข้อกำหนดภาษา C? พวกเขาไม่ได้อยู่ใน C99 หรือ C11 ถึงแม้ว่าความจำเป็นในการมีพวกเขาเป็นที่รู้จักกันมานานหลายทศวรรษแล้วหรือยัง? ฉันกำลังคิดถึงอะไร ทำไมคอมไพเลอร์จึงเจาะจง?