IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

[JNI] Accéder à un tableau stoker dans un objet.


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Andarus
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 137
    Par défaut [JNI] Accéder à un tableau stoker dans un objet.
    Bonjour,

    Je cherche à appeler une méthode sur un objet Java en JNI avec la signature : "()[D". Je pensais trouver une fonction du type CallDoubleArrayMethod mais celle-ci ne semble pas être définie sur le pointeur *env.

    Pour mes recherches j'ai consulté cette doc http://java.sun.com/docs/books/jni/html/jniTOC.html qui ne semble malheureusement pas être à jour.

    Quelqu'un connaîtraient-ils la nom de la méthode à appeler dans ce cas?

    Merci d'avance.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Par défaut
    sun ayant été racheté par Oracle...un petit tour sur http://docs.oracle.com/javase/7/docs...ec/jniTOC.html ou son équivalent pour ta version de travail pour java

  3. #3
    Membre confirmé Avatar de Andarus
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 137
    Par défaut Proposition de solution
    J'ai trouvé cette solution qui semble fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    JNIEXPORT void JNICALL jnifonction (JNIEnv *env, jclass classJava, jobject tabHandler)
    {
    	//Récupérer la classe
    	jclass TabHandler= env->FindClass("com/TabHandler");
    	//Récupérer la methode d'accès au tableau
    	jmethodID getTab = env->GetMethodID(TabHandler, "getTab", "()[D");
    	//On récupère le tableau comme un objet java.
    	jobject temp = env->CallObjectMethod(TabHandler, getTab);
    	//Un cast violent...
    	jdoubleArray *jtab = reinterpret_cast<jdoubleArray*>(&temp);
    	//On récupère le tableau C++ depuis le tableau java
    	jdouble *tab= (jdouble*) env->GetPrimitiveArrayCritical(*jtrajectory, NULL);
    	//On libère le tableau java.
    	env->ReleasePrimitiveArrayCritical(*jtab, tab, 0);
    }
    Si l'un de vous à un avis sur la validité de cette méthode je suis preneur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. accéder à une variable dans un objet dans un tableau
    Par eprevot dans le forum Langage
    Réponses: 3
    Dernier message: 11/06/2013, 08h53
  2. Réponses: 3
    Dernier message: 24/08/2008, 03h30
  3. Accéder à un tableau dans une fonction
    Par valanagrid dans le forum C++
    Réponses: 10
    Dernier message: 18/09/2006, 16h08
  4. Réponses: 4
    Dernier message: 20/07/2006, 10h35
  5. [JNI] : Obtenir les champs d'un objet inclus dans un objet
    Par jojo29 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 27/04/2006, 13h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo