阅读背景:

c(3)内存映射+文件操作系统函数

来源:互联网 

1)内存映射

//01mmap.c

//内存映射的建立与解除
#include <stdio.h>
#include <sys/mman.h>
#include <string.h>
#include <stdlib.h>
int main(){
    char *p=(char*)mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_ANONYMOUS|MAP_PRIVATE,\
            -1,0);//最后一个参数是4096的整数倍
    if(p==MAP_FAILED){
        perror("mmap");
        exit(EXIT_FAILURE);
    }
    strcpy(p,"Hello,Memory!");
    printf("%s\n",p);
    if(munmap(p,4096)==-1){
        perror("munmap");
        exit(EXIT_FAILURE);
    }
    strcpy(p+=4096,"Hello,Memory!");
    printf("%s\n",p);
    if(munmap(p,4096)==-1){
        perror("munmap");
        exit(EXIT_FAILURE);
    }
        return 0;
}//内存映射的建立与解除
#include <



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: