社区
进程/线程/DLL
帖子详情
高分求助:如何在程序间共享大量内存数据
lide19
2004-05-08 05:22:55
我现在要做2个程序,一个程序负责把大文件读到内存生成一块区域。我们的机器内存很大按GB计。该程序一直运行。
另外一个程序访问上个程序创建的内存区域。根据这些数据该程序对输入的文件操作并输出结果。
问高手如何实现?我用VC6 或VC.net
我知道 Win32有 内存映射文件方法共享内存,但是好像要是一个程序的2个实例。是否这样?该方法还有哪些限制?如果是不同程序间共享,有其他方法吗?
多谢UP者,送1分!
...全文
103
15
打赏
收藏
高分求助:如何在程序间共享大量内存数据
我现在要做2个程序,一个程序负责把大文件读到内存生成一块区域。我们的机器内存很大按GB计。该程序一直运行。 另外一个程序访问上个程序创建的内存区域。根据这些数据该程序对输入的文件操作并输出结果。 问高手如何实现?我用VC6 或VC.net 我知道 Win32有 内存映射文件方法共享内存,但是好像要是一个程序的2个实例。是否这样?该方法还有哪些限制?如果是不同程序间共享,有其他方法吗? 多谢UP者,送1分!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lide19
2004-06-10
打赏
举报
回复
感谢各位
lide19
2004-05-11
打赏
举报
回复
IPC好像只是在unix linux下使用,我用.net能用吗?贴个例子看看。
mzg3
2004-05-10
打赏
举报
回复
up
halk
2004-05-09
打赏
举报
回复
1. 我以为最好还是不用对象(类实例),而用缓冲区。当然,如果对象只包含数据成员(int, char等基本数据类型,非对象非数组),或者你只对其中的数据成员感兴趣,还是可以的。
2. 不必。MapViewOfFile后得到映射的指针,然后你要访问的地址偏移量是多少,就直接定位到那里就行了。
li_zero
2004-05-09
打赏
举报
回复
对象的存取,需要实现相应的方法,就好像要把一个对象存储到文件里,然后再读出这个信息并根据此创建新的对象,类似Serialize方法
li_zero
2004-05-09
打赏
举报
回复
关注
榕树_
2004-05-09
打赏
举报
回复
又学到不少东西
ymbymb
2004-05-09
打赏
举报
回复
参考下面链接,
http://expert.csdn.net/Expert/topic/2992/2992748.xml?temp=.8207056
调用CreateFile时,如果文件名为NULL, 则在内存里创建文件映射对象,效率不错!
fzd999
2004-05-09
打赏
举报
回复
实现共享内存,其实并没有什么特别的限制,关键在于两个进程之间的权限整合。
这么说,假如创建共享内存文件的程序是Service权限,而一个运行在user权限下的进程就不可能去打开这个内存文件。这个问题可以通过改写DACL实现,不过比较复杂。
new021
2004-05-09
打赏
举报
回复
可以使用IPC中的共享内存的方法
lide19
2004-05-08
打赏
举报
回复
那么这么说来: 共享对象 几乎就不可能了。我只能把数据按照一维数组或指针分段存入。然后程序建立的对象封装对共享区域的指针的操作。是这样吗?
此外,还有一个问题,如果从共享区域读出,每次我都要从头开始读还是可以从中间任意指针位置随意读取? 我想我应该可以保存这些分段区域的指针位置吧,然后我就可以直接从该指针向后读了。对吗?
halk
2004-05-08
打赏
举报
回复
CreateFileMapping得到映射对象句柄后,
MapViewOfFile得到共享区域的指针,读/写就用这个指针就行了。strcpy memcpy什么的都可以使用。
写入对象似乎不妥。对象中的方法对应的代码,在不同的进程中可能处在不同的区域,即便共享了对象也不一定都能正确调用其中的方法。
lide19
2004-05-08
打赏
举报
回复
请问二位大侠你们向内存映射文件写入和读取一般用什么函数? 我想把几个类的对象写入,然后另外一个程序调用读出。这样频繁读取是否会效率慢。不能直接就在内存映射文件内存中直接创建对象吗?
NowCan
2004-05-08
打赏
举报
回复
没有2个实例的问题。
一个程序用CreateFileMapping创建FileMapping,用MapViewOfFile得到内存地址,另一个程序再用这个函数时就能得到前面创建的FileMapping了。然后用MapViewOfFile就可以得到内存地址了。
guoj1997
2004-05-08
打赏
举报
回复
使用内存映射文件
CreateFile
CreateFileMapping
MapViewOfFile
专用GPU
内存
和
共享
GPU
内存
的意思分别是什么,区别是什么,作用是什么
本文介绍了专用GPU
内存
和
共享
GPU
内存
。专用GPU
内存
是独立显卡用于处理图形
数据
的独立存储区域,
共享
GPU
内存
是集成显卡从系统
内存
划分出的显存。二者在独立性、性能、容量可调整性上有区别,专用适用于高要求场景,
共享
用于低要求场景或作备用。
深入解析Docker容器
共享
内存
优化:从基础配置到实战调优
本文聚焦Docker容器中
共享
内存
(/dev/shm)的诊断与优化,重点解决PyTorch DataLoader因shm不足导致的Bus error问题。涵盖默认限制分析、df和ipcs诊断方法、docker run --shm-size启动配置、运行时动态修改风险操作、DataLoader num_workers/pin_memory/persistent_workers协同调优策略,以及--ipc=host等替代方案。强调shm大小需匹配batch
数据
量×worker数×2~3倍,并兼顾宿主机
内存
约束与多容器资源竞争。
终极Universe资源占用分析:CPU/
内存
/网络优化策略完全指南
本文聚焦Universe——一个用于AI通用智能评测与训练的跨应用平台,深入分析其在CPU(多进程模拟开销)、
内存
(
高分
辨屏幕缓冲)及网络(VNC图像传输延迟)三方面的资源瓶颈,并提出针对性优化策略:动态进程池调整、图像压缩与差分传输、
共享
内存
与LRU缓存等。所有优化均基于核心源码模块(multiprocessing_env.py、numpy_screen.py、vncdriver),面向AI训练场景提升系统吞吐与稳定性。
65%更小的APK和70%更少的
内存
:如何优化我的Android App的
内存
本文讲述了优化Android应用
程序
内存
的重要性,通过改变像素颜色格式、Glide配置、
内存
缓存策略和处理
内存
管理技巧,成功将
内存
使用从
大量
图片时的515MB降至137MB,提升了性能和用户体验。
基于微信小
程序
的考研资源
共享
平台的设计与实现(源码+讲解视频+LW)
本文设计并实现了一款基于微信小
程序
的考研资源
共享
平台,旨在解决考研学生资源获取难、信息分散、交流不畅等问题。平台采用SpringBoot作为后端框架,Vue用于前端开发,MySQL实现
数据
存储,支持资料
共享
、院校查询、在线答疑、备考计划定制等功能,提升备考效率,为学习类小
程序
开发提供实践参考。
进程/线程/DLL
15,466
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章