【问题标题】:Using JNI in C++, use own .jar in existing JVM or create new JVM在 C++ 中使用 JNI,在现有 JVM 中使用自己的 .jar 或创建新的 JVM
【发布时间】:2016-11-07 08:54:01
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 我对 Matlab 不熟悉。您能否改进您的问题并以更通用的方式解释您的问题?
  • Matlab 只是通过为它自己启动一个 JVM 来产生我的问题,所以我无法在我自己的 .dll 中启动一个 JVM,因为它在 Matlab 进程中运行。

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


【解决方案1】:

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

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

Attach to running JVM

问候, 雷纳

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 2019-10-08
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多