2012_7_8unix学习,文件指示器
1:restrict的应用
restrict是c99标准引入的,它只可以用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式.即它告诉编译器,所有修改该指针所指向内存中内容的操作都必须通过该指针来修改,而不能通过其它途径(其它变量或指针)来修改;这样做的好处是,能帮助编译器进行更好的优化代码,生成更有效率的汇编代码.如 int *restrict ptr, ptr 指向的内存单元只能被 ptr 访问到,任何同样指向这个内存单元的其他指针都是未定义的,直白点就是无效指针。restrict 的出现是因为 C 语言本身固有的缺陷,C 程序员应当主动地规避这个缺陷,而编译器也会很配合地优化你的代码.
2.文件位置指示器:从文件起始位置开始度量,并以字节为计量单位。
3:对于文件位置指示器来说,不同系统,偏移格式不太一样,所以最好的方式是从文件的开头开始。当然在同一系统中有好多函数可以用,getpos,setpos。直接定位函数,清楚流函数,有三个左右这样的函数。
对于详细的函数解释,见unix环境高级编程,5.10章