我正在做一个需要集成 2 个仿真软件包的项目;就像一个的输出将用作另一个的输入,反之亦然。信息交换发生在模拟的每个时间步,所以它发生得非常频繁。两个仿真包都支持插件:一个支持用 C 编写的插件,另一个支持用 C++ 编写的插件。有没有一种优雅的方式来集成这两个插件以使软件包相互通信?我考虑过将文件读/写到硬盘,但我希望有更好的方法来做到这一点。
谢谢大家!
我正在做一个需要集成 2 个仿真软件包的项目;就像一个的输出将用作另一个的输入,反之亦然。信息交换发生在模拟的每个时间步,所以它发生得非常频繁。两个仿真包都支持插件:一个支持用 C 编写的插件,另一个支持用 C++ 编写的插件。有没有一种优雅的方式来集成这两个插件以使软件包相互通信?我考虑过将文件读/写到硬盘,但我希望有更好的方法来做到这一点。
谢谢大家!
SOAP 或 RESTful 服务是一种选择吗?这适用于 C 和 C++
您绝对可以使用文件来执行此操作,但我不建议将它们写入磁盘,而是使用Memory-mapped file。有几个库可以实现此功能,例如Boost C++。Java有FileChannel
处理它的类