mi-malloc 1.8/2.1
 
正在加载...
正在搜索...
无匹配项
对齐分配

分配对齐的内存块。更多...

函数

void * mi_malloc_aligned (size_t size, size_t alignment)
 分配 size 字节,按 alignment 对齐。
 
void * mi_zalloc_aligned (size_t size, size_t alignment)
 
void * mi_calloc_aligned (size_t count, size_t size, size_t alignment)
 
void * mi_realloc_aligned (void *p, size_t newsize, size_t alignment)
 
void * mi_malloc_aligned_at (size_t size, size_t alignment, size_t offset)
 分配 size 字节,按 alignment 对齐,指定 offset
 
void * mi_zalloc_aligned_at (size_t size, size_t alignment, size_t offset)
 
void * mi_calloc_aligned_at (size_t count, size_t size, size_t alignment, size_t offset)
 
void * mi_realloc_aligned_at (void *p, size_t newsize, size_t alignment, size_t offset)
 

详细描述

分配对齐的内存块。

请注意,为了与非对齐分配 API 保持一致,alignment 始终在 size 之后,但这与 C 库中的 posix_memalignaligned_alloc 不同。

函数文档

◆ mi_calloc_aligned()

void * mi_calloc_aligned ( size_t 计数,
size_t size,
size_t 对齐 )

◆ mi_calloc_aligned_at()

void * mi_calloc_aligned_at ( size_t 计数,
size_t size,
size_t 对齐,
size_t 偏移量 )

◆ mi_malloc_aligned()

void * mi_malloc_aligned ( size_t size,
size_t 对齐 )

分配 size 字节,按 alignment 对齐。

参数
size要分配的字节数。
对齐分配内存的最小对齐方式。
返回
指向已分配内存的指针,如果内存不足,或者对齐方式不是 2 的幂(包括 0),则为 NULLsize 不受限制(不必是 alignment 的整数倍)。返回的指针按 alignment 对齐,即 (uintptr_t)p % alignment == 0。如果以 size 0 调用,则返回一个唯一的指针。

请注意,为了与非对齐分配 API 保持一致,alignment 始终在 size 之后,但这与 C 库中的 posix_memalignaligned_alloc 不同。

另请参见
aligned_alloc (在标准 C11 库中,参数已切换!)
_aligned_malloc (在 Windows 上)
aligned_alloc (在 BSD 上,参数已切换!)
posix_memalign (在 Posix 上,参数已切换!)
memalign (在 Linux 上,参数已切换!)

◆ mi_malloc_aligned_at()

void * mi_malloc_aligned_at ( size_t size,
size_t 对齐,
size_t 偏移量 )

分配 size 字节,按 alignment 对齐,指定 offset

参数
size要分配的字节数。
对齐分配内存的最小对齐方式,在 offset 处。
偏移量应进行对齐的偏移量。
返回
指向已分配内存的指针,如果内存不足,或者对齐方式不是 2 的幂(包括 0),则为 NULLsize 不受限制(不必是 alignment 的整数倍)。返回的指针按 alignment 对齐,即 (uintptr_t)p % alignment == 0。如果以 size 0 调用,则返回一个唯一的指针。
另请参见
_aligned_offset_malloc (在 Windows 上)

◆ mi_realloc_aligned()

void * mi_realloc_aligned ( void * p,
size_t newsize,
size_t 对齐 )

◆ mi_realloc_aligned_at()

void * mi_realloc_aligned_at ( void * p,
size_t newsize,
size_t 对齐,
size_t 偏移量 )

◆ mi_zalloc_aligned()

void * mi_zalloc_aligned ( size_t size,
size_t 对齐 )

◆ mi_zalloc_aligned_at()

void * mi_zalloc_aligned_at ( size_t size,
size_t 对齐,
size_t 偏移量 )