java - 在 C++ 中使用 JNI,在现有 JVM 中使用自己的 .jar 或创建新的 JVM

标签 java c++ matlab jvm java-native-interface

我正在尝试使用此相机的 Java API 为 3D 相机创建一个 Matlab IMAQ 适配器。

所以我在处理与相机的连接时为 Matlab 创建了一个 .dll。里面有Matlab需要的特定函数,我想调用API的Java函数来连接设备,进行图像采集。

我的问题是 Matlab 已经启动了一个 JVM,所以我不能直接在适配器中启动一个 JVM,因为在这种情况下我会尝试在一个进程中运行两个 JVM

所以我的问题是,哪种方法更好:

  • 在适配器中创建一个新进程以启动一个新的 JVM,该 JVM 将加载类路径中使用的 .jar 文件。
  • 附加到由 Matlab 启动的正在运行的 JVM,并在正在运行的 JVM 中加载我需要的 .jar。

最佳答案

首先。感谢您更新您的问题 - 对我来说没有意义。

我宁愿附加到正在运行的 JVM。也许这可以帮助你。

Attach to running JVM

问候, 雷纳

关于java - 在 C++ 中使用 JNI,在现有 JVM 中使用自己的 .jar 或创建新的 JVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40461130/

相关文章:

c++ - 如何在 C++ 预处理器定义中获取 CMake 可执行文件名称

c++ - 使用 C++ 播放 avi

windows - Matlab - 如何限制对资源的访问

r - 从 Matlab 调用 R

Java JLabel 背景颜色不起作用?

JavaFX FXML Controller ClassNotFoundException

java - 将受限站点添加到 Windows Internet 选项

c++ - C++中异常的使用

matlab - 当有多个轴时,如何从一个 y 轴上删除值?

java - 实例化二叉树中的根的问题