首页 > 解决方案 > C ++共享内存并从另一个可执行文件调用一个可执行文件中的函数?

问题描述

这可能是一个基本问题,但我是 C++ 新手,我无法在网上找到答案,我想是因为我不知道要准确搜索什么。

对于我的项目,我有一个 C++ 中的数据结构,它本质上是一个非常大的 3D 模型,存储在内存中的大小为 GB。我编写了一个程序来存储和操作这个庞大的 3D 模型。

我希望第三方能够编写自己编译的可执行文件,这些可执行文件链接到我自己的可执行文件,并且可以直接在其上调用某些函数,例如渲染 3D 模型,而无需序列化数据并来回传递. 所以基本上我希望第三方可执行文件能够连接或链接到我的可执行文件,所以它们的操作有点像我的程序是一个库,它是该程序的一部分,即使它实际上是一个单独的运行进程。他们应该能够调用函数,甚至(如果允许)从我的进程访问内存(我可以传递对内存位置的引用并且他们像自己的引用一样使用该引用吗?)堆中的变量可以跨程序共享吗?另一个正在运行的进程可以在一个进程中调用函数吗?

那有意义吗?我在哪里可以学习如何做到这一点?

标签: c++

解决方案


推荐阅读