参考资料
mmap 函数:原理与使用(含代码)
mmap函数使用与实例详解
Linux系统编程:mmap使用技巧
mmap和普通文件读写的区别和比较 & mmap的注意点
一、mmap读入文件
#include<iostream>
#include<sys/mman.h>
#include<sys/types.h>
#include<fcntl.h>
#include<unistd.h>
#include<string.h>
using namespace std;
void CreateFromFile(string& FileName)
{
//由数据文件FileName创建图
//size_t i;
//打开文件,fd为文件描述符
int fd = open(FileName.c_str(), O_RDONLY);
//cout << "fd " << fd << endl;
//文件长度
int len = lseek(fd, 0, SEEK_END);
//cout << "len " << len << endl;
//文件映射
char* data = (char*)mmap(NULL, len, PROT_READ, MAP_PRIVATE, fd, 0);
//关闭文件,若放在此处不行就放在文件末尾munmap函数之前
close(fd);
auto p_end = data;
//unsigned int num_s[3];//用来存放数据
vector_3 value;
while (*p_end != '\0')
{
for (short int i = 0; i < 3; ++i)
{
value.value[i] = strtoul(p_end