java呼叫C++介面
阿新 • • 發佈:2021-01-26
window下dll檔案
1.引入maven依賴
<dependency>
<groupId>com.sun.jna</groupId>
<artifactId>jna</artifactId>
<version>3.0.9</version>
</dependency>
2.呼叫部分
C++程式碼
java介面類
**
方法名必須一致
**
import com.sun.jna.Library;
import com.sun. jna.WString;
public interface Routeplanning extends Library {
public WString test_cal(WString json);
}
測試
import com.sun.jna.Native;
import com.sun.jna.WString;
public class JnaTest {
public static void main(String[] args) {
Routeplanning routePlanning = (Routeplanning) Native.loadLibrary ("Route_planning",Routeplanning.class);//Route_planning為dll檔名稱,不需要加字尾
String json="{\"name\":\"張三\"}";
WString result=routePlanning.test_cal(new WString(json));
System.out.println(result);
}
}
- dll檔案存放位置
需要存放在path下的任意一個路徑
String path=System.getProperty(“java.library.path”);
4.附加型別對應表
https://www.cnblogs.com/jkguo/p/11262741.html
linux下so檔案
程式碼部分與linux一致
- linux環境下 檔案需放在/lib64資料夾下
- linux檔名為必須為libxxx.so,如libRoute_planning.so,程式碼中載入檔案無需加lib字首