这是我第一次在这里发布问题,我通常会在存档中找到答案,但这次我被难住了。
我正在使用来自使用 Windows 驱动程序工具包的供应商的一些代码从操纵杆上获取数据。数据是一个有 6 个元素的数组形式(它是一个 6 自由度的鼠标)。
我已经编写了需要获取数据的代码,它是用 C++ 编写的……它大量使用标准库和向量,等等。似乎将标准库与 WDK 一起使用是一件令人头疼的事情,我花了几天时间试图开始工作但失败了。我的下一个想法是使用 boost::interprocess ,但出于同样的原因,这很难与 WDK 一起使用。
我想知道是否有办法在 C 进程和 C++ 进程之间共享内存。我想使用 C 程序将数组写入内存并从 C++ 程序中读取。它需要非常快地发生,并且应该有一种方法来确保我不会在写入过程中读取它(互斥体?)。
欢迎任何想法或建议。
编辑 我创建了一个 DLL,现在我只有一个 DLL,它有一个 getValues() 函数,我可以从我的 C++ 项目中调用它。我不得不使用 pimpl 成语来隐藏 c 的东西。谢谢你们的帮助!!