你好,请教你一个问题,如何在普通的java类里能成功加载dll 并调用里面的函数
2个回答
展开全部
public class DiskID {
static {
System.loadLibrary("DiskID");
System.loadLibrary("DiskID32");
}
/**
* 获得硬盘序列号
* @return
*/
public static native String getDiskID();
/**
* 获得硬盘厂家
* @return
*/
public static native String getFactory();
public static void main(String[] args) {
System.out.println(">>" + DiskID.getDiskID() + "<<");
System.out.println(">>" + DiskID.getFactory() + "<<");
}
}
类似于这种代码就可以,但是要求dll必须符合jni的要求才行,
static {
System.loadLibrary("DiskID");
System.loadLibrary("DiskID32");
}
/**
* 获得硬盘序列号
* @return
*/
public static native String getDiskID();
/**
* 获得硬盘厂家
* @return
*/
public static native String getFactory();
public static void main(String[] args) {
System.out.println(">>" + DiskID.getDiskID() + "<<");
System.out.println(">>" + DiskID.getFactory() + "<<");
}
}
类似于这种代码就可以,但是要求dll必须符合jni的要求才行,
更多追问追答
追问
是不是就这样就ok了,要不要其他操作
追答
1.这是用的jni方式调用本地dll代码,注意jni只能调用c/c++编写的dll,且要遵循jni的语法要求
2.上面这个类的包路径必须和dll里面的路径一致
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询