一、 工作环境
1. windows (64位), JDK (64位),dll文件 (64位)
2. Linux (64位), JDK (64位),so文件 (64位)
3. JNA的官方资源路径为https://github.com/twall/jna/
二、 实际操作
1. 在cf.h头文件有如下申明:采用C语言形式接口函数
extern "C"
{
/*
功能 : 初始化
输入参数 name 引擎名称
*/
Public int CreateInst(const wchar_t* name);
}
2. Java调用代码:接口CFJna.java
package 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);
}
3. 测试调用:CFJnaTest.java
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