Java 调用 C/C++ 之 JNA 系列实战篇 —— 输入wchar_t* (二)

来源:互联网 发布:php前景 知乎 编辑:程序博客网 时间:2024/04/28 01:25

一、 工作环境

            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




0 0