内存映射文件的相关问题.

lonelybug 2009-06-19 03:43:48
首先我知道内存映射的寻址原理和相关的知识,所以,希望好心的朋友,不要又贴一些专贴或者相关理论知识文章。

我最近在做一个系统,需要用到内存映射来映射大文件,但是,一直苦无头绪,因为,道理上讲,内存映射,是通过不同地职位的索引把,虚拟地址最终只想一个物理地址,但是,如果自己开发的话,是不是也要得到一个文件的开始地址之后,然后来进行每4kb内容的映射么?也就是说,自己来进行内存地址的控制和翻译?

我想实现的是UltraEdit那种映射功能。现在简单的实现了一个可以把整个文件,按行进行映射,记住行的开头,然后和offset。

可是,依然需要很多的内存,90mb打开200mb左右的文件。

非常感谢各位高手的耐心解答和时间。

...全文
97 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
http://www.yuanma.org/data/2008/0428/article_3019.htm

利用mmap实现用户空间驱动的理解
  • 打赏
  • 举报
回复
lonelybug 2009-06-19
  • 打赏
  • 举报
回复
比如文章中的这个MapViewOfFile函数是如何实现的,我主要想知道具体的里面的东西,而不是如何使用。

非常感谢pathuang68。
lonelybug 2009-06-19
  • 打赏
  • 举报
回复
谢谢楼上的朋友,这个也非常有用,不过,我主要的目的是,如何程序上面实现自己的内存映射文件内容,还有就是虚拟内存地址到实际文件存储地址的翻译的方面的资料。
pathuang68 2009-06-19
  • 打赏
  • 举报
回复
请参考:
利用共享内存实现进程之间的通讯
其中第一个例子没有用到MFC(但用了windows的SDK),第二个除界面外也没有用MFC,可以参考一下。
lonelybug 2009-06-19
  • 打赏
  • 举报
回复
分数忘了加了,100分,回来另开帖子补上,不好意思。
lonelybug 2009-06-19
  • 打赏
  • 举报
回复
不好意思,补充一下,我用的是C语言,我不能用mmap之类的东西,更不会用到MFC的那些。

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧