首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

新手提问,不带缓存的I/O函数解决办法

2012-06-10 
新手提问,不带缓存的I/O函数LINUX下有不带缓存的I/O函数(比如open,write等)和标准I/O函数(比如fopen,fwrit

新手提问,不带缓存的I/O函数
LINUX下有不带缓存的I/O函数(比如open,write等)和标准I/O函数(比如fopen,fwrite等)。
我不太明白带缓存是什么意思?
带缓存和不带缓存有什么区别?
两个简单问题,谢谢了。

[解决办法]
http://blog.csdn.net/power77/archive/2005/01/26/269248.aspx

http://blog.csai.cn/user1/27828/archives/2007/14285.html
[解决办法]
一般来说,标准IO库的实现(也就是带缓存的)会为你选一个合适的缓冲,所以效率经常会高一些。
但标准IO库内部要管理缓存,就必然存在一些合局或静态的结构,这样在信号处理程序里就会出问题,也就是说是信号不安全的。
 

探讨
那是用标准I/O库好呢还是不带缓存的I/O库好呢?
大家在LINUX下编程用的是什么I/O?

[解决办法]
带缓存的存储效率要高一些,但数据的完整性就得不到很好的保证。
不带缓存的存储效率相对来说低一些,但它的实时性相对较好,能更好的确保数据的完整性。
要用什么类型的就看你自己的需求了。

热点排行