c - 在 win32/C/C++ 中共享内存和 IPC 的最快进程技术

标签 c windows dll shared-memory

我正在编写一个导出标准化接口(interface) (VST) 并由外部应用程序托管的实时库。

库必须发布一个表,该表可以被同一进程中的任何线程查看(如果它知道在哪里查看)——明确地说,这个表必须可以被进程空间中的所有 dll 查看——如果他们知道在哪里查看看。

访问表必须很快。虚拟内存似乎有点矫枉过正,我考虑过使用窗口句柄(现在仍然可以)来消息泵,但我更喜欢一种更快的方法,如果有的话。

此外,PE 中的共享数据段是我希望尽可能避免的。我想我几乎宁愿使用窗口句柄。

我目前不关心同步,事后我可以处理。我只是想要一些关于在进程空间内发布表的最快技术的建议。

最佳答案

你似乎很困惑。同一进程中的所有线程共享相同的地址空间,因此您不需要任何形式的 IPC:如果线程知道表的地址,它就可以访问它。

关于c - 在 win32/C/C++ 中共享内存和 IPC 的最快进程技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9085650/

相关文章:

c - 确定 __m256 值的跨 SIMD channel 的最小值

C++ 线程安全双向链表

java - 分析和检查由 Java 加载的 DLL 中的内存分配

c++ - FatFS - 我可以创建多个搜索位置吗?

C 中的命令行参数整数错误检查

c - 如何将 long double 与 qsort 以及 NaN 进行比较?

c++ - 如何在 Windows 上禁用 LDAP 身份验证的证书验证?

windows - 如何在 Windows 上从 code.google 克隆项目

c++ - 我正在用 C++ 创建一个 DLL,但它给我一个持久性错误

java - 在 Java 中使用已编译的 DLL 与 SWIG 和 Visual Studio 2015