Java 呼叫 C/C++ 之 JNA 系列實戰篇 —— 輸入wchar_t* (二)
阿新 • • 發佈:2019-01-07
一、 工作環境
1. windows (64位), JDK (64位),dll檔案 (64位)
2. Linux (64位), JDK (64位),so檔案 (64位)
3.二、 實際操作
1.
在cf.h標頭檔案有如下申明:採用C語言形式介面函式
extern "C"
{
/*
功能 : 初始化
輸入引數 name 引擎名稱
*/
Public int CreateInst(const wchar_t* name);
}
2. Java呼叫程式碼:介面CFJna.java3. 測試呼叫:CFJnaTest.javapackage cn.jna.test; import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.WString; public interface CFJna extends Library { //載入動態資源庫 CFJna library = (CFJna) Native.loadLibrary("TestCF", CFJna.class); //定義要呼叫的方法,與cf.h標頭檔案中定義的函式名一樣 int CreateInst(WString name); }
package cn.jna.test;
import com.sun.jna.WString;
public class CFJnaTest {
public static void main(String[] args) {
int ci = CFJna.library.CreateInst(new WString("cfEnginer"));
System.out.println("ci:"+ci);
}
}
收尾:
請繼續關注,或關注我的新浪微博:微博Abel