在JAVA程序中,首先需要在類中聲明所調(diào)用的庫(kù)名稱,如下:static { System.loadLibrary(“goodluck”);} 在這里,庫(kù)的擴(kuò)展名字可以不用寫出來(lái),究竟是DLL還是SO,由系統(tǒng)自己判斷。
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)綏芬河,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):028-86922220
一般那種c#的dll是java不能直接調(diào)用的,但C\C++可以,你可以使用JNI。
1 首先要安裝好Visual Studio 2010 (其他版本也行)以及JDK(別忘了配置環(huán)境變量),然后安裝Eclipse。以上軟件安裝可自行百度,有很多資料。
如果你愿意采用COM組件的方式,可以一試!JAVA有COM4Java的組件(我沒記錯(cuò)的話)。
在網(wǎng)上下載安裝騰訊電腦管家0版本后,打開程序,點(diǎn)擊右上角“電腦診所——軟件問題——丟失dll文件”,進(jìn)入dll一鍵修復(fù)區(qū),找到相應(yīng)要修復(fù)的dll選項(xiàng),點(diǎn)擊“立即修復(fù)”即可恢復(fù)正常。十分方便,建議試試。
1、Java調(diào)用C庫(kù)的時(shí)候,可以使用JNA或者JNI來(lái)調(diào)用C庫(kù)中的結(jié)構(gòu)體。JNA可以通過映射一個(gè)Java內(nèi)部類來(lái)實(shí)現(xiàn)對(duì)應(yīng)C庫(kù)中結(jié)構(gòu)體的映射,而JNI則需要在Java代碼中定義一個(gè)數(shù)據(jù)結(jié)構(gòu),它將會(huì)與C庫(kù)中的結(jié)構(gòu)體保持一致。
2、具體調(diào)用步驟如下:首先創(chuàng)建Java文件 HelloJni.java ,并創(chuàng)建native方法。編譯Java文件并生成java頭文件。創(chuàng)建C語(yǔ)言文件,HelloWorld.c。生成動(dòng)態(tài)鏈接庫(kù)文件 libhello.so。設(shè)置動(dòng)態(tài)鏈接庫(kù)文件的目錄。
3、C/C++中所需要做的工作 對(duì)于已生成的.h頭文件,C/C++所需要做的,就是把它的各個(gè)方法具體的實(shí)現(xiàn)。然后編譯連接成庫(kù)文件即可。再把庫(kù)文件拷貝到JAVA程序的路徑下面,就可以用JAVA調(diào)用C/C++所實(shí)現(xiàn)的功能了。接上例子。
4、然后調(diào)用 C的頭文件的函數(shù),得到結(jié)果,在組裝成java的字符串。比如例子:我要用C來(lái)實(shí)現(xiàn) java的字符串定位。
5、C/C++中所需要做的工作 對(duì)于已生成的.h頭文件,C/C++所需要做的,就是把它的各個(gè)方法具體的實(shí)現(xiàn)。然后編譯連接成庫(kù)文件即可。再把庫(kù)文件拷貝到JAVA程序的路徑下面,就可以用JAVA調(diào)用C/C++所實(shí)現(xiàn)的功能了。
6、Java調(diào)用WebService可以直接使用Apache提供的axis.jar自己編寫代碼,或者利用Eclipse自動(dòng)生成WebService Client代碼,利用其中的Proxy類進(jìn)行調(diào)用。理論上是一樣的,只不過用Eclipse自動(dòng)生成代碼省事些。
1、使用fatjar將他們統(tǒng)一一鍵打包(依賴包可以存在新建的lib文件夾中),再使用 ikvmc -target:library 打包好的fatjar文件路徑 來(lái)將jar包轉(zhuǎn)成dll。在新建的C#工程中添加引用(添加轉(zhuǎn)好的dll),直接使用打包好的函數(shù)就行。
2、首先把dll文件放到應(yīng)用程序...\bin\Debug\下;然后在解決方案中添加引用:右鍵鼠標(biāo)--添加引用--瀏覽--選擇dll放置路徑后點(diǎn)擊“確定”。注意:要在應(yīng)用文件頭處使用using md5;命令。
3、如果你指的是java調(diào)用本地dll的話,是使用jni技術(shù),dll也不是java編寫的??偸莏ava是不可能編譯成為dll。有一種這種的方案,就是將java編譯的文件轉(zhuǎn)換為c#的,微軟有相應(yīng)的工具,可以搜到,然后就可以打包成為dll了。
4、第一步:制作dll 利用VC6新建工程時(shí)選擇win32 dynamic-Link Library(空的工程),然后添加頭文件和cpp文件。假設(shè)你要封裝的類的名成是TransferFunction,添加頭文件TransferFunction.h和TransferFunction.cpp到工程中。