国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

logo

logo
  • 點贊
  • 評論
  • 分享
免費
課程章節(jié)
  • 課程介紹
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

如何用JAVA調用C++

中級課程
2018/09/13
379
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

課程介紹

在一些Android應用的開發(fā)中,需要通過JNIAndroid NDK工具實現(xiàn)JAVAC/C++之間的相互調用。

Java?Native Interface (JNI)標準是java平臺的一部分,它允許Java代碼和其他語言寫的代碼進行交互。JNI是本地編程接口,它使得在Java虛擬機(VM)內部運行的Java代碼能夠與用其它編程語言(如C、C++和匯編語言)編寫的應用程序和庫進行交互操作。

由于Android應用層的類都是以Java寫的,這些Java類編譯為Dex型式的Bytecode之后,必須靠Dalvik虛擬機(VM: Virtual Machine)來執(zhí)行。在執(zhí)行Java類的過程中,如果Java類需要與C組件溝通時,VM就會去載入C組件,然后讓Java的函數(shù)順利地調用到C組件的函數(shù)。此時,VM扮演著橋梁的角色,讓JavaC組件能通過標準的JNI介面而相互溝通。

在實際應用中這兩者之間的調用關系可以歸納為以下四種方式:

1. 在應用的JAVA代碼中調用NDKC/C++實現(xiàn)的函數(shù)。

2. NDK開發(fā)中的C/C++代碼調用應用中JAVA類的靜態(tài)函數(shù)。

3. NDK開發(fā)中的C/C++代碼調用應用中JAVA類當前傳入NDK中的實例的函數(shù)。

4. NDK開發(fā)中的C/C++代碼調用應用中JAVA類新建實例的函數(shù)。

相關推薦

電子產業(yè)圖譜

砀山县| 加查县| 舟曲县| 余姚市| 三河市| 西乌珠穆沁旗| 汝南县| 桑植县| 海宁市| 池州市| 香港| 昆明市| 行唐县| SHOW| 赤水市| 贺兰县| 绥化市| 全州县| 酉阳| 北辰区| 基隆市| 云安县| 冀州市| 平安县| 宜宾县| 荆州市| 舞阳县| 安顺市| 广灵县| 钟祥市| 贵阳市| 九龙城区| 和田县| 辰溪县| 教育| 东莞市| 沁水县| 新平| 子长县| 红河县| 盐池县|