carookee - group communication for you
Home / JavaForum / JNI
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
6.341 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 10 von 39 (26%) |<   <   >   >|

Autor Imyourdaddy
Datum 21.11.05, 10:01
Betreff JNI -Array zurückgeben


Hallo! Ich habe mich grad in JNI eingelesen und ein paar Besipiele durchgeschaut und ausprobiert. Nun habe ich es geschafft ein Array von Java zu übergeben und damit was zu machen.

Das C-programm sieht so aus:
#include <jni.h>
#include "IntArray.h"

JNIEXPORT jint JNICALL
Java_IntArray_sumArray(JNIEnv *env, jobject obj, jintArray arr)
{
    jsize len = (*env)->GetArrayLength(env, arr);
    int i, sum = 0;
    jint *body = (*env)->GetIntArrayElements(env, arr, 0);
    for (i=0; i<len; i++) {
        sum += body[i];
    }
    (*env)->ReleaseIntArrayElements(env, arr, body, 0);
    return sum;
}


der Rückgabewert ist ein int-Wert. Wie würde es aber ausschauen, wenn ich ein int[]-array zurückgeben wollte?

Müsste das Java-Programm dann so ausschauen??
class IntArray {
    private native int[] sumArray(int arr[]);
    public static void main(String args[]) {
        IntArray p = new IntArray();
        int arr[] = new int [10];
        for (int i = 0; i < 10; i++)
        arr[i] = i;
        int[] sum = p.sumArray(arr);
        for(int i = 0;i<10;i++) {
             System.out.println("sum = " + sum);
        }
        
    }
    static {
        System.loadLibrary("MyImpOfIntArray");
    }
}



Wär super wenn ihr mir helfen könntet!!!!




 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com