2010-07-13 7 views
1

J'ai quelques fichiers dll (non personnalisés et non écrits par moi) et j'ai besoin d'utiliser les fonctions, écrites en c/C++, dans ces fichiers dans mon projet java. J'ai googlé et lu beaucoup d'exemples sur JNI mais ils étaient tous sur l'écriture de votre propre programme et dll et ensuite les atteindre. Aussi, je ne pense pas que dllexport existe dans ces DLL, donc la méthode dllimport/dllexport n'est pas disponible je suppose. Comment puis-je accéder à ces fonctions? Merci d'avance ..en utilisant les fonctions en dll, en java

+3

Jetez un oeil à JNA: http://en.wikipedia.org/wiki/Java_Native_Access – McDowell

Répondre

2

Je suis sûr que vous avez déjà regardé le tutoriel JNI d'Oracle. J'ai jeté un coup d'oeil à la partie, où un native function is implemented and a dll is compiled et je ne pense pas, que des conditions spéciales doivent être remplies.

Je donnerais un essai avec une seule fonction facile de cette dll:

  1. Ecrire un simple clas s avec la méthode juste principale qui utilise l'une des méthodes natives (avec des paramètres faciles d'avoir un outil facile commencer)
  2. Generate le fichier d'en-tête et
  3. run l'application de test

Si la dll n'est pas 'JNI conforme' (tout ce qui me ans), vous saurez d'ici là et alors vous savez probablement que vous devez recompiler le code natif.

+0

Et si le code source de la DLL n'est pas disponible, écrivez un code source «natif» qui appelle la DLL. – reinierpost