java調(diào)用dll方法總結(jié)
常用的就是jni,jnative(基于jni封裝了自己的jar包) 注意:java調(diào)用dll,必須dll里做了對(duì)應(yīng)的處理。列如:方法名必須為_java_包名_類名_方法名
使用JNI調(diào)用dll步驟
新建一個(gè)java項(xiàng)目,將dll文件放入src下
配置改項(xiàng)目環(huán)境jre下native目錄,指向src
項(xiàng)目jdk一定不要用eclipse自帶的,用自己安裝的jdk路徑
按照dll里的目錄順序新建目錄及類
聲明跟dll里一樣的方法,方法前加native關(guān)鍵字(注意參數(shù)類型)
代碼靜態(tài)塊里寫(不要后綴):
static {
System.loadLibrary("testDll");
}
之后寫main方法就可以調(diào)用了。如有報(bào)錯(cuò),注意觀察報(bào)錯(cuò)信息,可能會(huì)缺少依賴dll文件
簡(jiǎn)單封裝JNI
簡(jiǎn)單封裝一個(gè)調(diào)用dll的類
代碼可以在資源共享,我的代碼中下載
調(diào)用代碼(主要是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("load testDll.dll success!!");
} catch (Exception e) {
System.out.println("testDll.dll error:" + e.getMessage());
}
}
以上就是本次文章的全部?jī)?nèi)容,更多的內(nèi)容大家可以在腳本之家搜索,感謝你的支持。
相關(guān)文章
IntelliJ IDEA 2019.3激活破解的詳細(xì)方法(親測(cè)有效,可激活至 2089&
本教程適用于 JetBrains 全系列產(chǎn)品,包括 Pycharm、IDEA、WebStorm、Phpstorm、Datagrip、RubyMine、CLion、AppCode 等,本教程無需修改 hosts 文件,對(duì)IntelliJ IDEA 2019.3激活破解的詳細(xì)方法的相關(guān)知識(shí)感興趣的朋友一起看看吧2020-09-09
java遞歸實(shí)現(xiàn)樹形結(jié)構(gòu)數(shù)據(jù)完整案例
遞歸算法的代碼比較簡(jiǎn)潔,可讀性較好;但是在實(shí)際的業(yè)務(wù)處理中會(huì)出現(xiàn)多次的重復(fù)調(diào)用,如果處理不好,很容易出現(xiàn)StackOverflowError報(bào)錯(cuò),這篇文章主要給大家介紹了關(guān)于java遞歸實(shí)現(xiàn)樹形結(jié)構(gòu)數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2023-04-04
java split結(jié)果去除空字符串的方法實(shí)現(xiàn)
在Java開發(fā)中,我們經(jīng)常需要對(duì)字符串進(jìn)行分割操作,本文主要介紹了java split結(jié)果去除空字符串的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10
Bean?Searcher配合SpringBoot的使用詳解
這篇文章主要介紹了Bean?Searcher配合SpringBoot的使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
教你如何測(cè)試Spring Data JPA的Repository
Spring Data JPA 提供了一些便捷的方式來測(cè)試這種持久層的代碼,常見的兩種測(cè)試類型是集成測(cè)試和單元測(cè)試,本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-08-08
使用String類型小數(shù)值轉(zhuǎn)換為L(zhǎng)ong類型
這篇文章主要介紹了使用String類型小數(shù)值轉(zhuǎn)換為L(zhǎng)ong類型操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09

