如何从C++调用Java函数?

2022-08-31 22:11:17

如何从C++应用程序调用 Java 函数?

我知道从CMD(或类似技术)调用它们,但我宁愿不使用它们。


答案 1

例如,选中从 C 创建 JVM。它显示了创建 JVM 和调用方法的示例过程。如果 JVM 已存在;例如,您的C程序由Java程序调用(回调情况),您可以缓存JNIEnv*指针。

作为建议,小心从C / C++缓存指向JVM的指针,对于可以缓存的内容以及以后可以调用的内容,涉及一些语义。为此,正如Brian Agnew所指出的那样,请查看JNI参考。


答案 2

请查看 JNI 调用接口。这将允许您在 C(或C++)应用程序中嵌入 JVM。

请注意,存在各种更简单的机制来促进从Java调用C / C++(例如JNA)。可能值得考虑反转您的问题,以便您可以Java调用(但是,我知道这对于您的特定应用程序来说很可能是不可能的)


推荐