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

前端之家收集整理的这篇文章主要介绍了C:什么是缓冲区下溢的例子?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道什么是缓冲区溢出.我不知道缓冲区下溢是什么.

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

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

上面没有错误.

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

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

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

解决方法

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

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

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

猜你在找的C&C++相关文章