日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于JAVA调用dll的学习总结

發(fā)布時間:2025/4/17 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于JAVA调用dll的学习总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

首先是背景:
1.程序猿小明要使用Java程序來調(diào)用IC讀卡器,由于Java沒有相關(guān)方法直接調(diào)用讀卡器,目前只有C或C++語言能調(diào)用讀卡器的驅(qū)動來控制讀卡器,因此得先使用C或C++寫完操作函數(shù),封裝成dll的形式供Java調(diào)用。但是直接使用C++生成的DLLJava并不能調(diào)用,所以得通過jni。

要怎么做呢?
1.第一步不是直接寫dll然后生成dll然后再寫Java類直接調(diào)用!!!這跟C++使用動態(tài)鏈接庫是有區(qū)別的!
2.那第一步不寫DLL那是干嘛呢?那肯定是寫Java類了!首先是規(guī)劃好并寫一個Java類,要生成一個Java可以使用的DLL必須由這個Java類來生成。這個Java類這個類負(fù)責(zé)調(diào)用DLL,也就是調(diào)用這個類里邊的方法就可以調(diào)動讀卡器。特別需要注意的是什么呢,生成的Java的DLL也不像C++的DLL一樣,誰都可以使用,由一個JAVA類生成的DLL只有這個Java類才可以調(diào)用這個DLL!
3.至于第二步為什么使用“規(guī)劃”這個詞也是以上的原因,因為一旦DLL生成了以后呢,如果到時候你覺得可以調(diào)用讀卡器的這個類的包名起的不好、或者說類名取得不好,或者是里邊關(guān)于調(diào)用讀卡器的方法名取得不好,你想改一改這些名稱,對不起,這個類已經(jīng)跟DLL綁定在一起了,只有這個類才可以調(diào)用DLL,要是這個類有變動,那么它就不能調(diào)用這個DLL了!那生成的DLL就廢了,只能重新做另外一個DLL。
4.所以說這個類很重要,那這個類怎么寫呢?既然是一個Java類,那大體還是跟普通的Java類是一致的。如以下:

5.生成類以后那肯定是編譯了,假設(shè)該類為ABC.java,使用javac命令把這個類編譯成ABC.class文件。
6.生成ABC.class文件以后,使用javah命令處理這個ABC.class文件,javah也是jdk自帶的工具,也放在jdk的bin目錄下,處理這個ABC.class文件了會生成ABC.h文件。這個ABC.h文件就是生成DLL的關(guān)鍵了,接下來的步驟跟使用C++寫DLL就比較像了,注意這個ABC.h文件里邊記載了ABC.java的方法聲明,還有包路徑信息。所以說DLL和這個類綁定在了一起。不能誰都使用。大致如下:

7.接著就是C++編寫動態(tài)鏈接庫的方式了,首先通過vs創(chuàng)建一個DLL工程,DLL工程的項目名就是DLL的名了(可以跟ABC不一樣,上面說的好像不一樣也可以,現(xiàn)在把“好像”去掉),頭文件就不用寫了,因為上邊已經(jīng)生成了ABC.h頭文件,直接引入即可,同時還需要導(dǎo)入兩個頭文件,jin.h和jni_md.h。這兩個文件都在jdk中的include文件夾下,把它們復(fù)制到項目中。

8.既然頭文件搞好了,那就開始寫cpp文件了,具體的就跟c++寫函數(shù)實現(xiàn)一樣了,就實現(xiàn)在ABC.h中聲明的那些函數(shù)即可。也就是操作讀卡器的代碼。

9.寫完后就可以生成了,生成成功后會在DLL底下生成DLL文件,把DLL放在你的JAVA項目下,就可以通過調(diào)用ABC.java的方法來操作讀卡器咯。至于放到項目的哪里,應(yīng)該都可以吧,如果使用eclipse等開發(fā)工具,可以配置庫的位置,如果不用任何開發(fā)工具,最好放在最外層的包相同等級的文件夾下吧,或者放在jdk的庫里邊,反正到時候運(yùn)行報錯了會有提示說在xxx;vvv;bbb;找不到庫,只要把這個dll放在這些其中任意一個地方就好了。

純屬個人理解,如有錯誤,歡迎指正!

學(xué)習(xí)資料來源:
Java通過JNI調(diào)用C++的DLL文件

Java調(diào)用第三方dll

這是一個完整的小demo

總結(jié)

以上是生活随笔為你收集整理的关于JAVA调用dll的学习总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品在线播放视频 | 国产午夜精品一区二区三区四区 | 天天躁日日躁狠狠躁喷水 | 在线中文字幕亚洲 | 熟女高潮一区二区三区 | 日本一区免费电影 | 精品夜夜澡人妻无码av | 伊人成综合 | 国产破处视频 | 黄网在线免费观看 | 欧美sm凌虐视频网站 | 日本大乳美女 | 欧美日韩黄 | 日韩动漫av | 美女大黄网站 | 国产香蕉久久 | 精品在线视频免费观看 | 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 日韩欧美一区二区三区视频 | 久久发布国产伦子伦精品 | 亚洲爱爱av | 黄在线观看免费 | 欧美成人激情视频 | 日韩久久精品一区二区 | 亚洲成人婷婷 | 青青草狠狠干 | 亚洲人人干 | 久久黄色一级视频 | 全黄一级播放 | 成人久久国产 | 日韩少妇高潮抽搐 | 国产午夜精品一区二区三区视频 | 粉嫩av一区二区三区免费观看 | 成人网一区| 久久精品国产精品亚洲色婷婷 | 久操av| 成人精品网 | 亚洲乱轮| 中文精品久久久久人妻不卡 | 亚洲妇女av| 魔女鞋交玉足榨精调教 | 精品久久中文 | 国产日韩一区 | 国产精品一区二区av白丝下载 | 色偷偷av一区二区三区 | 国产白浆一区二区 | 色婷婷av一区二区三区麻豆综合 | 三级第一页 | 国产精品99久 | 国模私拍在线 | 东北少妇不戴套对白第一次 | 日本午夜小视频 | 亚洲区一区二区三区 | √天堂 | 韩国性经典xxxxhd | 天天爱综合 | 色屁屁www | 朝桐光av一区二区三区 | 夜夜草导航 | 色呦呦免费 | 中文字幕av高清 | 一个色综合久久 | www.奇米| 一级欧美视频 | 日本欧美中文字幕 | 91偷拍网站| 日日夜夜综合 | 性欧美video另类hd尤物 | 国产精一区 | 就操网 | 亚洲精品在线免费播放 | 国产精品电影在线观看 | 亚洲免费观看高清完整版在线 | 女人久久久 | 日韩在线观看 | 贝利弗山的秘密在线观看 | 真性中出 | 在线观看国产91 | 密臀av在线| 熟女毛毛多熟妇人妻aⅴ在线毛片 | 久久国产一级片 | 欧美18一20男同69gay | 四虎三级| 下面一进一出好爽视频 | av青青草原 | 欧美日韩在线视频一区二区三区 | 99er这里只有精品 | 精品亚洲一区二区三区四区五区高 | 超碰人人在线观看 | 午夜精品久久久久久久久久 | 一区二区三区免费观看视频 | 狠狠躁18三区二区一区传媒剧情 | 亚洲欧美日韩一区二区三区四区 | 久久伊人成人 | 伊人黄色片 | 中文字幕第15页 | 隔壁邻居是巨爆乳寡妇 | 99精品网站 | 裸体裸乳免费看 |