모든 C 컴파일러는 C 구조를 "포장"하는 옵션을 제공합니다 (예 : __attribute__ ((__packed__))
또는 #pragma pack()
). 신뢰할 수있는 방식으로 데이터를 보내거나 저장하려면 패킹이 필요하다는 것을 모두 알고 있습니다. 이것은 C 언어의 첫날 이후의 요구 사항이었습니다.
그래서 패킹 된 구조가 C 언어 사양의 일부가 아닌 이유가 궁금합니다. 그것들을 가질 필요성이 현재 수십 년 동안 알려져 있지만 C99 또는 C11에도 없습니다. 내가 무엇을 놓치고 있습니까? 왜 컴파일러 특정입니까?