1、如果需要在C語言中調(diào)用Java代碼,需要使用Java Native Interface(JNI)技術(shù)。JNI是Java提供的一種機制,允許Java程序調(diào)用本地C/C++程序,同時也允許C/C++程序調(diào)用Java程序。

創(chuàng)新互聯(lián)建站專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、曲松網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城網(wǎng)站制作、集團公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為曲松等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
2、你必須定義一個本地方法,其目的是為C語言提供接口,然后提供連接的介質(zhì)。
3、先說一下,我不是專業(yè)的C的開發(fā)者,有一定C的經(jīng)驗,主要從事的是java以及B/S項目項目的開發(fā)工作,以下是只我的個人見解,如有不對請指出。
java要想調(diào)用c的程序,那就要把c生成dll文件給java調(diào)用,也就是java調(diào)用dll文件,如何調(diào)用呢,就要使用java的本地化方法JNI調(diào)用c的dll文件。
然后就是變量的問題,AnsiString在C中是一種動態(tài)的長變量(我?guī)缀鯖]用過),在java中String類型就可以做到動態(tài)分配空間。我想其他的在語言轉(zhuǎn)換上就沒有什么太大的問題了。說回改寫代碼。
這個不復(fù)雜,有專門的SDK開發(fā)包,學(xué)習(xí)一些JAVA的基礎(chǔ)知識之后,了解一下MIDP的規(guī)范就可以寫程序。不過我都是用JAVASCRIPT來寫,這樣的兼容性很好,許多手機瀏覽器都支持,而且我的程序可以放在網(wǎng)站上大家在線使用。
java如何調(diào)用c java要想調(diào)用c的程序,那就要把c生成dll文件給java調(diào)用,也就是java調(diào)用dll文件,如何調(diào)用呢,就要使用java的本地化方法JNI調(diào)用c的dll文件。
我想其他的在語言轉(zhuǎn)換上就沒有什么太大的問題了。說回改寫代碼。剛才也說過額,這段代碼從C到j(luò)ava幾乎無法照其流程重寫,最多只能寫一段代碼達到與其相近甚至一樣的功能。
public class Test{ public static void main(String[] args){ String[] string = new String[20]; //java得數(shù)組必須new一次,自己看吧。
頭文件在C++中是主要定義函數(shù),在Java中相當(dāng)于接口或者虛類。接口中一般不提供構(gòu)造方法,而且也不能寫并且Java中也不需要自己提供析構(gòu)方法。如果想寫構(gòu)造方法的話就使用虛類,否則使用接口也可以。
使用JNI技術(shù),可以將Java代碼編譯成動態(tài)鏈接庫(.so或.dll),然后在C語言中通過調(diào)用動態(tài)鏈接庫來調(diào)用Java代碼。需要注意的是,在使用JNI技術(shù)時,需要遵守一定的規(guī)范和約定,以確保Java代碼和C語言代碼可以正確地交互。
當(dāng)前題目:c代碼換個成java c語言如何把代碼變成程序
文章URL:http://www.chinadenli.net/article10/dcdcjgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、靜態(tài)網(wǎng)站、品牌網(wǎng)站制作、關(guān)鍵詞優(yōu)化、建站公司、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)