C LanguageAcolchado y embalaje de estructuras


Introducción

De forma predeterminada, los compiladores de C diseñan estructuras para que se pueda acceder rápidamente a cada miembro, sin incurrir en penalizaciones para el acceso no alineado, un problema con máquinas RISC como el DEC Alpha y algunas CPU ARM.

Dependiendo de la arquitectura de la CPU y el compilador, una estructura puede ocupar más espacio en la memoria que la suma de los tamaños de sus miembros componentes. El compilador puede agregar relleno entre los miembros o al final de la estructura, pero no al principio.

El embalaje anula el relleno predeterminado.

Observaciones

Eric Raymond tiene un artículo en The Lost Art of C Structure Packing que es útil para leer.

Acolchado y embalaje de estructuras Ejemplos relacionados