zoukankan      html  css  js  c++  java
  • 内存映射

    内存映射:
    1. 打开被映射文件;
    2. 调用mmap;
     
    作用: 将一个给定文件映射到一个存储区域中。
     
    #include <sys/mman.h>
     
    void * mmap(void* addr, size_t len, int prot, int flag, int fields, off_t off);
     
    返回值:若成功则返回映射区的起始地址,若出错则返回MAP_FAILED
     
    addr: 用于指定映射存储区的起始地址。通常将其设置为0, 这表示由系统选择该映射区的起始地址。
    len: 映射的字节数;
    prot: 该参数说明对映射区的保护,
         可将prot指定为PROT_NONE,或者是PROT_READ、PROT_WRITE、PROT_EXEC任意组合的按位或。
         对指定映射存储区的保护 要求不能超过文件open模式访问权限。例如,若该文件是只读打开的,那么对映射存储区就不能指定PROT_WRITE。
    flag: 影响映射存储区的多种属性
         MAP_SHARED:指明对映射区数据的修改,多个共享该映射区的进程都可以看见,而且会反映到实际的文件
         MAP_PRIVATE:指明对映射区数据的修改不会影响 真正的文件
    fields: 被映射文件描述符
    off: 被映射字节在文件中的起始偏移量。
     
  • 相关阅读:
    new delate he typedef的含义
    Importing the multiarray numpy extension module failed
    QT socket相关
    CMake的一些使用
    CMake undefined reference to `QTcpServer::QTcpServer(QObject*)'的解决
    MFC操作excel
    dsview
    phyton 相关学习
    面试相关
    远程连接
  • 原文地址:https://www.cnblogs.com/black-mamba/p/4423466.html
Copyright © 2011-2022 走看看