# RingBuffer **Repository Path**: wangykzg/ring-buffer ## Basic Information - **Project Name**: RingBuffer - **Description**: 这是一个环形缓冲区的函数库,你可以添加到你的项目中,然后使用库中的函数来编写你的代码 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-08-14 - **Last Updated**: 2023-08-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### Overview 这是一个环形缓冲区的函数库,你可以添加到你的项目中,然后使用库中的函数来编写你的代码 1 可以申请**任何类型**和**自定义长度**的环形缓冲区,默认最多申请10个缓冲区; 2 写入数据当缓冲区满时,可以选择**是否覆盖**最早的数据; 3 **使用简单,无需配置**,只需要包含头文件和源文件即可; 4 对外提供函数少,提供4个函数:分别为**初始化环形缓冲区,删除环形缓冲区,保存数据,读取数据** ### Getting started 1 复制\RingBuffer下的ringbuffer.c和ringbuffer.h文件到你的项目 2 参考ringbuffer_unittest.c,在你的项目中编写代码 ### Function description ```c /* 初始化函数,传入入环形缓冲区的长度, *以及数据大小,返回环形缓冲区描述符 */ int RingBufferInit(int buffer_num, int data_len) /* 根据传入描述符删除对应环形缓冲区 */ int RingBufferExit(int bd) /* 向环形缓冲区中保存一个数组, *传入描述符,数据地址和是否覆盖参数 */ int SendToRingBuffer(int bd, void *data, int cover) /* 从环形缓冲区中取出一个数组, *传入描述符,数据地址 */ int GetFromRingBuffer(int bd, void *data) ``` ### Folder structure \RingBuffer ->(.c)源代码,(.h)头文件和(test.c)测试代码 \Makefile_Test ->使用makefile和gcc创建的项目测试demo \TestResult ->测试结果 \vs2022_test ->使用visual studio 2022创建的项目测试demo