有一个名为_aligned_malloc
的函数可以分配对齐的内存。 calloc
是否有类似的功能?我想对齐并将其初始化为零。我正在使用Visual Studio 2010
最佳答案
不,但是您可以轻松地自己滚动:
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;
}
关于c - 对齐的calloc,视觉工作室,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6352206/