调用动态库的 法目前支持多种方式,jni,、jna、jacob、jNative等, jna的上手相对比较方便 ,目前海康提供的sdk ,也是采用jna。
1) 在集成动态库前,先了解下动态库是支持持32位、64位,jdk必须与其保持一致,
2) 是否有依赖其他库,可以使用动态库依赖检查工具具查看,相关依赖的动态库文件是否缺少 ,工具下载链接:https://pan.baidu.com/s/1bAKDhihG9vz8PFDmF2prUg 密码:diol
3) 动态库的接口参数建议使 String , 兼容性比较好,若为结构体的话,复杂度将大大提高,特别是对象嵌套。还有delphi的ShortString对应的是byte[256],其他字段类型见表格,除了字段类型,还有顺序也很关键,否则导致参数错位;
delphi
c/c++
java
ShortString
byte[256]
SmallInt
short
short
LongInt
int
boolean
Integer
int
int
char
wchar_t/char16_t
char
word
unsigned short
short(自行处理符号) 4)若遇到调用方法时提示方法不存在,可能接口文档与动态库的不一致,目前只有查看方法名的工具, 下载链接:https://pan.baidu.com/s/1Icx57EZvsnh-RgsuGm79_w 密码:wiu5