最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

10.6 番外:java調(diào)用動態(tài)庫文件dll(附帶糾正上個視頻遺漏)

2023-04-11 22:47 作者:平淡的半杯水  | 我要投稿

視頻講解:嗶哩嗶哩

哈哈哈哈,大家有沒有迫不及待的,去調(diào)用我們自己制作的,好的,我們開始吧~


首先看下,我們制作的兩個dll文件,一個是C的,有一個是C++

他們調(diào)用的方法都以一樣的,沒什么區(qū)別,我們先來調(diào)用t1.dll吧


首先,我們打開之前用來創(chuàng)建頭文件所寫的Java文件,完善它??!

附上之前的代碼是這樣的

class T1{

????????????public native void say();?

}


我們來給他添加一個靜態(tài)代碼塊

????class T1{

????????????public native void say();

????????????static{


????????????}

????}


在這代碼塊里,寫什么呢。調(diào)用一個載入的方法

我們可以清楚的看到,api中就有記載了,猶豫什么,照著干,就這么簡單,給他一個路徑,動態(tài)的庫路徑?。?!


? ? class T1{

????????????public native void say();

????????????static{

????????????????????????System.load("F:\\項目代碼\\java2\\T2\\t1.dll");

????????????}

????}


好的喲,我們了自己的類,那么還等什么,建一個主函數(shù),開始創(chuàng)建對象,然后調(diào)用唄

如果正常運行的話,就成功啦,但是,我們之前埋了一個雷,它會出現(xiàn)這個錯

我們來看下

UnsatisfiedLinkError

意思是指找不到指定模塊,問題出在哪里呢

我們來來看下

錯誤就在這里,各位朋友,我們這個? ?方法是哪里來的,是不是要告訴下編譯器下

是的引入我們之前創(chuàng)建的頭文件? ?。。。。。。。?!

好的,我們從新來制作下dll文件

具體為什么這么寫,詳看上一篇文章

好了,我們在調(diào)用下

很好,成功調(diào)用了,依葫蘆畫瓢,我們來調(diào)用c++生成的文件,記得先引入缺少的頭

文件,這邊還要注意的是,代碼依舊寫在T1.java ,不能另外開一個,因為我們頭文件是根據(jù)T1.Java來創(chuàng)建的哦,詳見視頻


最后總結歸納下:

第一步:創(chuàng)建一個頭文件

第二步:根據(jù)這個頭文件,寫出C或C++文件

第三步:制作成DLL文件

第四步:制作對象文件

第五步:調(diào)用它


下面分享下,本視頻的用到的源碼

10.6 Java調(diào)用C或C++動態(tài)庫文件: https://url79.ctfile.com/d/34437279-55525938-703cef?p=8844 (訪問密碼: 8844)


10.6 番外:java調(diào)用動態(tài)庫文件dll(附帶糾正上個視頻遺漏)的評論 (共 條)

分享到微博請遵守國家法律
九龙县| 石家庄市| 阳高县| 临高县| 齐河县| 丹巴县| 宜川县| 浮梁县| 琼中| 准格尔旗| 临安市| 梧州市| 谢通门县| 临邑县| 犍为县| 延边| 奈曼旗| 杭锦后旗| 濉溪县| 商水县| 合山市| 北碚区| 昭平县| 凤庆县| 富民县| 文昌市| 波密县| 华坪县| 兴文县| 和政县| 綦江县| 偏关县| 若尔盖县| 洮南市| 灵山县| 革吉县| 广宁县| 柘荣县| 丰都县| 郧西县| 万宁市|