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

C++ Discussion :

appeler un code java


Sujet :

C++

  1. #1
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut appeler un code java
    Bonjour

    On me dit qu'il n'est pas possible d'appeler un code java à partir d'un programme en C++
    Qui peut me le confirmer ou me donner une procédure alternative.
    à+

  2. #2
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut et si il faut continuer la migration
    bonjour,

    J'ai entrepris la migration d'un driver XML de Java vers C++, et sur la base de ce qu'on ma dit je re-code le Java en C++
    Qui peut m'introduire le type java ArrayList

  3. #3
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Salut

    Je pense que faire communiquer Java et C++ est possible, mais bonjour le casse-tête. C'est plus facile dans l'autre sens avec JNI .

    Pour ArrayList, je pense que tu peux utiliser simplement std::vector qui devrait contenir tout ce dont tu as besoin.

    Voir :
    - http://www.cppreference.com/
    - http://www.boost.org/ pour des trucs plus poussés (gestion du système de fichiers par exemple).
    Find me on github

  4. #4
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut et la suite
    Bonjour,
    Merci d'une réponse rapide et précise
    et donc je continue ma migration et je traduis pas a pas les constructions Java en C++.
    J'ai l'instruction compareTo qui me semble devoir être remplacé par un test, mais lequel et où trouver un short guide de java pour traduire les constructions de base?
    en somme l'équivalent de cppReference
    ce serait

  5. #5
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Heu pour le compareTo, soit tu l'implémentes en C++, soit tu utilises la surcharge d'opérateurs. Il y a tout ce qu'il faut là dessus dans la FAQ C++ du site.

    J'attire ton attention sur un autre point : en Java, tu ne t'occupes pas de gérer la mémoire. En C++, tu devrais détruire les objets où il faut quand il faut. Ou alors il te faut utiliser les smart pointers de boost.

    Dans tous les cas, une migration Java -> C++, ça va fuir de partout aux premiers tests.
    Find me on github

  6. #6
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut merci
    De toutes ces informations

  7. #7
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut La solution apportée
    Bonjour,

    J'ai donc apporté la solution suivante pour ce problème.
    Le terme à comparer étant de type std::wstring jai remplacé le compareTo par le wcscmp dans l'exemple qui suit la première moitié du test est implémenté.

    Comme je suis au début de la migration, je code les déclarations d'objets en parallèle pour avoir une liste de ce dont j'ai besoin,et je fais le fit dans une deuxième passe.
    voici la déclaration:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    class MCE_Constantes
    {
     public:
      std::wstring element_State;
      std::wstring element_Invoke;
    };
    et le code correspondant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            objMCEConstantes = new MCE_Constantes;
            while( ChildNode != NULL)
            {
                if (ChildNode.getNodeType() == Node.ELEMENT_NODE)
                {
                    std::wstring name = ChildNode.getNodeName();
                    if ( wcscmp( name.c_str(), objMCEConstantes->element_State.c_str()) == 0
                            || wcscmp( name.c_str(), objMCEConstantes->element_Invoke.c_str()) == 0
                            || name.compareTo(MCE_Constantes.element_Anchor) == 0
                            || name.compareTo(MCE_Constantes.element_Terminate) == 0) {
    je suis

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

Discussions similaires

  1. Appeler un code java à partir d'un script shell
    Par supcomingenieur dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 06/06/2013, 16h01
  2. appeler un code java dans PHP
    Par supcomingenieur dans le forum Langage
    Réponses: 6
    Dernier message: 04/06/2013, 17h20
  3. peut-on utiliser les CLR pour appeler du code Java ?
    Par Mathusalem dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/09/2008, 13h42
  4. Appel de code Java sous Fortran
    Par hazyscl dans le forum Fortran
    Réponses: 6
    Dernier message: 02/07/2008, 19h03
  5. Appeler un code Java ?
    Par karray_ali dans le forum MATLAB
    Réponses: 4
    Dernier message: 12/02/2007, 12h19

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