廉頗老矣,尚能飯否

          java:從技術到管理

          常用鏈接

          統計

          最新評論

          JNI簡單示例【轉載】

          Java通過JNI調用本地系統的動態庫(Windows上是dll形式,Unix中是so形式的文件)。
          Step1:編寫Java類,其中包含要實現的native方法。
          JNITest.java:

          public class JNITest{
              static{
                  System.loadLibrary("JNITest");
              }

              public native void showMessageBox();

              public static void main(String[] args){
                  JNITest jni = new JNITest();
                  jni.showMessageBox();
              }
          }
              編譯JNITest.java,命令:"javac JNITest.java",生成JNITest.class。

              Step2:生成頭文件,命令:"javah JNITest",生成頭文件JNITest.h
          JNITest.h:

          /* DO NOT EDIT THIS FILE - it is machine generated */
          #include <jni.h>
          /* Header for class JNITest */

          #ifndef _Included_JNITest
          #define _Included_JNITest
          #ifdef __cplusplus
          extern "C" {
          #endif
          /*
           * Class:     JNITest
           * Method:    showMessageBox
           * Signature: ()V
           */
          JNIEXPORT void JNICALL Java_JNITest_showMessageBox
            (JNIEnv *, jobject);

          #ifdef __cplusplus
          }
          #endif
          #endif
              Step3:編寫相應的實現文件JNITest.cpp(或.c)。
          JNITest.cpp:

          #include "JNITest.h"
          #include <windows.h>

          JNIEXPORT void JNICALL Java_JNITest_showMessageBox
            (JNIEnv *, jobject){
              ::MessageBox(NULL,"This is a JNI test" , "JNI" , MB_OK);
          }
              Step4:將JNITest.cpp編譯成dll,
              命令(cl 是VC6的編譯命令):
          "cl -If:\jdk\include -If:\jdk\include\win32 -LD JNITest.cpp user32.lib -FeJNITest.dll"
              Step5:運行,命令:"java JNITest"。運行后會彈出一個對話框

          柳德才
          13691193654
          18942949207
          QQ:422157370
          liudecai_zan@126.com
          湖北-武漢-江夏-廟山

          posted on 2009-04-08 17:23 liudecai_zan@126.com 閱讀(213) 評論(0)  編輯  收藏 所屬分類: 程序人生

          主站蜘蛛池模板: 舞钢市| 田林县| 龙井市| 南汇区| 鄂温| 安福县| 徐闻县| 紫云| 黎城县| 昆山市| 大余县| 卫辉市| 武穴市| 荥阳市| 新化县| 寻乌县| 亳州市| 萝北县| 岱山县| 荆门市| 瑞昌市| 怀安县| 平利县| 德化县| 宁武县| 阳朔县| 姜堰市| 永登县| 醴陵市| 衡水市| 鹤峰县| 石林| 如皋市| 蒲江县| 同德县| 三都| 万载县| 武穴市| 翁源县| 旺苍县| 竹北市|