win32/C/C++ 中共享内存和 IPC 的最快 IN PROCESS 技术

1 c windows dll shared-memory

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

该库必须发布一个可由同一进程中的任何线程查看的表(如果它知道在哪里查找) - 需要明确的是,该表必须可由进程空间中的所有 dll 查看 - 如果它们知道在哪里查找。

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

另外,如果可能的话,我希望避免 PE 中的共享数据段。我想我宁愿使用窗把手。

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

zvr*_*rba 5

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