Mayor K & R (2ª ed.) Y otros textos de lenguaje C He leído que discutir la implementación de un asignador de memoria dinámica en el estilo de malloc()
y free()
por lo general también mencionar , de paso, algo sobre las restricciones de alineación del tipo de datos. Aparentemente, ciertas arquitecturas de hardware (CPU, registros y acceso a la memoria) restringen la forma en que puede almacenar y tratar ciertos tipos de valores. Por ejemplo, puede haber un requisito de que un entero de 4 bytes (long
) debe almacenarse comenzando en direcciones que son múltiplos de cuatro.restricciones de alineación para malloc()/free()
¿Qué restricciones, si las hay, las principales plataformas (Intel & AMD, SPARC, Alpha) imponen la asignación de memoria y el acceso a la memoria, o puedo ignorar las asignaciones de memoria en límites de direcciones específicos?