社区
进程/线程/DLL
帖子详情
高分求助:如何在程序间共享大量内存数据
lide19
2004-05-08 05:22:55
我现在要做2个程序,一个程序负责把大文件读到内存生成一块区域。我们的机器内存很大按GB计。该程序一直运行。
另外一个程序访问上个程序创建的内存区域。根据这些数据该程序对输入的文件操作并输出结果。
问高手如何实现?我用VC6 或VC.net
我知道 Win32有 内存映射文件方法共享内存,但是好像要是一个程序的2个实例。是否这样?该方法还有哪些限制?如果是不同程序间共享,有其他方法吗?
多谢UP者,送1分!
...全文
72
15
打赏
收藏
高分求助:如何在程序间共享大量内存数据
我现在要做2个程序,一个程序负责把大文件读到内存生成一块区域。我们的机器内存很大按GB计。该程序一直运行。 另外一个程序访问上个程序创建的内存区域。根据这些数据该程序对输入的文件操作并输出结果。 问高手如何实现?我用VC6 或VC.net 我知道 Win32有 内存映射文件方法共享内存,但是好像要是一个程序的2个实例。是否这样?该方法还有哪些限制?如果是不同程序间共享,有其他方法吗? 多谢UP者,送1分!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
软考中级网络工程师学习笔记(知识点汇总)普通版
考试科目1:计算机与网络知识 1.计算机系统知识 第二章
数据
通信 (1)
数据
通信******两个实体
间
的
数据
传输和交换。 2. 1
数据
通信技术 2.1.1 模拟
数据
通信和数字
数据
通信 (2) 模拟
数据
******在某个区
间
为连续的值的
数据
(3) 数字
数据
******在某个区
间
为离散的值的
数据
(4) 模拟、数字
数据
之
间
的相互转换问题? 模拟
数据
通过编码解码器(CODEC)转...
w~自动驾驶合集9
自动驾驶(AD)旨在通过创建能够准确感知环境、做出智能决策并在没有人类干预的情况下安全行驶的车辆,彻底改变交通系统。由于令人激动的技术发展,各种自动驾驶产品已在多个领域实施,例如无人出租车。这些对自动驾驶的快速进展在很大程度上依赖于
大量
的
数据
集,这些
数据
集帮助自动驾驶系统在复杂的驾驶环境中变得稳健可靠。近年来,自动驾驶
数据
集的质量和种类显著增加。
数据
集开发的第一个显著现象是各种不同的
数据
收集策略,包括通过仿真器生成的合成
数据
集和从真实世界记录的
数据
集等。
TowardsDataScience 博客中文翻译 2016~2018(一百四十八)
随着
数据
量呈指数级增长,我们无法在电脑
内存
中容纳我们的
数据
,甚至我们的模型。我们都买不起高端组装台式机。例如,最近的 kaggle竞赛的
数据
集无法容纳在 kaggle 内核或 Colab 的 17GB
内存
中。它有将近 200 万行,最重要的是,一些列有非常大的 JSON
数据
作为字符串。我们应该如何解决这个问题?我们可以向谁
求助
呢?增量学习和/或 Dask 来拯救!你可能已经知道神经网络本质上是增量学习器,所以我们可以在那里解决这个问题。许多sklearn的模型提供了一种叫做。
Hugging Face系列1:详细剖析Hugging Face网站资源——models/datasets/spaces
本篇主要介绍Hugging Face。它的核心产品是Hugging Face Hub,这是一个基于Git进行版本管理的存储库,已托管
大量
模型、
数据
集及Spaces应用。另外,Hugging Face还开源了一系列的机器学习库和界面演示工具Gradio。Hugging Face设计开发了很多学习资源,比如与NLP、扩散模型及深度强化学习等。本篇还介绍了
大量
Spaces应用,如IDM-VTON、IC-Light、LLM Leaderboard及stable-diffusion-xl-base/refiner等。
车路云一体化是什么?
“车路云一体化”是指在智能交通系统中,车辆、道路基础设施和云计算平台之
间
的深度融合与协同工作。这种系统的目标是通过实时的
数据
采集、传输和处理,提高交通效率、安全性和用户体验。以下是车路云一体化的几个关键要素:智能车辆:配备了传感器、摄像头、GPS和通信设备,可以实时收集自身状态和周围环境的
数据
。这些
数据
可以包括车辆的速度、位置、加速度、方向、车内乘客的情况以及外部的路况、天气等信息。智能道路基础设施:包括智能交通信号灯、路边单元(RSU)、摄像头、雷达和其他传感器。这些设施可以监测交通流量、检测事故、提供交
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章