aligned malloc() in GCC?

Dennis Yurichev picture Dennis Yurichev · Oct 1, 2010 · Viewed 71k times · Source

Is there any standardized function in GCC or glibc to allocate memory block at aligned pointer? Like _align_malloc() in MSVC?

Answer

Marc Glisse picture Marc Glisse · Jan 31, 2013

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.