文件内存映射:速度比较快。
MMAP
工作当中使用相当频繁。
将一个文件映射到内存。页:物理内存。
磁盘驱动器:直接把磁盘上一块。
了解MMAP是学习大数据的第一步
参数:
start :填NULL。由系统决定映射区的起始地址。嵌入式编程的时候才自己写,系统帮你选就写NULL。
size_t length:文件大小。用stat或fstat
既要读又要写:PROT_READ|PROT_WRITE
PROT_EXEC:硬编码,工作中不会用到。
flags:填MAP_SHARED.
fd:确保文件要可读可写。一定要用RDWR。
off_t offset:默认填0.offset是指隔start多远开始存。
返回的时指针。
munmap 解除映射。start和length必须和申请的一样。
#include "func.h"
int main(int argc,char** argv){
if(argc !=2){
printf("error args\n");
return -1;
}
int fd=open(argv[1],O_RDWR); //文件要可读可写
if(-1==fd){
perror("open");
ret