0
点赞
收藏
分享

微信扫一扫

C/C++语言实现的一个缓存队列


C/C++语言实现的一个缓存队列

完整代码下载地址:​​https://gitee.com/yzhengBTT/QueueBuffer​​

使用方法:

对于C语言,队列的创建分两种:

1. 静态创建

/* 队列大小 */
#define QUEUE_SIZE 10

/* 队列数据空间。请使用宏QALIGN4,目的是为了根据队列大小计算实际需要的队列存储空间大小并对齐4字节 */
uint8_t QueueBuffer[QALIGN4(QUEUE_SIZE)];

/* 队列句柄 */
Queue queue;

初始化:

Queue_Init(&queue, QUEUE_SIZE, QueueBuffer);

2.动态创建

创建函数:

QueuePtr Queue_Create(uint32_t size)

销毁函数:

void Queue_Destory(QueuePtr queue)

!!!以上两个函数必须成对使用!!!

示例代码:

/*
* mian.c
*
* Created on: 2020年10月12日
* Author: hello
*/

#include <stdio.h>
#include <string.h>
#include "queue.h"

/* 队列大小 */
#define QUEUE_SIZE 100

/* 队列数据空间。请使用宏QALIGN4,目的是为了根据队列大小计算实际需要的队列存储空间大小并对齐4字节 */
uint8_t QueueBuffer[QALIGN4(QUEUE_SIZE)];

/* 队列句柄 */
Queue queue;
QueuePtr queueHandle = &queue;

int main()
{
char buf[20];

memset(buf, 0X00, sizeof(buf));

// 静态初始化
Queue_Init(&queue, QUEUE_SIZE, QueueBuffer);

// 写
Queue_Write(queueHandle, "HelloWorld", 10);

// 读
Queue_Read(queueHandle, buf, 10);

// 打印
printf("read:%s\n", buf);

return 0;
}

运行效果:

C/C++语言实现的一个缓存队列_#include

C++类版本

​​https://gitee.com/jhuangBTT/RingBufferCpp​​

ends…


举报

相关推荐

0 条评论