Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1084 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Creer une instance d'Objet C++ dans JNI

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Creer une instance d'Objet C++ dans JNI

n°557622
scool36
Vive les Ours
Posté le 03-11-2003 à 14:09:45  profilanswer
 

Bonjour,
J'aimerai connaitre le moyen "propre" de creer une instance d'objet  C++ dans une fonction JNI.
 
Ce serat peut etre plus clair avec l'exemple (ci-dessous, c'est la facon "pas terrible", que j'utilise pour creer mon objet MadCity (qui est stocke dans "GT3MadCity.h" ), l'utiliser,et renvoyer le resultat de l'execution) :
 
#include <iostream>
#include "uk_ac_wmin_cpc_madcityc_impl_MadCityCImpl.h"
#include "GT3MadCity.h"
 
JNIEXPORT jint JNICALL Java_uk_ac_wmin_cpc_madcityc_impl_MadCityCImpl_MadCityS(J
NIEnv *, jclass, jint pied) {
     
        MadCity MC;
        MC.run_MadCity(pied);
        return(MC.cartotal);
}
 
Cette methode marche, mais apparemment grignotte de la memoire. L'instance creer n'est pas detruite et ca bouffe de la memoire.
 
Donc ma question est : comment faire la meme chose, tout en detruisant l'instance cree...
 


---------------
La meilleure facon d'en apprendre toujours plus, c'est de ne pas retenir ce qu'on nous dit.
mood
Publicité
Posté le 03-11-2003 à 14:09:45  profilanswer
 

n°557637
chrisbk
-
Posté le 03-11-2003 à 14:20:41  profilanswer
 

Citation :

#include "uk_ac_wmin_cpc_madcityc_impl_MadCityCImpl.h"  
...
Java_uk_ac_wmin_cpc_madcityc_impl_MadCityCImpl_MadCityS


 
[:daplopbot]
 
rassures moi, t'as l'autocompletion dans ton ide ? :D
 
vu que ton madcity est declaré en local, il est detruit a la fin de la fonction, donc fodrait voir ailleurs

n°557644
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 03-11-2003 à 14:22:51  profilanswer
 

scool36 a écrit :


Donc ma question est : comment faire la meme chose, tout en detruisant l'instance cree...


Fais-toi embaucher chez Sun et refais tout JNI [:dark-imperator]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°557660
scool36
Vive les Ours
Posté le 03-11-2003 à 14:29:09  profilanswer
 

Mais est-ce que c'est la bonne facon de creer un objet C++ dans JNI????
 
Quelles sont les autres possibilites??
Merci


---------------
La meilleure facon d'en apprendre toujours plus, c'est de ne pas retenir ce qu'on nous dit.
n°557913
scool36
Vive les Ours
Posté le 03-11-2003 à 18:01:39  profilanswer
 

Citation :


chrisbk a ecrit :
vu que ton madcity est declaré en local, il est detruit a la fin de la fonction, donc fodrait voir ailleurs  


 
Ben apparement y a une reference local a l'objet dans JNI qui doit etre supprime, "meme si l'objet est declare en local."
Comme par exemple dans :
str = (*env)->NewStringUTF("hello" );
 


---------------
La meilleure facon d'en apprendre toujours plus, c'est de ne pas retenir ce qu'on nous dit.
n°557916
scool36
Vive les Ours
Posté le 03-11-2003 à 18:05:15  profilanswer
 

Suite du message precedent :
Apres avoir fait par exemple  
      str = (*env)->NewStringUTF("hello" );  
il apparait qu'il faut faire ca
      (*env)->DeleteLocalRef(env, str);
 
Mais comme moi je cree mon objet "bizarrement" sans utiliser "env", je vois pas comment je peux detruire la reference local a l'objet.
 
Desole pour le message en deux partis.


---------------
La meilleure facon d'en apprendre toujours plus, c'est de ne pas retenir ce qu'on nous dit.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Creer une instance d'Objet C++ dans JNI

 

Sujets relatifs
[c] Supprimezr ou creer des espaces ds une chaine de caracteresRécupérer l'objet class dont dépend la méthode statique appelée
Creer un menu déroulant ExcelQuel est le meilleur logiciel pour creer 1 excellent site web
créer des shape depuis le codeDites moi? C bien impossible de créer un prog qui allume un pc ...?
[PHP] créer un fichier doc, xls.....Créer un service sous VB .NET
Gerer les exception avec JNIdocumentation sur l orienté objet
Plus de sujets relatifs à : Creer une instance d'Objet C++ dans JNI


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR