¿Cómo administrar las alineaciones de memoria y la aritmética de puntero genérico de forma portátil en C?

Tengo que implementar una versión optimizada de malloc / realloc / free (adaptada para mi aplicación en particular). Por el momento, el código se ejecuta en una plataforma en particular, pero me gustaría escribirlo de forma portátil, si es posible (la plataforma puede cambiar en el futuro), o al menos me gustaría concentrar las posibles diferencias de plataforma en una sola punto (probablemente un .h). Soy consciente de algunos de los problemas:

differences en la alineación de memoriadifferences en el tamaño de bloques de memoria más pequeño adecuado para la asignación "genérica"differences en tamaño del puntero

(Ignoraré las diferencias en los servicios básicos del sistema para la asignación de memoria aquí, ya que en algunos sistemas integrados pueden no estar disponibles en absoluto. Imaginemos que trabajamos en un gran bloque de memoria preasignado para usarlo como "montón"). @

Las preguntas)

Existen macros o funciones estándar en C para este tipo de propósito? ¿Qué otros problemas puedo enfrentar en este trabajo?

Respuestas a la pregunta(12)

Su respuesta a la pregunta