1 Star 0 Fork 7

Frank/linux下共享内存和信号量集结合使用案例

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
shmfifo.h 674 Bytes
一键复制 编辑 原始数据 按行查看 历史
#ifndef __SHMFIFO_H__
#define __SHMFIFO_H__
typedef struct shm_head{
int rd_idx; // 读位置
int wr_idx; // 写位置
int blocks; // 块数
int blksz; // 每块大小
} head_t;
typedef struct shmfifo {
head_t *p_head; // 共享内存段的头
char *p_payload; // 有效数据地址
int shmid; // 共享内存id
int sem_full; // 表示满
int sem_empty; // 表示还有几个可消费
int sem_mutex; // 互斥量
}shmfifo_t;
shmfifo_t* shmfifo_init(int key, int blocks, int blksz);
void shmfifo_put(shmfifo_t *fifo, const void *buf);
void shmfifo_get(shmfifo_t *fifo, void *buf);
void shmfifo_destroy(shmfifo_t *fifo);
#endif //__SHMFIFO_H__
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/guolun/shmfifo.git
git@gitee.com:guolun/shmfifo.git
guolun
shmfifo
linux下共享内存和信号量集结合使用案例
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385