JAVA 调用dll

来源:互联网 发布:书单推荐 知乎 编辑:程序博客网 时间:2024/06/05 21:53

package com.safein.main;

import com.sun.jna.Library;
import com.sun.jna.Native;

public class Test {

public interface CLibrary extends Library{
//接口实例
CLibrary INSTANCE = (CLibrary)Native.loadLibrary("cbtest.dll",CLibrary.class);
// CLibrary INSTANCE = (CLibrary)Native.loadLibrary("dllTest.dll",CLibrary.class);
// CLibrary INSTANCE = (CLibrary)Native.loadLibrary("Win32ProjectTest.dll",CLibrary.class);

// int add(int a,int b);
String hello();
}


public static void main(String[] args) {

// System.setProperty("jna.encoding", "GBK");
// 首先定义指针,开辟内存空间,这里的内存空间根据返回的字符串来决定
// Pointer p = new Memory(1024) ;

// System.out.println(CLibrary.INSTANCE.add(1,2));
System.out.println(CLibrary.INSTANCE.hello());;
// CLibrary.INSTANCE.hello();

// for(int i=0, sumi=11; i< sumi; i++){
// System.out.print((char) p.getByteArray(0, 11)[i]);
// }
// System.out.println("\n");
}
}

用到了一个jar  jna-4.0.0.jar  经测试一切正常
0 0