java - 从 Java 调用 C++ 函数

标签 java c++ google-app-engine java-native-interface

我正在开发一个 Java 应用程序,我需要在其中调用一些 C++ 函数(来自 Google Talk 库 libjingle)。目标是在 Google App Engine(仅支持 Python 或 Java)上运行它。

我该怎么做?

最佳答案

您需要在您的 Java 代码中定义 native 方法,用于任何您想要在 C++ 中实现并直接访问您的 native 代码的方法。然后在代码上运行 javah,它将为您生成 C 头文件,您需要提供 C++ 实现。

您可以像任何其他方法一样从您的 Java 代码中调用 native 方法,但它们的实现仍然是用 C++ 编写的,并直接与任何其他 native 库对话。

然后您需要设置 java.library.path 系统属性以包含您需要的共享 C/C++ 库:在这种情况下需要 google 库和您自己的 JNI 实现库。

关于java - 从 Java 调用 C++ 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5626787/

相关文章:

java - 访问 Runnable 中的集合时出现 LazyInitializationException

java - 使用 Mybatis 和 ojdbc14.jar 为参数设置 null 时出错

c++ - C++ 数学特殊函数中的 std::complex<>:技术规范或提案

mysql - 谷歌应用引擎NoClassDefFoundError : Could not initialize class com. mysql.jdbc.Driver

java - 通过包名扫描resteasy资源

c++ - 交替使用 std::string 和 QString

c++ - Qt 5.7 将 -std=gnu++11 添加到我的编译器标志,破坏 -std=c++14

python - Google App Engine 应用到私有(private)云

google-app-engine - 在 Google App Engine 中,如何检查 urlsafe 创建的 key 的输入有效性?

java - 将 MaxMind java 类与 ColdFusion 一起使用