Java调用C++编写的DLL

原理:Jna

JNA(Java Native Access )提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码。开发人员只要在一个java接口中描述目标native library的函数与结构,JNA将自动实现Java接口到native function的映射。

使用方法:

将Jna.jar放置在工程目录下。对着工程右键-Properties-Java Build Path 。选择Libraries。单击Add JARs...。选择你的Jna.jar文件。这样就可以了。

示例:

新建一个Class。名字叫做:dll。这个类主要是为了实现与c++ dll接口的定义。


import com.sun.jna.Library;
import com.sun.jna.Native;

public interface DLL extends Library {
    DLL instanceDll  = (DLL)Native.loadLibrary("dll名字",DLL.class);
    public long  dll函数名(int iType, byte[] pOutInfo);
}


main Class里这样用

public class main {
    public static void main(String[] args){
        byte[] aa=new byte[1024];
        DLL.instanceDll.dLL函数名(3,aa);
        String str = null;
        for (int i = 0; i < aa.length; i++) {
            if (aa[i] == 0) {
                str = new String(aa, 0, i);
                break;
            }
        }
        System.out.print(str);
    }
}

Jna下载:

https://github.com/java-native-access/jna  已下载好的:jna.rar



Java调用C++编写的DLL


本站如无特别说明即为原创,转而告知:(https://iwonmo.com/archives/1126.html)

标签: c++, java, dll, jna

添加新评论