国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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(附帶糾正上個視頻遺漏)的評論 (共 條)

分享到微博請遵守國家法律
万年县| 广汉市| 建始县| 民乐县| 绥中县| 拉萨市| 开阳县| 岱山县| 抚宁县| 化州市| 五原县| 乌兰浩特市| 腾冲县| 拜城县| 南汇区| 出国| 乐业县| 武川县| 昭觉县| 阿城市| 手机| 鱼台县| 长阳| 龙海市| 禄丰县| 晋江市| 大丰市| 衢州市| 大理市| 山东| 乾安县| 翁牛特旗| 湖州市| 靖宇县| 竹山县| 砚山县| 广丰县| 钟祥市| 丰顺县| 大方县| 亚东县|