<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    HelloWorld 善戰(zhàn)者,求之于勢(shì),不責(zé)于人;故能擇人而任勢(shì)。

    知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得。物有本末,事有終始。知所先后,則近道矣。

      BlogJava :: 首頁 ::  :: 聯(lián)系 ::  :: 管理 ::
      167 隨筆 :: 1 文章 :: 40 評(píng)論 :: 0 Trackbacks
    新建立ArrayHandler.java
    package com.user;
    public class ArrayHandler {
         private String arrayResults[];
         int arraySize = -1;
         public native void returnArray();
         static {
             System.loadLibrary("nativelib");
         }
         public void sendArrayResults(String results[]) {
             arraySize = results.length;
             arrayResults = new String[arraySize];
             System.arraycopy(results, 0, arrayResults, 0, arraySize);
         }
         public void displayArray() {
             for (int i = 0; i < arraySize; i++) {
                 System.out.println("array element " + i + "= " + arrayResults
    );
             }
         }
         public static void main(String args[]) {
             String ar[];
             ArrayHandler ah = new ArrayHandler();
             ah.returnArray();
             ah.displayArray();
         }
    }
       
    Windows
    ( 1 ).Javc ArarayHandler.java
    在當(dāng)前目錄下建立com目錄,在com中建立user目錄,把ArrayHandler.class拷貝到user目錄下
    ( 2 )javah –jni com.user.ArrayHandler
    產(chǎn)生com_user_ArrayHander.h文件
    ( 3 )建立一個(gè)dll項(xiàng)目 nativelib
    新建一個(gè)com_user_ArrayHandler.cpp
    #include <jni.h>
    #include <iostream.h>
    #include "com_user_ArrayHandler.h"
    JNIEXPORT void JNICALL Java_com_user_ArrayHandler_returnArray
    (JNIEnv *env, jobject jobj){
    jobjectArray ret;      //定義一個(gè)數(shù)組類型的對(duì)象
    int i;
    jclass cls;
    jmethodID mid;
    char *message[5]= {"first", "second", "third",      "fourth", "fifth"};
    ret=(jobjectArray)env->NewObjectArray(5,
          env->FindClass("java/lang/String"),
          env->NewStringUTF(""));
    for(i=0;i<5;i++) {
        env->SetObjectArrayElement(ret,i,env->NewStringUTF(message
    ));
    }
    cls=env->GetObjectClass(jobj);//得到j(luò)obj類的對(duì)象
    //mid為ArrayHandler中的sendArrayResluts()方法
    mid=env->GetMethodID(cls, "sendArrayResults",      "([Ljava/lang/String;)V");
    if (mid == 0) {
        cout <<"Can't find method sendArrayResults";
        return;
    }    
    env->ExceptionClear();//清空異常信息
    env->CallVoidMethod(jobj, mid, ret);//調(diào)用方法sendArrayResluts()
    if(env->ExceptionOccurred()) {
        cout << "error occured copying array back" <<endl;
        env->ExceptionDescribe();
        env->ExceptionClear();
    }
    return;
    }
    我用的是Dev-c++
    建立一個(gè)dll項(xiàng)目,產(chǎn)生2個(gè)文件保存就可以了
    把項(xiàng)目的include路徑 增加 本地jdk的include 目錄和 include/win32路徑
    builder All
    產(chǎn)生nativelib.dll文件
    java com.user.ArrayHandler
    結(jié)果:
    array element 0= first
    array element 1= second
    array element 2= third
    array element 3= fourth
    array element 4= fifth
    Linux
    拷貝ArrayHandler.java; com_user_ArrayHandler.cpp到某個(gè)目錄下
    (1)      javac ArrayHandler.java
    (2)      mkdir com
    (3)      cd com
    (4)      mkdir user
    (5)      cd ..
    (6)      cd ..
    (7)      回到 ArrayHandler.java目錄
    (8)      cp ArrayHandler.class com/user/
    (9)      javah -classpath=. -jni com/user/ArrayHandler
    (10)      g++ -o libnativelib.so -shared -I$JAVAHOME/include -I$JAVAHOME/include/linux com_user_ArrayHandler.cpp
    (11)      java -Djava.library.path=. com/user/ArrayHandler
    (12)      結(jié)果同Windows


    </script>

    posted on 2007-08-13 18:50 helloworld2008 閱讀(317) 評(píng)論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 亚洲一级毛片免费看| 精品乱子伦一区二区三区高清免费播放| 国产99在线|亚洲| 中文字幕视频免费| 久久精品亚洲一区二区三区浴池| 亚洲国产精品自在自线观看| 国产成人A在线观看视频免费| 亚洲综合色视频在线观看| 成人免费夜片在线观看| 亚洲伊人久久成综合人影院| 亚洲日韩国产精品无码av| 亚洲第一网站免费视频| 亚洲av永久无码嘿嘿嘿| 看全色黄大色大片免费久久| 相泽南亚洲一区二区在线播放| 亚洲视频免费观看| 国产午夜亚洲精品国产| 国产成人精品免费视频软件| jizz免费观看视频| 亚洲av不卡一区二区三区| 国产成人精品亚洲| 成人超污免费网站在线看| 亚洲AⅤ男人的天堂在线观看| 0588影视手机免费看片| 亚洲一区二区三区成人网站| 蜜桃视频在线观看免费视频网站WWW| 亚洲成人影院在线观看| 亚洲午夜无码久久久久小说 | 亚洲国产成a人v在线| 国产vA免费精品高清在线观看| 国产成人免费全部网站| 二级毛片免费观看全程| 日韩免费无砖专区2020狼| 一级女性全黄久久生活片免费| 在线观看免费精品国产| 亚洲熟妇少妇任你躁在线观看| 亚洲一区二区三区免费视频| 亚洲国产精品成人午夜在线观看 | 91高清免费国产自产| 日韩成人精品日本亚洲| 亚洲高清视频在线观看|