本文主要为广大网友提供“内存映射文件在进程中的应用与研究”,希望对需要内存映射文件在进程中的应用与研究网友有所帮助,学习一下!
包括论文,设计,论文字数:11718,页数:32
摘 要
随着计算机操作系统的发展,多任务多进程已经被广泛应用。为了加速应用程序的运行,往往会在系统中建立多个进程,由这些进程相互合作去完成一个共同的任务,经常需要在进程之间交换信息、传递数据。
Windows提供了多种机制,使应用程序能够迅速而方便地共享数据和信息,这些机制包括RPC、COM、OLE、DDE、窗口消息(尤其是WM_COPYDATA)、剪贴板、邮箱、管道和套接字等;而这些机制均使用内存映射文件,在Windows系统中,单个计算机上共享数据的最低层机制是内存映射文件。如果互相进行通信的所有进程都在同一台计算机上的话,使用内存映射文件进行共享,系统的性能较高和开销较小。
本文主要阐述了内存映射文件基本原理和实现方法,探讨和研究了如何在Visual C++环境下利用MFC类库编写使用内存映射文件来完成进程间数据共享,并给出了应用实例。
关键词:内存映射文件;进程通信;MFC
Application and Research of Memory-mapped Files in Process
Abstract
With the development of computer operating system, multi-task process has been used more widely. In order to accelerate the application of the operation, it often creates a number of processes in the system. These processes cooperate to accomplish a common task, often exchanging information and data transfer in the process
Windows offers a variety of mechanisms for enabling the applications to share data and information quickly and easily. These mechanisms include the RPC, COM, OLE and DDE, information window (especially WM_COPYDATA), the clipboard, mailboxes, pipes and sockets. These mechanisms are used memory mapping file in the Windows system. The memory-mapped file is used in these mechanisms of windows. The memory-mapped file is the lowest level on the single computer for sharing data mechanism. If the processes that are communicating with each other are all in the same machine, the system will acquire higher function with smaller expense by using the memory-mapping file to share data.
This paper discusses the basic principles and the methods of the memory-mapped files mainly. We will explore and study how to use memory-mapped files for complete inter-process data sharing by using MFC in Visual C ++. An example is given.
Key words: Memory-mapped files; Process communication; MFC
目 录
1 引 言 1
1.1 课题背景 1
1.2 本课题研究的意义 1
1.3 课题研究方法 1
2 开发平台简介 1
3 主要技术 2
3.1 内存映射文件的基本原理和操作 2
3.1.1 内存映射文件的基本原理 2
3.1.2 创建内存映射文件 3
3.1.3 映射文件的视图到进程的地址空间 5
3.1.4 FlushViewOfFile函数 6
3.1.5 取消文件视图的映射 6
3.1.6 关闭文件映射对象 6
3.2 内存映射文件在进程数据共享中的应用 6
3.2.1 进程的相关概念 6
3.2.2 共享内存的原理 7
3.2.3 使用事件对象来同步进程 8
4 应用实例 10
4.1 相关技术 10
4.1.1 消息映射机制 10
4.1.2 BMP(位图)文件 11
4.2 本实例实现流程 14
4.3 功能实现 15
4.3.1 MemonyShare工程说明 15
4.3.2 MemonyShareRev工程说明 20
结束语 26
参考文献 26
致 谢 27
声 明 28