#include <stdlib.h> new char[size] void* malloc(unsigned size); void* realloc(void* ptr, unsigned newsize); void* calloc(size_t numElements, size_t sizeOfElement);
上面的内存申请函数以系统的位数对齐(linux系统32位为8字节,64位为16字节),下面的函数可以提供更大的内存页面对齐:
// C11 #include <stdlib.h> void *aligned_alloc(size_t alignment, size_t size); // POSIX #include <stdlib.h> int posix_memalign (void **memptr, size_t alignment, size_t size); // Linux #include<stdlib.h> void *memalign(size_t alignment, size_t size); // Windows #include<malloc.h> void *_aligned_malloc(size_t alignment, size_t size);