Setiap kompiler C menawarkan opsi untuk "mengemas" struktur C (misalnya __attribute__ ((__packed__))
, atau #pragma pack()
). Sekarang, kita semua tahu bahwa pengemasan diperlukan, jika kita ingin mengirim atau menyimpan data dengan cara yang andal. Ini juga harus menjadi persyaratan sejak hari pertama bahasa C.
Jadi saya bertanya-tanya mengapa struktur yang dikemas bukan bagian dari spesifikasi bahasa C? Mereka bahkan tidak di C99 atau C11 meskipun keharusan memiliki mereka dikenal selama beberapa dekade sekarang? Apa yang saya lewatkan? Mengapa ini khusus untuk kompiler?