国产成人欧美日韩综合-久久久久无码国产精品不卡-h双腿涨灌捆绑play慎入-啊灬用力灬啊灬啊灬啊灬a片男男-性疼痛tube小坳交hd-国产精品免费大片-日本亚洲成高清一区二区三区-草莓视频在线观看污污-浴室激情hd-欧美午夜理伦三级在线观看激情伦理-91蝌蚪在线,国产黄色大片在线观看一区二区,午夜精品久久久内射近拍高清,特级做a爱片久久久久久

18600329666

咨詢技術(shù)專家

掃一掃
與技術(shù)專家在線溝通

Menu
JAVA在linux服務(wù)器上調(diào)用c++代碼
    JAVA語言是一種解釋性語言,.class是生成的能給被jvm識別的偽機(jī)器語言,解釋過的Java要比C的執(zhí)行速度慢上約20倍,大型web項目開發(fā)以及手機(jī)應(yīng)用開發(fā)中都會遇到,對于運(yùn)行費(fèi)時或者涉及到底層驅(qū)動的功能使用C或C++編寫,以擴(kuò)充java語言本身的功能和提升程序執(zhí)行速度
   一、linux系統(tǒng)jni使用的必備條件
  • 系統(tǒng)安裝C++庫
  • 系統(tǒng)安裝GC++庫
  二、 JNI的編寫與調(diào)用過程 
  1. 生成ConfigTool.java文件:按照項目包在linux上創(chuàng)建對應(yīng)文件夾,在/home/jni下創(chuàng)建:com/vungu/tools/jni并將ConfigTool.java(包含native方法和加載so的靜態(tài)塊)(其中的dll要改為so,windows問dll,linux為so)
  2. 生成ConfigTool.class文件:在/home/jni  目錄下運(yùn)行命令         #javac com/vungu/tools/jni/ConfigTool.java       生成ConfigTool.class文件
  3. 生成頭文件:任然在該目錄下面(/home/jni )           #javah -classpath . -jni com.vungu.tools.jni.ConfigTool         生成com_vungu_tools_jni_ConfigTool.h頭文件
  4. 復(fù)制生成文件:在/opt下新建sys文件(隨意創(chuàng)建),并將com_vungu_tools_jni_ConfigTool.h  復(fù)制到/opt/sys下,將jdk安裝目錄下的/usr/local/jdk1.8.0_65/include/jni.h   復(fù)制到/opt/sys下,將jdk安裝目錄下的/usr/local/jdk1.8.0_65/include/linux/jni_md.h     復(fù)制到/opt/sys下
  5. 創(chuàng)建C++程序:在/opt/sys/下創(chuàng)建JinVungu.cpp,將com_vungu_tools_jni_ConfigTool.h中的函數(shù)名復(fù)制到JinVungu.cpp中并實現(xiàn)具體代碼(編寫c++程序)
  6. 編譯JNI程序:在/opt/sys/目錄中運(yùn)行下列名#g++ -fpic -shared   JinVungu.cpp   -o JinVungu.so -I./ -I /usr/local/jdk1.8.0_65/include/ -I /usr/local/jdk1.8.0_65/include/linux/
  7. 打包成jar供java調(diào)取:在window上打包vun-tools項目 為jar包(壓縮文件)做如下操作,用/home/jni/com/vungu/tools/jni/ConfigTool.class替換掉原來的ConfigTool.class,用/opt/sys/JinVungu.so  替換掉原來的JinVungu.dll,jar用壓縮軟件直接打開替換不可解壓
三、JNI的zuoy作用于優(yōu)缺點(diǎn)
      JNI 它允許Java代碼和其他語言寫的代碼進(jìn)行交互。大大提高程序的性能,但是卻破壞了Java的可移植性,也對Java的安全帶來了一定的隱患。所以程序開發(fā)中須謹(jǐn)慎使用