English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Am häufigsten verwendet wird JNI, jnative (basiert auf JNI und hat eigene Jar-Pakete entwickelt) Hinweis: Wenn Java DLL aufruft, muss in der DLL eine entsprechende Verarbeitung durchgeführt werden. Zum Beispiel: Der Methodenname muss _java_Paketname_Klassenname_MethodeName sein.
Schritte zur JNI-Aufrufung von DLL
Erstellen Sie ein neues Java-Projekt und legen Sie die DLL-Datei in das Verzeichnis src ab.
Konfigurieren Sie das native-Verzeichnis unter dem JRE-Verzeichnis des Projekts, um auf src zu verweisen.
Das JDK für das Projekt sollte niemals das JDK von Eclipse verwendet werden, sondern das JDK, das selbst installiert wurde.
按照dll里的目录顺序新建目录及类
声明与dll里一样的方法,方法前加native关键字(注意参数类型)
代码静态块里写(不要后缀):
static { System.loadLibrary("testDll"); }
之后写main方法就可以调用了。如有报错,注意观察报错信息,可能会缺少依赖dll文件
简单封装JNI
简单封装一个调用dll的类
代码可以在资源共享,我的代码中下载
调用代码(主要是static块代码变了),DllUtil这块代码在共享里下载
static { try { DllUtil.extractFromJar("testDll.dll", "testDll.dll", System .getProperty("java.io.tmpdir")); System.load(System.getProperty("java.io.tmpdir") + "\\testDll.dll"); System.out.println("加载testDll.dll成功!!"); } catch (Exception e) { System.out.println("testDll.dll错误:" + e.getMessage()); } }
以上就是本次文章的全部内容,更多的内容大家可以在呐喊教程搜索,感谢你的支持。
声明:本文内容来源于网络,版权归原作者所有。内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#oldtoolbag.com(在发送邮件时,请将#替换为@进行举报,并提供相关证据。一经查实,本站将立即删除涉嫌侵权内容。)