java - 如何在java中访问c++内存映射文件

标签 java c++ interop memory-mapped-files

我有一个 Windows C++ 应用程序,它为经常更新的位图创建内存映射文件。我想访问此内存映射文件以在 Java 应用程序中显示实时图像。我该怎么做?

我知道 FileChannel 可以映射到内存,但我不知道如何访问另一个进程创建的内存映射文件。

我已经在我的 java 应用程序中使用了 JNA,我应该使用它来访问标准的 Windows 内存映射文件功能吗?

或者除了内存映射文件之外,您是否有任何其他解决方案来在 java 中显示来自由单独程序创建的图像的实时图像流?

最佳答案

有一个代码示例 here这就是您想要使用 JNI 从 C++(Win32 内存映射文件)桥接到 Java 的方式。可能会按原样工作,但根据您的情况,可能需要对安全性和线程进行一些清理。

关于java - 如何在java中访问c++内存映射文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4072066/

相关文章:

java - 源代码操作(添加同步块(synchronized block))更改变量范围

java - 在 Kotlin 中实例化一个使用递归泛型的具体 Java 类

c# - 在 IIS 中的第 16 个托管线程上从 COM 库转换到接口(interface)失败(InvalidCastException,WinRT 起源错误 0x80040155)

c++ - 开关函数输入不起作用 (C++)

c++ - 如何比较两个不同的时间值

c# - 在 Windows 10 上隐藏和显示任务栏

java - 为什么 Java 中的加号运算符总是产生 Integer?

java - QuickContactBadge 使应用程序崩溃 :

Java,无法弄清楚如何从回文字符串中删除符号

c++ - 在 Visual Studio 2012 中初始化 vector 的静态常量 vector