Java使用JNA调用动态库步骤

java使用JNA调用动态库需要依赖:jna.jar

使用VC6新建一个动态库工程
新建一个.H头文件,并定义方法
如:

#ifndef XXX_H

define XXX_H

extern “C” __declspec(dllexport)
char * getName(char * classRoomNo,char * studentNo);

extern “C” __declspec(dllexport)
int calculate(int price,int count);


然后在CPP文件中实现这些方法
编译工程生成DLL

 

然后使用java编写调用程序

public class getJna{
    //在java中定义一个类并在该类中声明一个借口
    public interface CLibrary extends Library {
            //dllPath为动态库路径,当动态库在工程目录下时,只需动态库名,不需要后缀
            CLibrary INSTANCE = (CLibrary) Native.loadLibrary(dllPath,
                    CLibrary.class);

            //定义动态库中含有,并需要调用的方法
            //方法名需要与动态库中的方法名一致

            String getName(String classRoomNo,String studentNo);

            int calculate(int price,int count);
    }
    //调用:
    public static void main(String[] args) throws Exception {

            String name = CLibrary.INSTANCE.getName("XXX","YYY");

            int result = CLibrary.INSTANCE.calculate(10,100);
    }
}

你可能感兴趣的:(Java使用JNA调用动态库步骤)