Is there any standardized function in GCC or glibc to allocate memory block at aligned pointer? Like _align_malloc() in MSVC?
Since the question was asked, a new function was standardized by C11:
void *aligned_alloc(size_t alignment, size_t size);
and it is available in glibc (not on windows as far as I know). It takes its arguments in the same order as memalign
, the reverse of Microsoft's _aligned_malloc
, and uses the same free
function as usual for deallocation.
A subtle difference is that aligned_alloc
requires size
to be a multiple of alignment
.