Spring调用dll的实现
JNA简介
JNA全称Java Native Access,是一个建立在经典的JNI技术之上的Java开源框架(https://github.com/twall/jna)。JNA提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码。开发人员只要在一个java接口中描述目标native library的函数与结构,JNA将自动实现Java接口到native function的映射。
JNA的难点是编程语言之间的数据类型不一致,以及只能实现JAVA单向调用C的dll文件。
VS实现动态链接库DLL
创建DLL

pch.h
1  | // pch.h: 这是预编译标头文件。  | 
pch.cpp
1  | // pch.cpp: 与预编译标头对应的源文件  | 
生成DLL文件

Spring调用DLL
添加gradle依赖
1  | // JNA依赖  | 
注意
dll文件是64位的话,就要用64位的jdk!dll文件是32位的话,就要用32位的jdk!
编写调用接口
1  | public class DllService {  | 
连接调用
1  | public class DllConnect {  | 
输出结果
