首页
社区
课程
招聘
[求助]文件编辑方法的不同区别。。
发表于: 2007-10-23 17:02 4913

[求助]文件编辑方法的不同区别。。

2007-10-23 17:02
4913
我是菜鸟,向大家请教:
把文件映射进内存编辑,和直接打开文件编辑有什么不同点,各有什么好处啊??

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 1505
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
2
内存映射文件不是把文件放入内存,可以节省内存,而且还可以进程之间互访数据。
坏处就是用起来麻烦点。
2007-10-23 17:48
0
雪    币: 218
活跃值: (17)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
虚心学习。
那么直接用OpenFile()打开后,用ReadFile()之间有什么区别??
2007-10-23 23:41
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
4
OpenFile() 打开文件句柄, ReadFile() 读入文件数据到缓冲区.
这2个API 都是在实际内存中进行操作的.

而内存映射 与虚拟内存相似, 节省了系统页文件空间,速度快,可用于进程间共享数据...

不懂的查阅SDK
2007-10-24 08:22
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
5
msdn好用哈,

文件内存映射好用,除了映射麻烦点之外,速度快,呵呵呵`
2007-10-24 09:13
0
雪    币: 112
活跃值: (16)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
6
专家,都是专家!
顶!~~~~```
2007-10-24 11:22
0
雪    币: 1746
活跃值: (287)
能力值: (RANK:450 )
在线值:
发帖
回帖
粉丝
7
内存映射一开始并不对应任何内存页,系统只给它一片连续的虚拟地址(在页表上这些虚拟地址没有对应任何内存),当你访问内存映射区域时,将导致缺页异常,CPU将进入缺页中断处理函数,在这里面分配真实可用的内存,并映射到刚才产生异常的位置,由于内存映射的核心工作都是缺页中断处理函数在做,这也是为什么内存映射内存大小的单位是页的原因

具体读文件的就不说了,因此可见,内存映射在处理比较大文件的时候,比较有优势
2007-10-24 23:11
0
雪    币: 218
活跃值: (17)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
学习了,谢谢大家能够耐心回答我,帮助我这个菜鸟成长阿。。
2007-10-24 23:29
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
如果我要把一个文件映射到某进程的0x123abc中去

该如何操作?

MapViewOfFileEx最后一个参数是什么?
2007-11-4 12:35
0
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
10
MapViewOfFileEx最后一个参数,表示目标位置
MapViewOfFileEx ( ……, 0x123abc )

但不一定能成功,有可能该地址已经被占用,或者从该地址开始的空间不够
都可能导致失败,通过返回值来判断
2007-11-6 21:05
0
游客
登录 | 注册 方可回帖
返回
//