java解析dll文件心得

java解析C或者C++生成的dll 文件一般有三种方法。

第一种方式:JNI 比较复制也比较原始,不多说了。(因为太复杂了,我也没用)

第二种方式:JNA 这个需要下载jna.jar。需要把dll文件放到与改类同级的文件夹下

然后代码如下:

 // 定义接口CLibrary,继承自com.sun.jna.Library  
    public interface testdll extends Library {  
    String fileName = "UHFReader188.dll";
    String filePath = testdll.class.getResource("").getPath().replaceFirst("/", "").replaceAll("%20", " ") + fileName;
     
    testdll Instance = (testdll) Native.loadLibrary(filePath, testdll.class);
        // CloseSpecComPort为UHFReader188.dll中的一个方法.  
        public int CloseSpecComPort(int l);
    }  
  
    public static void main(String[] args) { 
            int cc =  testdll.Instance.CloseSpecComPort(8090);  
            System.out.println(cc);
    }  

第三种方式:JNative(这个我也没用,也就不多介绍了)


注意:用JNA,还有JNative用的JDK都要是32位的解析的dll文件也是32位的(当时解析64位dll没不成功,说的有什么不对的望大神指点^-^)

你可能感兴趣的:(java设计)