java - 如何使用 JNI 在 Java 中调用 c++ 应用程序
问题描述
我有一个现有的 c++ 应用程序,它有一些 API。我需要在我的 Java 程序中调用这些 API。我尝试在网上查看一些示例应用程序。但大多数人都在创建一个单独的 c++ 应用程序。
例如,在我当前的 c++ 应用程序中,有这个用于 getValue() 的 API。我想使用 JNI 在 Java 中调用这个 getValue() 方法。
这是我试图遵循的参考。 示例代码(helloworld)
我的意图不是重新创建 c++ 应用程序,我只想在我的 c++ 应用程序和 java 程序之间有 JNI 包装器。
如果这个问题有点愚蠢,我真的很抱歉。这是我第一次创建 JNI 包装器。所以我的问题可能有点愚蠢。
目前这是我的 Java 代码的样子:
public native void getValue();
static {
System.loadLibrary(ValueClient);
}
public static void Main(String[] args) {
Value value= new Value();
value.getValue();
}
但问题是,main 应该在另一个 java 文件中。我怎样才能调用 getValue() api而不像上面那样在 Main 中调用它?
解决方案
推荐阅读
- javascript - ReactJS 无法在 rest api 响应中打印嵌套值
- php - 视图不会根据导航栏改变
- java - 无法使用 Ansible 在远程主机中使用基于 java 的命令
- reactjs - Materiall UI Outlined TextField 在移动设备的边框中显示轮廓文本
- python - 是否可以制作“获取根本不重复的值”算法,而不使用排序?(时间复杂度 => O(n)
- google-cloud-platform - 无法通过 Google 云功能中的 VPC 连接器从私有 IP 地址访问 http 服务
- .net - 我想对这个登录方法进行单元测试
- maven - Maven(Surefire) 排除所有单元测试用例但选择运行
- reactjs - 如何使用 react-window List + Infinte Loader 显示用户当前的索引
- spring-boot - 带有 Spring Boot 的千分尺添加自定义指标来计算用户注册