3

System.loadLibrary または System.load を使用して同じライブラリ ファイルをロードしようとしています。これを行う理由は、それらが同じコードで構成が異なるためです。これらの 2 つのライブラリ ファイルは、互いに影響を与えることなく独自の世界を持ちたいと考えています。(左側の値を変更しても右側は変更されません) これは可能ですか? それとも、すでにロードされているため、Java は 2 回目の System.loadLibrary 呼び出しを無視するのでしょうか?

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

2 に答える 2

1

または、Javaはすでにロードされているので2番目のSystem.loadLibrary呼び出しを無視しますか?

オペレーティングシステムはそれを無視します。2つの名前で2回提供する必要があります。

于 2013-03-10T03:08:29.600 に答える
0

よくわかりませんが、2つの方法があると思います.1-セカンダリライブラリ名を変更し、使用するときにコードで名前を変更します。2-lib のルートを変更します (lib を jvm lib root に挿入できます)。

于 2013-03-09T21:44:06.713 に答える