Partage
  • Partager sur Facebook
  • Partager sur Twitter

JNI : quelle est l'architecture de ma machine ?

    26 août 2016 à 10:31:15

    Bonjour,

    Je suis en train de faire des essais de JNI sous Eclipse pour utiliser des bibliothèques en C. J'y suis parvenu mais l'intérêt du programme JAVA est qu'il puisse tourner sur le maximum de machines possibles.

    Pour ce qui est des différents OS, le fait de ne pas préciser l'extension de la bibliothèque à utiliser fait que JAVA utilisera la bonne bibliothèque en fonction de l'OS. Mais la question se pose pour les machines 32 versus 64 bits. Pour windows par exemple, je vais utiliser deux "dll" avec des noms différents : bibliothèque32.dll et bibliothèque64.dll par exemple.

    Mais si j'importe les deux bibliothèques, mon programme plante car il me dit qu'une des deux n'est pas adaptée à mon architecture (la 32 sur les machines 64 et la 64 sur les machines 32). Je voudrais donc faire un code du genre

    if (architecture 32) {
       utilise "bibliothèque32"
    } else if (architecture 64) {
       utilise "bibliothèque 64"
    }

    Question : comment je peux savoir quelle est mon architecture pour créer une telle condition ?

    Merci d'avance de vos réponses.

    Dr_Click

    • Partager sur Facebook
    • Partager sur Twitter
    Dr_Click
      26 août 2016 à 11:00:22

      String arch = System.getenv("PROCESSOR_ARCHITECTURE");
      String arch2 = System.getenv("PROCESSOR_ARCHITEW6432");
      
      if(arch.endsWith("64") || arch2 != null && arch2.endsWith("64")){
        //64 bits
      }
      else {
        //32bits
      }
      





      -
      Edité par dorz 26 août 2016 à 11:01:37

      • Partager sur Facebook
      • Partager sur Twitter

      JNI : quelle est l'architecture de ma machine ?

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown