【发布时间】:2021-03-23 17:56:00
【问题描述】:
我必须访问 .exe 中的对象,该对象创建并存储在 .dll 的地址空间中。有很多答案提到 IPC 作为解决方案,但我不确定它如何提供帮助。 IMO,IPC只是进程之间的消息“聊天”,可以通过在调用方(.exe)重新创建它们来共享原语。我无法重新创建该对象,因为它是由 .dll 端的某个第三方库创建的,如果我共享原始内存并且只是 reinterpret_cast 它,它可能是一个无效对象。我也不能共享指向该对象的指针,因为它只会共享虚拟内存地址,这在调用方可能是垃圾。我不想静态链接我的库。我该怎么办?
【问题讨论】:
-
"_ 我也不能共享指向该对象的指针,因为它只会共享虚拟内存地址,而这在调用方可能是垃圾。_" 为什么会这样?
-
@underscore_d 是的,你是对的。我真的需要读一些关于操作系统中内存组织的书
标签: c++ ipc shared-memory