<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
    主站蜘蛛池模板: 91福利视频免费| 人妻无码久久一区二区三区免费 | 4虎永免费最新永久免费地址| 日本道免费精品一区二区| 一区免费在线观看| 污污的视频在线免费观看| 噜噜噜亚洲色成人网站| 国产成人亚洲精品电影| 国产成人综合久久精品亚洲| 欧洲亚洲综合一区二区三区| 国产精品亚洲专区无码唯爱网| 亚洲AV一区二区三区四区| 亚洲国产av玩弄放荡人妇| 亚洲色欲色欱wwW在线| 国产AV旡码专区亚洲AV苍井空| 亚洲av乱码一区二区三区香蕉| 亚洲一区二区三区在线网站| 亚洲中文字幕AV在天堂| 亚洲国产精品无码久久98| 亚洲av成人中文无码专区| 亚洲精品色在线网站| 日本精品久久久久久久久免费 | 亚洲人JIZZ日本人| 在线观看亚洲成人| 日本红怡院亚洲红怡院最新| 亚洲熟妇无码AV在线播放| 午夜影视日本亚洲欧洲精品一区| 亚洲欧洲日韩国产综合在线二区| 亚洲综合激情九月婷婷| 亚洲精品无码MV在线观看| 亚洲第一区精品日韩在线播放| 精品国产日韩亚洲一区| 亚洲av午夜成人片精品网站 | 好大好深好猛好爽视频免费| www.黄色免费网站| 国产精品免费视频播放器| 久久久久亚洲AV无码专区网站| 亚洲大尺度无码无码专区| 亚洲专区一路线二| 免费播放美女一级毛片| 免费一区二区无码东京热|