参考下列书籍中的对应章节:《Linux高级程序设计(第3版)》第3章Linux进程存储管理。相关视频:一、二。《C专家编程》第6章 运动的诗章:运行时数据结构。《UNIX环境高级编程(第2版)》第7章 进程环境 7.6 C程序的存储空间布局。理解了上述知识就很容易明白,一个函数返回char *时的内...
分类:
系统相关 时间:
2015-10-16 20:48:40
阅读次数:
197
书就不多说了,被称为Unix下C编程的圣经;不过现在国内貌似部分人都喜欢向别人推荐书,我很怀疑着部分人是不是推荐的每一本都看过。这个我暂时也不敢推荐,因为我也没有看完。
这本书上几乎所有的代码都用到了作者编程的一个头文件:apue.h,但是这个不是ISO C自带的,所以需要配置一下。我用的这本书是第三版,第三版,第三版 重要的事情说三遍1:先去这本书的官网把源代码下载下来,传送门2:解压3:mak...
分类:
其他好文 时间:
2015-08-30 19:37:14
阅读次数:
232
1、对于系统调用中的IO,是针对文件描述符的。而对于标准的IO是针对流的。
标准的IO函数返回一个指向FILE的指针。
2、打开流
FILE *f;
f = fopen("./a.txt",wr+);
通过上面得到打开文件的指针,以后的操作可以根据此指针来进行。
3、读和写数据流
(1)每次读一个字符的IO: getc(f) fgetc(f) getch...
分类:
其他好文 时间:
2015-08-30 15:52:47
阅读次数:
175
一、阻塞io操作和非阻塞io操作
对于阻塞io操作:当cpu得不到需要的文件数据的时候,则将自己挂起,直到有了数据,才能执行下面的操作。
非阻塞io: 当cpu得不到文件时候,其一直在轮询cpu,直达得到数据。
二、文件描述符
对于内核而言,所有打开的文件,都用文件描述符来引用。所有的文件操作都是由内核态完成的,当一个用户的进程创建一个文件时候,内核会给其返回一个文件描述符。
...
分类:
其他好文 时间:
2015-08-29 21:50:15
阅读次数:
219
每个文件维护了三个时间字段,它们的目的如下表所示:FieldDescriptionExamplels(1)optionst_atimelast-accesstimeoffiledataread-ust_mtimelast-modificationtimeoffiledatawritedefaultst_ctimelast-changetimeofi-nodestatuschmod,chown-c第118页的示例代码:$cat4_21.c
#inclu..
分类:
其他好文 时间:
2015-08-29 17:12:43
阅读次数:
197
虽然UNIX应用程序在不同的UNIX操作系统版本之间进行移植相同容易,但是20世纪80年代UNIX版本的剧增以及它们之间的差别扩大,导致很多用户呼吁对其进行标准化。标准化工作的一个重要部分是对每种实现必须定义的各种限制进行说明。
UNIX标准化:
ISO C:
1989年,C程序设计语言的ANSI标准X3.159-1989得到批准,随后该标准被采纳为国际标准ISO/IEC 9899:1990...
分类:
其他好文 时间:
2015-08-20 22:41:18
阅读次数:
237
不确定的运行时限制:
如果某些限制值没有在中定义,则在编译时不能使用这些限制;而且即使对于运行时限制,如果它们的值是不确定的,那么它们也是未定义的。
如下的程序用来为路径名动态分配存储区(一般来说,很多程序在编译时就为其分配了存储区,而且不同的程序使用不同的幻数,例如256,512,1024或标准I/O常量BUFSIZ,但很少是正确的)。
/*
* Copyright (C) fuchen...
分类:
其他好文 时间:
2015-08-20 22:40:52
阅读次数:
282
相信很多初学《UNIX环境高级编程》的朋友都会遇到一个问题,运行里面的实例(download: http://www.apuebook.com/ )时就出现问题,提示 "错误:apue.h:没有那个文件或目录". apue.h是作者自定义的一个头文件,包括程序所需的常用头文件及出错处理函数。所以因该将它放入系统头文件中(Linux下是 /usr/include),这样gcc编译器就可以找到它了。
...
分类:
其他好文 时间:
2015-08-14 13:46:47
阅读次数:
250
3.1 引言
文件I/O函数:打开文件,读文件,写文件
常用到五个函数:open, read, write, lseek, close.
本章描述的函数都是:不带缓冲的I/O(unbuffered I/O),属于不带缓冲 是指每个read和write都是调用内核中一个系统调用
3.2 文件描述符
对于内核而言,所有打开的文件都是通过文件描述符引用的
当读或写一个文件的时候,使用open...
分类:
其他好文 时间:
2015-08-08 01:21:33
阅读次数:
182
APUE基础 文件 IO 相关操作
open, close, creat, lseek, read, write 函数详解...
分类:
其他好文 时间:
2015-07-28 23:21:12
阅读次数:
528