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

各种 Posix、Unix 和 C++ 分配函数的 mi_ 前缀实现。更多...

函数

void mi_cfree (void *p)
 free 相同,但也会检查指针 p 是否属于我们的堆。
 
void * mi__expand (void *p, size_t newsize)
 
size_t mi_malloc_size (const void *p)
 
size_t mi_malloc_good_size (size_t size)
 
size_t mi_malloc_usable_size (const void *p)
 
int mi_posix_memalign (void **p, size_t alignment, size_t size)
 
int mi__posix_memalign (void **p, size_t alignment, size_t size)
 
void * mi_memalign (size_t alignment, size_t size)
 
void * mi_valloc (size_t size)
 
void * mi_pvalloc (size_t size)
 
void * mi_aligned_alloc (size_t alignment, size_t size)
 
unsigned short * mi_wcsdup (const unsigned short *s)
 
unsigned char * mi_mbsdup (const unsigned char *s)
 
int mi_dupenv_s (char **buf, size_t *size, const char *name)
 
int mi_wdupenv_s (unsigned short **buf, size_t *size, const unsigned short *name)
 
void * mi_reallocarray (void *p, size_t count, size_t size)
 对应 FreeBSD 中的 reallocarray
 
int mi_reallocarr (void *p, size_t count, size_t size)
 对应 NetBSD 中的 reallocarr
 
void * mi_aligned_recalloc (void *p, size_t newcount, size_t size, size_t alignment)
 
void * mi_aligned_offset_recalloc (void *p, size_t newcount, size_t size, size_t alignment, size_t offset)
 
void mi_free_size (void *p, size_t size)
 
void mi_free_size_aligned (void *p, size_t size, size_t alignment)
 
void mi_free_aligned (void *p, size_t alignment)
 

详细描述

各种 Posix、Unix 和 C++ 分配函数的 mi_ 前缀实现。

为方便起见而定义,因为它们都重定向到常规的 mimalloc API。

函数文档

◆ mi__expand()

void * mi__expand ( void * p,
size_t newsize )

◆ mi__posix_memalign()

int mi__posix_memalign ( void ** p,
size_t 对齐,
size_t size )

◆ mi_aligned_alloc()

void * mi_aligned_alloc ( size_t 对齐,
size_t size )

◆ mi_aligned_offset_recalloc()

void * mi_aligned_offset_recalloc ( void * p,
size_t newcount,
size_t size,
size_t 对齐,
size_t 偏移量 )

◆ mi_aligned_recalloc()

void * mi_aligned_recalloc ( void * p,
size_t newcount,
size_t size,
size_t 对齐 )

◆ mi_cfree()

void mi_cfree ( void * p)

free 相同,但也会检查指针 p 是否属于我们的堆。

◆ mi_dupenv_s()

int mi_dupenv_s ( char ** buf,
size_t * size,
const char * name )

◆ mi_free_aligned()

void mi_free_aligned ( void * p,
size_t 对齐 )

◆ mi_free_size()

void mi_free_size ( void * p,
size_t size )

◆ mi_free_size_aligned()

void mi_free_size_aligned ( void * p,
size_t size,
size_t 对齐 )

◆ mi_malloc_good_size()

size_t mi_malloc_good_size ( size_t size)

◆ mi_malloc_size()

size_t mi_malloc_size ( const void * p)

◆ mi_malloc_usable_size()

size_t mi_malloc_usable_size ( const void * p)

◆ mi_mbsdup()

unsigned char * mi_mbsdup ( const unsigned char * s)

◆ mi_memalign()

void * mi_memalign ( size_t 对齐,
size_t size )

◆ mi_posix_memalign()

int mi_posix_memalign ( void ** p,
size_t 对齐,
size_t size )

◆ mi_pvalloc()

void * mi_pvalloc ( size_t size)

◆ mi_reallocarr()

int mi_reallocarr ( void * p,
size_t 计数,
size_t size )

对应 NetBSD 中的 reallocarr

◆ mi_reallocarray()

void * mi_reallocarray ( void * p,
size_t 计数,
size_t size )

对应 FreeBSD 中的 reallocarray

◆ mi_valloc()

void * mi_valloc ( size_t size)

◆ mi_wcsdup()

unsigned short * mi_wcsdup ( const unsigned short * s)

◆ mi_wdupenv_s()

int mi_wdupenv_s ( unsigned short ** buf,
size_t * size,
const unsigned short * name )