【发布时间】:2023-03-31 21:30:01
【问题描述】:
我的目标是将数据从 C++ 进程传递到 Java 进程,然后接收返回的结果。
我已经通过命名管道实现了这一点,但我更愿意共享数据而不是传递或复制它,假设访问会更快。
最初,我想用 C++ 创建一个可以用 Java 读写的共享段,但我不确定这是否可以通过 JNI 实现,更不用说安全了。
我相信在 Java 中可以使用 ByteBuffer.allocateDirect 分配内存,然后使用 GetDirectBufferAddress 访问 C++ 中的地址,但如果我是正确的,这是针对 JNI 中的本机调用,我无法在我的 C++ 进程?
迷路了。
非常感谢。
【问题讨论】:
标签: java c++ java-native-interface shared-memory