Существует несколько выровненных версий почтенного malloc()
, например:
#include <stdlib.h>
int posix_memalign(void **memptr, size_t alignment, size_t size);
void *aligned_alloc(size_t alignment, size_t size);
#include <malloc.h>
void *memalign(size_t alignment, size_t size);
(происходит из POSIX, glibc и Linux libc соответственно). Но... я не могу найти упоминания о версии realloc()
, которая поддерживает выравнивание. Неужели это никогда не было реализовано? Кажется довольно тривиальным объединить функциональность не выровненного realloc()
с поиском выровненного фрагмента памяти в выровненных вариантах malloc()
.
по теме: