⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 01

📁 一个类STL的多平台可移植的算法容器库,主要用于嵌入式系统编程时的内存管理等方面
💻
字号:
********************************************************************************

内存池函数声明于头文件 yc_memory.h 中,实现于文件 yc_memory.c 中。

********************************************************************************

1、void* pool_alloc( size_t bytes )
功能
    向内存池中申请至少 bytes 个字节的内存块。
参数
    bytes:向内存池中申请的字节数,该值可以为 0。
返回值
    返回值为一个空指针,如果该指针等于 NULL,则表示申请失败;否则该指针指向一块
    至少可以存储 bytes 个字节的内存块。

********************************************************************************

2、void pool_dealloc( void* ptr, size_t bytes )
功能
    将内存块回收至内存池。
参数
    ptr:指向要回收的内存块的指针;
    bytes:要回收的内存块的大小,单位为字节。
备注:
    如果内存块是由内存池分配的,函数只将内存块回收至内存池,而并不释放给系统。

********************************************************************************

3、void pool_free( void* ptr, size_t bytes )
功能
    将内存块回收至内存池。
参数
    ptr:指向要回收的内存块的指针;
    bytes:要回收的内存块的大小,单位为字节。
备注:
    函数先执行同 pool_dealloc 相同的操作,再遍历负责分配 bytes 大小的内存链,将
    其中空闲的内存页释放给系统,该函数的执行速度比 pool_dealloc 要慢。

********************************************************************************

4、void pool_print( void )
功能
    输出内存池。

********************************************************************************

5、size_t get_pool_lists_count( void )
功能
    获取内存池中内存链的个数。
返回值
    返回内存池中内存链的个数。

********************************************************************************

6、size_t get_pool_alloc_count( void )
功能
    获取内存池执行分配的次数。
返回值
    返回内存池执行分配的次数。

********************************************************************************

7、size_t get_pool_dealloc_count( void )
功能
    获取内存池执行回收的次数。
返回值
    返回内存池执行回收的次数。

********************************************************************************

8、void set_pool_lock( void (*lock)(size_t index) )
功能
    设置在并行系统中使用的加锁函数。
参数
    lock:原型声明为 void lock(size_t index) 的函数指针,加锁函数的 index 参
          数是由内存池在运行时传递进来的内存链索引号,通过该索引,可以在加锁
          函数中实现对不同的内存链分别加锁。

********************************************************************************

9、void set_pool_unlock( void (*unlock)(size_t index) )
功能
    设置在并行系统中使用的解锁函数。
参数
    unlock:原型声明为 void unlock(size_t index) 的函数指针,解锁函数的 index
            参数是由内存池在运行时传递进来的内存链索引号,通过该索引,可以在
            解锁函数中实现对不同的内存链分别解锁。

********************************************************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -