函数

GLibaligned_alloc

自:2.72

声明 [src]

gpointer
g_aligned_alloc (
  gsize n_blocks,
  gsize n_block_bytes,
  gsize alignment
)

说明 [src]

此函数与 g_malloc() 类似,分配 (n_blocks * n_block_bytes) 字节,但会小心将分配的内存与给定的对齐值保持一致。此外,它还会检测乘法期间可能存在的溢出。

如果分配失败(因为系统中没有更多内存),程序将终止。

此函数返回的对齐内存分配只能使用 g_aligned_free_sized() 或 g_aligned_free() 进行释放。

自 2.72 起可用

参数

n_blocks

类型: gsize

要分配的块数。

n_block_bytes

类型: gsize

每个块的大小(以字节为单位)。

alignment

类型: gsize

要强制使用的对齐值,必须是 2 的正次幂,也是 sizeof(void*) 的倍数。

返回值

类型: gpointer

分配的内存。

函数的调用者获取数据所有权,并且负责释放数据。
返回值可以是 NULL