0
有一個叫_aligned_malloc
的函數可以分配對齊的內存。 calloc
有沒有類似的功能?我想對齊並將其初始化爲零。我使用Visual Studio 2010對齊的calloc,visual studio
有一個叫_aligned_malloc
的函數可以分配對齊的內存。 calloc
有沒有類似的功能?我想對齊並將其初始化爲零。我使用Visual Studio 2010對齊的calloc,visual studio
沒有,但你可以滾你自己很容易:
void *_aligned_calloc(size_t nelem, size_t elsize, size_t alignment)
{
// Watch out for overflow
if(elsize == 0 || nelem >= SIZE_T_MAX/elsize)
return NULL;
size_t size = nelem * elsize;
void *memory = _aligned_malloc(size, alignment);
if(memory != NULL)
memset(memory, 0, size);
return memory;
}