windows核心编程--7、内存映射文件

一、前言

    该系列前几篇文章:
        windows核心编程--1、使用vs2019编写第一个win32项目
        windows核心编程--2、windows的画笔画刷以及一些简单的应用
        windows核心编程--3、有关进程的三个函数
        windows核心编程--4、线程和线程同步
        windwos核心编程--5、虚拟内存相关函数及其应用
        windows核心编程--6、使用共享栈端实现进程数据共享


二、相关工具

    IDE:Visual Studio 2019


三、相关函数

    1、CreateFile函数,作用为打开文件,也可以创建文件,相关用法参见百度百科:https://baike.baidu.com/item/CreateFile/9621657?fr=aladdin
    2、GetFileSize函数,作用为获取文件大小,具体用法参见百度百科:https://baike.baidu.com/item/GetFileSize/9641889?fr=aladdin
    3、CreateFileMapping函数,作用为创建一个内存映射文件对象,具体用法参见百度百科:https://baike.baidu.com/item/CreateFileMapping/9621670?fr=aladdin
    4、GetLastError函数,作用为获取错误代码,具体用法参见百度百科:https://baike.baidu.com/item/GetLastError/4278820?fr=aladdin
    5、MapViewOfFile函数,作用为将文件映射对象映射到当前应用程序的地址空间中,具体用法参见百度百科:https://baike.baidu.com/item/MapViewOfFile/9665143?fr=aladdin
    6、memcpy函数,作用为拷贝内存,具体用法参见百度百科:https://baike.baidu.com/item/memcpy/659918?fr=aladdin
    7、UnmapViewOfFile函数,作用为释放一个内存映射,具体用法参见百度百科:https://baike.baidu.com/item/UnmapViewOfFile/9711637?fr=aladdin
    8、CloseHandle函数,作用为关闭一个句柄,具体用法参见百度百科:https://baike.baidu.com/item/CloseHandle/9621618?fr=aladdin


四、实验要求

    实现文件切割功能,平均将文件切割为四部分。


五、实验步骤

    1、首先将要切割的文件通过映射方式得到一个映射对象,如下所示:

    2、接着对取该文件,将读取出来的二进制流平静分配到4个字节数组中,之后在关闭该映射对象,如下所示:

    3、最后创建四个文件映射对象,分别写入4个字节数组中的内容即可,在关闭这4个映射对象,如下所示:

posted @ 2020-05-16 17:11  windy_ll  阅读(264)  评论(0编辑  收藏  举报