Linux文件I/O
drinkingcode
分享好玩科技,探索未知世界
展开
-
select函数详细用法解析
1.表头文件 #include #include #include 2.函数原型 int select(int n,fd_set * readfds,fd_set * writefds,fd_set * exceptfds,struct timeval * timeout); 3.函数说明 select()用来等待文件描述词状态的改变。参数n代表最大的文件描述词加1,参转载 2015-10-10 10:53:06 · 818 阅读 · 0 评论 -
linux 静态库、共享库
一、什么是库本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。Linux操作系统支持的函数库分为静态库和动态库,动态库又称共享库。Linux系统有几个重要的目录存放相应的函数库,如/lib /usr/lib。二、静态函数库、动态函数库A. 这类库的名字一般是libxxx.a;利用静态函数库编译成的文转载 2015-10-10 10:47:49 · 322 阅读 · 0 评论 -
linux 标准IO缓冲机制探究
一、什么是缓存I/O(Buffered I/O)缓存I/O又被称作标准I/O,大多数文件系统默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,操作系统会将I/O的数据缓存在文件系统的页缓存(page cache)中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。1.缓存I/O有以下优点:A.缓存I/O使用了操作系统内核缓冲区,转载 2015-10-10 10:47:44 · 305 阅读 · 0 评论 -
标准I/O相关函数
一、打开一个流这三个函数的区别是:(1)fopen打开路径名由pathname指示的一个文件(2)freopen常用于一个打开的流重新定向。比如stdout是标准输出,我们可以把它重定向到由path指定的一个文件。(3)fdopen取一个现存的文件描述符,并使一个标准的I/O流与该描述符相结合。总结如下:二、一步步探究A.fopen函数#include stdio.h>int main(){转载 2015-10-10 10:47:41 · 500 阅读 · 0 评论 -
文件I/O相关函数
一、文件描述符 对于内核而言,所有打开文件都由文件描述符引用。文件描述符是一个非负整数。当打开一个现存文件或创建一个新文件时,内核向进程返回一个文件描叙符。当读、写一个文件时,用open或creat返回的文件描述符标识该文件,将其作为参数传送给read或write。 按照惯例,UNIX shell使文件描述符0与进程的标准输入相结合,文件描述符1与标准输出相结合,文件描转载 2015-10-10 10:47:39 · 407 阅读 · 0 评论 -
Linux文件I/O之二
每日一结 一 文件I/O 和标准I/O 相同点: 都可以实现对文件操作 不同点: 缓存 文件I/O没有缓存,直接和系统调用关联 标准I/O有缓存,它的内部调用了系统调用接口 操作对象 文件I/O操作对象是文件描述符原创 2015-10-10 10:47:51 · 410 阅读 · 0 评论 -
Linux文件I/O之一
每日一结(标准I/O) 一 库 本质 :一组实现函数接口 [printf,scanf,strcpy,strlen] 使用标准库好处:屏蔽底层细节,向上层提供统一的接口,提高程序的可移植性 windows 库 : *.dll linux 库 : *.so原创 2015-10-10 10:47:46 · 475 阅读 · 0 评论