Java和C ++之间的共享内存

问题描述 投票:4回答:1

我正在尝试用C ++创建一些内存并用Java访问它。在C ++方面,我知道我可以使用shm_openmmap来获取内存区域并将一些数据写入其中。但是,如何在Java端打开内存映射文件?有人建议使用MappedByteBuffer但是如何访问提供给shm_open的“路径”(它只存在于内存中,因此无法从中初始化File)。我可以不使用JNI吗?

java c++ shared-memory mmap
1个回答
2
投票

在Linux环境下,共享内存有特殊的内存段:

/dev/shm

shm_open中提供的名称(例如“elo320”)用于创建文件

/dev/shm/elo320

此路径可以在Java中使用。

© www.soinside.com 2019 - 2024. All rights reserved.