2013-03-09 3 views
3

J'essaie de charger le même fichier de bibliothèque en utilisant System.loadLibrary ou System.load. La raison pour laquelle je fais cela est parce qu'ils sont le même code mais la configuration différente. Je veux que ces deux fichiers de bibliothèque aient leur propre monde sans s'influencer mutuellement. (Si je change la valeur à gauche, ça ne va pas changer le côté droit) Est-ce faisable? Ou Java va-t-il ignorer mon deuxième appel System.loadLibrary puisqu'il est déjà chargé?Java JNI: Comment charger la bibliothèque plusieurs fois?

-------------------------- 
|   Java   | 
-------------------------- 
     |   | 
     v   v 
    libTst.so libTst.so 
     |   | 
     v   v 
    libA.so  libA.so 

Répondre

0

Je ne sais pas, mais je pense qu'il ya deux façons: 1 -lib changer le nom secondaire et le nom des changements dans votre code quand utiliser. 2-change la racine de lib (vous pouvez insérer votre lib dans jvm lib root).

1

Ou Java va-t-il ignorer mon deuxième appel System.loadLibrary puisqu'il est déjà chargé?

Le système d'exploitation va l'ignorer. Vous devrez le fournir deux fois sous deux noms.

Questions connexes