这是我的代码,我已将 .dll 添加到 Java_Home 所在的位置。我有这个错误:
线程“main”中的异常 java.lang.UnsatisfiedLinkError: proiectP.JavatoC.getval(I)I at proiectP.JavatoC.getval(Native Method) at proiectP.JavatoC.main(JavatoC.java:19)
public class JavatoC {
public native int getval(int b);
static {
System.loadLibrary("main");
}
public static void main(String[] args) {
try {
int a;
int b=3;
a= new JavatoC().getval(b);
System.out.println(a);
} catch(Exception e) {
System.out.println(e);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我也试着写a= new proiectP.JavatoC().getval(b)为proiectP是包。它不起作用。
小智 10
似乎库链接没有做对。System.loadLibrary 中存在问题。因为它无法显示所需的方法。
这些是在 Java 中使用本机代码的要求,我不知道哪些没有被观察到:
首先确保native文件是正确的,getval方法必须在那个dll中,name、input、output的规格完全一样。
其次,它正是为此用途而编译的。
最后一个方向正确,名称正确。
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |