最近用java和flex交互开发一个餐饮管理系统,涉及到会员卡和ic卡读写器,购买来一套设备,厂家提供了一个windows动态库文件(dll),我需要在java中调用该动态库里的函数,我尝试使用jni调用dll的方法来做,但出现c和java的类型不匹配的问题,java中无法编译和运行通过,不知哪位高手此前做过,提供下帮助,本人是最近刚接触这方面。
解决方案 »
- 关于传值为地址的一个问题
- 为什么StringBuffer没有实现Cloneable接口
- getX()方法调用的时候报错NullPointerException,怎么办啊~
- 写一个方法,令它接受任意对象作为参数,并能够递归打印出该对象所在的继承体系中的所有类。
- JButton组件对鼠标反应不灵敏?
- 初学者!练习JAVA语法又一个程序报错!
- 【关于写文件的简单问题!】
- jdbc获取字段名,个数的问题(解决马上结贴)
- 谁能给我举个画象股票一样的k线的例子?答者给分
- query 怎么将datatable 返回到后台并导出excel
- 请教个问题:怎么向sql2000中写入binary值
- 问个问题,java如何连接tuxedo????
lz参考下
The Java™ Native Interface
Programmer’s Guide and Specificationsun上的。
这个dll既然是windows下用的,那么,java就不能直接用,你还是自己写一个dll文件吧,通过你写的dll文件调用厂家提供的dll文件才行。因为java可以调用的dll文件的出口方法特别怪,名字是java_method_xxx这样以java打头的复杂名字的才行。所以你要把native方法用javah编译成.h头文件,然后用jni写成dll实现这个头文件。在你的实现里,就可以调用厂家的dll文件了,因为dll调dll没有问题的。
https://jna.dev.java.net/