把内存映射到临时文件中

wkwin 2008-04-03 11:26:42
如何把内存中的一段数据,映射到临时文件中进行操作.这么做的目的是要减少内存的占用.
...全文
117 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdn5211 2008-04-03
  • 打赏
  • 举报
回复
呵呵,复杂的问题啊。
hoohag 2008-04-03
  • 打赏
  • 举报
回复
主要用到CreateFileMapping, 但还要其他的一些函数的辅助, 才能完成文件映射的工作
wkwin 2008-04-03
  • 打赏
  • 举报
回复
如果是用API函数,主要要用到哪些?
hoohag 2008-04-03
  • 打赏
  • 举报
回复
看 windows 核心编程 17章 内存映射文件. 这一大块内容在论坛上肯定讲不出个所以然, 尤其是一些细节的地方. 楼主还是系统地学习下
hoohag 2008-04-03
  • 打赏
  • 举报
回复
两个操作系统的文件管理方式都不一样, 应该没什么可比性...
hoohag 2008-04-03
  • 打赏
  • 举报
回复
mmap是unix下面的函数呀.....windows下面是不能用的.
wkwin 2008-04-03
  • 打赏
  • 举报
回复
用mmap函数不太适用这个.
abupie 2008-04-03
  • 打赏
  • 举报
回复
mmap(建立内存映射)
相关函数 munmap,open

表头文件 #include <unistd.h>
#include <sys/mman.h>

定义函数 void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offsize);

函数说明 mmap()用来将某个文件内容映射到内存中,对该内存区域的存取即是直接对该文件内容的读写。参数start指向欲对应的内存起始地址,通常设为NULL,代表让系统自动选定地址,对应成功后该地址会返回。参数length代表将文件中多大的部分对应到内存。

hoohag 2008-04-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wkwin 的回复:]
我要的是把内存中的数据放在临时文件中操作.这样可以减少内存的占用.
[/Quote]
这个....不就等于将内存中的buffer写到文件啊
wkwin 2008-04-03
  • 打赏
  • 举报
回复
我要的是把内存中的数据放在临时文件中操作.这样可以减少内存的占用.

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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