Linux系统上java调用C++ so库文件
PART1:
java中使用jna替代jni调用c++/c生成的 dll/so库文件需要做的事项
1、引入JNA依赖或者直接下载JNAjar包
<!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna -->
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>5.2.0</version>
</dependency>
2、编写Java 调用类
PART1:
java中使用jna替代jni调用c++/c生成的 dll/so库文件需要做的事项
1、引入JNA依赖或者直接下载JNAjar包
<!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna -->
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>5.2.0</version>
</dependency>
2、编写Java 调用类
package com.tree.go.util;
import com.sun.jna.Library;
import com.sun.jna.Native;
//继承Library,用于加载库文件 --Class mapping
public interface CPPTest extends Library {
// 加载libhello.so链接库
public static final String JNA_ImgProcess = "hello";
public static final CPPTest instance = (CPPTest)Native.loadLibrary(CPPTest.JNA_ImgProcess,CPPTest.class);
// 此方法为链接库中的方法 function mapping
void test();
int addTest(int a,int b);
//调用,singleton
public static void main(String[] args) {
CPPTest instance =CPPTest.instance;
instance.test();
int c =instance.addTest(10,20);
}
}
##转发与:https://www.cnblogs.com/irobotzz/p/10913221.html ##