CBHMemoryKit 1.0.0

CBHMemoryKit 1.0.0

Chris Huxtable 维护。



CBHMemoryKit

release pod licence coverage

一个用于管理和操作内存的安全且易于使用的接口。

使用

CBHMemoryKit 提供用于管理和操作内存的更安全的 C 函数。

示例

分配 10 个 NSUInteger 的切片

NSUInteger *slice = CBHMemory_alloc(10, sizeof(NSUInteger));

分配每个值设置为 0 的 10 个 NSUInteger 的切片

NSUInteger *slice = CBHMemory_calloc(10, sizeof(NSUInteger));

将 10 个 NSUInteger 的切片重新分配为 20

NSUInteger *slice = CBHMemory_alloc(10, sizeof(NSUInteger));
slice = CBHMemory_realloc(slice, 20, sizeof(NSUInteger));

将 10 个 NSUInteger 的切片重新分配为 20 且每个新值设置为 0

NSUInteger *slice = CBHMemory_calloc(10, sizeof(NSUInteger));
slice = CBHMemory_recalloc(slice, 20, sizeof(NSUInteger));

交换字节

NSUInteger *slice = {4, 5, 6, 7, 0, 1, 2, 3};
CBHMemory_swapBytes(slice[0], slice[4], 4, sizeof(NSUInteger));
// slice = {0, 1, 2, 3, 4, 5, 6, 7}

释放堆分配的内存

NSUInteger *slice = CBHMemory_calloc(10, sizeof(NSUInteger));

// Do some work...

CBHMemory_free(slice);
// slice = NULL

为什么?

溢出

这些函数在发生溢出时失败。

内存使用后释放

内存使用后释放错误很常见。CBHMemory_free()通过为您将指针设置为NULL来帮助避免这些问题。

许可

CBHMemoryKit采用ISC许可。