applededipan 发表于 2018-11-27 20:36:00

求推荐个c实现的小巧的fifo 用来做通信时的数据缓存

求推荐个c实现的小巧的fifo 用来做通信时的数据缓存,现在用的一个fifo是c实现的,很简单,一个push函数,一个pop函数,但是当我定义缓存(数组)的大小超过16KByte时就出错,不知为何。大家有简单好用的fifo吗?

浮华一生 发表于 2018-11-27 20:44:48

参见linux 得 kfifo

linyu0395 发表于 2018-11-27 20:46:08

https://github.com/houwentaoff/kfifo

applededipan 发表于 2018-11-27 20:54:28

本帖最后由 applededipan 于 2018-11-27 20:57 编辑

linyu0395 发表于 2018-11-27 20:46
https://github.com/houwentaoff/kfifo

非常感谢,我之前用的和这个类似,但对数组的长度有一定的要求,不可以随便设置,当我数组长度是65536时,就出错了,刚发现这个问题,不知道什么原因

applededipan 发表于 2018-11-27 20:58:00

浮华一生 发表于 2018-11-27 20:44
参见linux 得 kfifo

谢谢,我看网上也不少,就是不知道哪个更高效点

浮华一生 发表于 2018-11-27 21:08:38

applededipan 发表于 2018-11-27 20:58
谢谢,我看网上也不少,就是不知道哪个更高效点

kfifo 高效些吧。 不过长度有要求,必须是2得幂次方

ztrx 发表于 2018-11-27 22:11:35

applededipan 发表于 2018-11-27 20:54
非常感谢,我之前用的和这个类似,但对数组的长度有一定的要求,不可以随便设置,当我数组长度是65536时 ...

16位寻址?

gsq19920418 发表于 2018-11-28 08:22:12

ztrx 发表于 2018-11-27 22:11
16位寻址?

我也好奇呢!
页: [1]
查看完整版本: 求推荐个c实现的小巧的fifo 用来做通信时的数据缓存