当前位置: 技术问答>linux和unix
linux mmap的问题
来源: 互联网 发布时间:2017-04-12
本文导语: 可不可以这样呢...比如我要读的一个文件有一个G,然后写入一个新建的文件里,用mmap可以实现吗? mmap(0,statbuf.st_size,PROT_READ,MAP_SHARED,fdin,0); 这个len参数的大小只能是文件的大小吗?为什么我改得比文件大小小了就报...
可不可以这样呢...比如我要读的一个文件有一个G,然后写入一个新建的文件里,用mmap可以实现吗?
mmap(0,statbuf.st_size,PROT_READ,MAP_SHARED,fdin,0);
这个len参数的大小只能是文件的大小吗?为什么我改得比文件大小小了就报段错误了呢?还有后面的offset参数,要把写文件往后移该怎么做?
在网上看了很多例子,感觉都没讲到这些哎....求大神指导啊...........
mmap(0,statbuf.st_size,PROT_READ,MAP_SHARED,fdin,0);
这个len参数的大小只能是文件的大小吗?为什么我改得比文件大小小了就报段错误了呢?还有后面的offset参数,要把写文件往后移该怎么做?
在网上看了很多例子,感觉都没讲到这些哎....求大神指导啊...........
|
offset必须getpagesize()对齐。
|
你len参数传得小不会段错误的,应该是你操作有问题