Chaque compilateur C offre la possibilité de "pack" des structures C (par exemple __attribute__ ((__packed__))
, ou #pragma pack()
). Maintenant, nous savons tous que l'emballage est nécessaire, si nous voulons envoyer ou stocker des données de manière fiable. Cela doit également être une exigence depuis les premiers jours du langage C.
Je me demande donc pourquoi les structures compactées ne font pas partie de la spécification du langage C? Ils ne sont même pas en C99 ou C11 même si la nécessité de les avoir est connue depuis des décennies maintenant? Qu'est-ce qui me manque? Pourquoi est-il spécifique au compilateur?