熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

Java中調用本地代碼

2013-11-23 19:02:38  來源: Java核心技術 

  Java中調用dll中本地代碼方法介紹:

  環境:

  JDK:

  C:\Documents and Settings\mzq>java version

  java version _

  Java(TM) SE Runtime Environment (build _b)

  Java HotSpot(TM) Client VM (build b mixed mode sharing)

  本地代碼編譯環境:

  MS Visual Studio

  ) 編寫Java代碼

  示例代碼如下:

  public class JNITest {public static void main (String args[]) {  if (argslength > ) {    int x = new Integer(args[])intValue();    int a = new mynative()cubecal(x);    Systemoutprintln(a);  }}} class mynative {public native int cubecal(int x);static {  SystemloadLibrary(mynative);}}注意mynative類內容即可

  )生成為本地方法調用的mynativeh頭文件

  D:\workspace_java\JNI\src>javac JNITestjava

  D:\workspace_java\JNI\src>javah jni mynative

  )編寫本地代碼

  注意:代碼擴展名一定要用c

  根據mynativeh編寫

  #include jnih int cube(int x) {return (x*x*x);}JNIEXPORT jint JNICALL Java_mynative_cubecal(JNIEnv *e jobject o jint x) {return cube(x);})解決依賴關系

  將$JAVA_HOME$/include/jnih $JAVA_HOME$/include/win/jni_mdh

  及mynativeh復制到vs proj目錄下

  )編譯生成mynativedll

  )復制mynativedll到存放Java項目目錄中運行即可

  D:\workspace_java\JNI\bin 的目錄

   : mynativeclass

   : JNITestclass

   : mynativedll

   個文件 字節

   個目錄 可用字節

  D:\workspace_java\JNI\bin>java JNITest

  


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26184.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.