背景:
之前在使用的服务大都是通过JNI调用SDK作为引擎服务, 但是由于类型转换被嫌弃过于麻烦考虑通过JNA来做一定的代替, 减少头文件的封装工作量. 为什么不尝试使用JNR... 因为文档实在是太少了开发起来难度略大...
开发环境:
1. jdk 1.8;
2. spring boot 2.2.5.RELEASE;
3. jna-platform 5.6.0;
4. jnaerator-0.12-shaded.jar (这个是JNA对应代码的生成工具, 自己写很容易出现很多数据类型对应不上的情况, 当然坚持自己写肯定是有助于理解的);
开发步骤:
1. 首先肯定是依赖的引用, jna的关键引用其实就一个
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
<version>5.6.0</version>
</dependency>
2. 生成相关JNA代码, 这里我用的是jnaerator-0.12-shaded.jar, 通过
java -jar jnaerator-0.12-shaded.jar [