加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C:什么是缓冲区下溢的例子?

发布时间:2020-12-16 04:58:59 所属栏目:百科 来源:网络整理
导读:我知道什么是缓冲区溢出.我不知道缓冲区下溢是什么. 我猜测这是一个特定的缓冲区,而不是字节溢出,这是一个字节的下溢. char buffer[8];fgets(buffer,sizeof(buffer),stdin); 上面没有错误. char buffer_overflow[8];fgets(buffer_overflow,16,stdin); 如果用
我知道什么是缓冲区溢出.我不知道缓冲区下溢是什么.

我猜测这是一个特定的缓冲区,而不是字节溢出,这是一个字节的下溢.

char buffer[8];
fgets(buffer,sizeof(buffer),stdin);

上面没有错误.

char buffer_overflow[8];
fgets(buffer_overflow,16,stdin);

如果用户输入例如“deutschland”,则上述将导致缓冲区溢出.

我可以在代码中获得一个例子,什么是缓冲区下溢?

解决方法

缓冲区下溢与缓冲区溢出无直接关系.然而,缓冲器下溢可能是例如一个问题.环形缓冲区.

考虑例如音频播放:您的音频缓冲区可能是内核内存中的一个环形缓冲区.如果写入的数据慢于音频驱动器/硬件从缓冲区读取,缓冲区将变为空(“下溢”),导致口吃音频.对于其他类型的实时数据处理和媒体播放也存在类似的问题.

因此,缓冲区下溢通常不是故障条件(与缓冲区溢出不同,缓冲区溢出通常导致程序执行未定义的不必要的行为,如终止,执行一些不需要的代码等).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读