linux mmap 内存映射mmap() vs read()/write()/lseek()通过strace统计系统调用的时候,常常能够看到mmap()与mmap2()。系统调用mmap()能够将某文件映射至内存(进程空间),如此能够把对文件的操作转为对内存的操作,以此避免很多其它的lseek()...
分类:
其他好文 时间:
2014-08-19 22:21:55
阅读次数:
339
open系统调用
函数原型及解释
【代码】
调用 open
可以打开一个已经存在的文件(普通文件、特殊文件或命名管道),或创建一个新文件,但它只能创建普通文件(创建特殊文件需要使用 mknod,命名管道使用
mkfifo)。open
返回是打开已存在的文件或创建新文件的文件描述符。文件一旦打开,read、
write、 lseek、
close...
分类:
系统相关 时间:
2014-08-17 01:06:31
阅读次数:
388
1. 引言Unix系统的大多数文件I/O只需用到5个函数:open、read、write、lseek以及close本章描述的函数经常被称为不带缓冲的I/O。术语不带缓冲指的是在用户的进程中对其不会自动缓冲,每个read和write都调用内核中的一个系统调用。但是,所有磁盘I/O都要经过内核的块缓存区...
分类:
其他好文 时间:
2014-08-04 20:46:37
阅读次数:
404
首先测试标准输入是否可以进行lseek操作
[root@luozhonghua 03]# cat ex03-lseek-01.c
/*文件ex03-lseek-01.c,
使用lseek函数测试标准输入是否可以进行seek操作*/
#include
#include
#include
#include
int main(void)
{
off_t offse...
分类:
系统相关 时间:
2014-08-03 18:13:05
阅读次数:
308
线上程序不断重启,查看log发现是进程因为SIGXFSZ信号退出。对过大的文件进行操作的时候会产生此信号,一般只在32位机器上出现,文件大小限制为2G。用lsof查看进程打开的文件,果然有一个文件达到2G。
解决方案:编译时加上参数:-D_FILE_OFFSET_BITS=64;代码中调用lseek时参数为off_t(不要为int或long,否则在32位和64位中表现不同)。
...
分类:
系统相关 时间:
2014-07-19 08:18:29
阅读次数:
281
file/seek.c#include "apue.h"intmain(void){ if (lseek(STDIN_FILENO, 0, SEEK_CUR) == -1) printf("cannot seek\n"); else printf("seek OK\n"); exit(0);}
分类:
其他好文 时间:
2014-07-18 23:27:20
阅读次数:
187
UCHAR recordlenthrecordlenth与整形int比较时不用atoi转换recordlenth。若转换出错3.lseek函数所需头文件:#include #include/*定义了off_t,pid_t等类型*/函数原型:off_tlseek(intfd,,off_toff...
分类:
其他好文 时间:
2014-07-16 19:02:58
阅读次数:
282
最近开始学习linux c编程,需要用到很多库函数和c标准库函数,发现原来man命令还可以用来查询函数原型。
比如输入man lseek可以获取函数lseek的原型和所属头文件。
有些函数名既是linux命令又是系统调用,如mkdir,可以输入man 2 mkdir获取该函数原型。只输入man mkdir获取的是命令mkdir的帮助。
对于库函数可以输入man 3 获得帮助信...
分类:
系统相关 时间:
2014-07-05 23:02:44
阅读次数:
394
原子操作一、添写到文件 早期的UNIX的open函数里面,不支持O_APPEND的选项。所以要追写到文件结尾处,必须先利用lseek把文件偏移量移到文件的结尾处,再进行write操作。 如果当前进程A刚执行完lseek后,系统进程调度作用切换到了另一个进程B,进程B对同一个文件进行了写操作。进程B写...
分类:
其他好文 时间:
2014-06-19 08:58:03
阅读次数:
318
取的文件大小1.int fd = open("data.txt",O_RDONLY); int
len = lseek(fd,0,SEEK_END);2.structstatsb; if ((fstat(fd, &sb)) == -1) {
perror("fstat"); }sb.st_size3...
分类:
编程语言 时间:
2014-05-17 21:24:29
阅读次数:
267