本帖最后由 冷漠 于 2010-1-7 08:57 编辑
请看下面链接:
https://bbs.21ic.com/icview-151866-1-1.html
谁能帮我证明一下,下面公式在生命期间是正确的:看看它是不是歪理?
mCount = pIn - pOut ; // 也就是说,pIn 总是大于 pOut 。mCount “ 永远”是正整数。
采用什么方法,能够使得在任何(合理范围)情况下,都保证上面计算公式是正确的?(合理,例如 char8 或者 int16 范围内。假定取缓冲区长度ILEN=16。)
所谓生命期间是指 pIn / pOut 的有限合理范围内,例如串口接收程序接收一帧限定255字节。 pIn / pOut 是什么类型无所谓的,并不限于所长的程序,谁能用自己的环形缓冲区处理程序证明更好。 |