社区
进程/线程/DLL
帖子详情
关于内存文件的访问
Smile_Tiger
2009-08-14 11:24:54
可不可以在windows操作系统下创建一种内存文件,其他进程的正常i\o函数可以访问它。
举个实际的例子
比如我实现一个程序,创建了一内存文本文件,然后我再调用notepad程序,带参数方式访问该文件
问这有可能么?
...全文
317
19
打赏
收藏
关于内存文件的访问
可不可以在windows操作系统下创建一种内存文件,其他进程的正常i\o函数可以访问它。 举个实际的例子 比如我实现一个程序,创建了一内存文本文件,然后我再调用notepad程序,带参数方式访问该文件 问这有可能么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pady_pady
2009-08-14
打赏
举报
回复
不可能
Smile_Tiger
2009-08-14
打赏
举报
回复
对文件加密的话,那个第三方程序该怎么访问它?
路人乙2019
2009-08-14
打赏
举报
回复
这个不太可能,除非两个都是你自已写的,那么就可以用共享内存或内存映射文件.
jason176374
2009-08-14
打赏
举报
回复
那还不如对文件加密呢。
再提供一个工具专门查看文件。
Smile_Tiger
2009-08-14
打赏
举报
回复
我主要的目的是某个项目需要产生一些临时文件,然后交由一第三方程序去处理。但是我希望这些临时文件不被别人所看到,全内存操作。
jason176374
2009-08-14
打赏
举报
回复
抛开实用性不说,不用虚拟机那么复杂,用文件过滤驱动也可以实现。
当发现是NOTEPAD在打开文件的时候,不从磁盘读取,直接读你的共享内存,然后返回给上层调用。
纯技术讨论,没有一点实用价值。
Smile_Tiger
2009-08-14
打赏
举报
回复
模拟一个虚拟机有没有可能实现这一点?
feilinhe
2009-08-14
打赏
举报
回复
notepad访问你的内存文件?不行吧
pady_pady
2009-08-14
打赏
举报
回复
你的想法有问题,CreateFileMapping
已经可以直接访问内存的东东了,你还用notapad访问它有什么用,实际上,被映射的文件,可以用指针访问它的任何内容了,可以当内存来处理了
jason176374
2009-08-14
打赏
举报
回复
让NOTEPAD访问你的内存映射文件?
skybblue
2009-08-14
打赏
举报
回复
没仔细看,要想让notepad等其它程序也能访问,好象不行,因为这些程序不支持,如果希望也支持的话,也许通过驱动可以实现.
skybblue
2009-08-14
打赏
举报
回复
内存共享映射文件啊,CreateFileMapping
GMingZ
2009-08-14
打赏
举报
回复
我刚试了,绝对可行。
要是你不知道怎么将他加到剪贴板,可以再问我
GMingZ
2009-08-14
打赏
举报
回复
给个我的思路。
你把内存映射文件的内容复制一份存到剪贴板,打开记事本的时候,ctrl + v 直接粘贴就可以了,呵呵。
这个过程代码很简单,几行就搞定。
MoXiaoRab
2009-08-14
打赏
举报
回复
[Quote=引用 8 楼 smile_tiger 的回复:]
我主要的目的是某个项目需要产生一些临时文件,然后交由一第三方程序去处理。但是我希望这些临时文件不被别人所看到,全内存操作。
[/Quote]
很简单,Hook ZwQueryDirectoryFile,隐藏你的那些文件就好了
jingzhongrong
2009-08-14
打赏
举报
回复
挂钩常用的IO函数,将操作你内存文件的操作重定向到内存中。
das_jack
2009-08-14
打赏
举报
回复
创建mmf 操作文件结束后 CreateProcess(0,"notepad.exe path",...)
skybblue
2009-08-14
打赏
举报
回复
用管道技术不知道能不能实现你的功能,你可以到网上查查
MappedByteBuffer原理->实现
内存
映射
文件
,像
访问
内存
中的数组一样
访问
文件
虚拟
内存
每一个运行的进程,都会获得一个 4G的
内存
地址空间,这就是所谓的虚拟
内存
,这里面的所有地址都是虚拟的,和物理
内存
啥的并不直接挂钩。而在操作系统那头,这些虚拟地址所映射到的实际地址,可以是物理
内存
地址,也可以是页面
文件
的地址。如果是物理
内存
小于这个虚拟地址的范围的话,映射的物理
内存
还可能是重复的物理
内存
地址片段,使用的时 候可以通过清空
内存
数据,将
内存
数据写入页面
文件
这样的方式进行物理
内存
的重新利用,以提高物理
内存
的利用效率。 I/O调用的基本原理 直接通过API做IO,会用到一系列的系统调用(sy
搬:mmap映射
文件
至
内存
( 实现 共享
内存
与
文件
的另类
访问
)
mmap映射
文件
至
内存
( 实现 共享
内存
与
文件
的另类
访问
) Linux提供了
内存
映射函数mmap, 它把
文件
内容映射到一段
内存
上(准确说是虚拟
内存
上), 通过对这段
内存
的读取和修改, 实现对
文件
的读取和修改, 先来看一下mmap的函数声明: 头
文件
: <unistd.h> <sys/mman.h> 原型: void *mmap(void *add...
内存
映射
文件
:高效数据
访问
的系统级技术
内存
映射
文件
技术摘要
内存
映射
文件
(MMF)通过将
文件
内容直接映射到进程虚拟地址空间,实现高效数据
访问
。该技术具有零拷贝、按需加载和高效进程间通信等优势,性能比传统I/O提升10倍以上。Windows系统通过CreateFileMapping等API实现,Linux则使用mmap函数。
内存
映射
文件
特别适合大
文件
处理(如数据库、图像处理)和多进程数据共享场景,能显著减少系统调用和
内存
占用。使用时需注意资源释放、同步机制和错误处理,推荐使用mio等跨平台库简化开发。最佳实践包括合理设置映射大小、处理边界条件及确
Okio
内存
映射
文件
:NioFileSystem如何实现大
文件
的高效
访问
在处理大型日志
文件
、数据库存储或视频编辑等场景时,传统
文件
读写方式常面临
内存
溢出或性能瓶颈。Okio的NioFileSystem通过Java NIO的
内存
映射机制,实现了对大
文件
的高效
访问
。本文将深入解析其实现原理,展示如何通过
内存
映射技术突破传统I/O的限制。 ##
内存
映射 vs 传统I/O:核心差异 传统
文件
读写需要将数据从磁盘复制到内核缓冲区,再复制到用户空间,涉及多次数据拷贝。而
内存
...
Llama-FS
内存
缓存:优化频繁
访问
文件
性能
在日常使用电脑时,你是否遇到过频繁
访问
同一
文件
导致系统变慢的情况?Llama-FS作为一款自组织
文件
系统(Self-organizing File System),通过内置的
内存
缓存机制有效解决了这一问题。本文将深入解析Llama-FS的缓存原理,帮助你理解如何通过
内存
缓存提升
文件
访问
效率。 ## 缓存机制核心实现 Llama-FS的缓存系统主要通过两个核心模块实现:
文件
加载器([src/lo...
进程/线程/DLL
15,465
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章