#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);