11
Javaプログラムでは、私はdllにjni呼び出しを行い、起動時に次のようにライブラリをロードします。 次に、同じライブラリをロードする別のクラスを実装し、ライブラリライブラリがすでに実行されているかどうかを確認する方法はありますか? ありがとう、 -Pete
A
答えて
8
ソリューションが動作するこの質問
How do I get a list of JNI libraries which are loaded?
に私の答えをチェックし、残念ながら問題のポスターは非互換日JVMまたは厳しすぎるのSecurityManagerに問題があるようです。
サンプルPOCソースコードにリンクします。
0
どのような?それが例外であれば、それを捕まえることができますか?
もう1つの方法は、ライブラリをロードする役割を果たすクラスを1つだけ作成することです。あなたは、クラスの静的初期化子のライブラリ部分をロードしてから、クラスをロードして==ライブラリをロードすることができます。
EDIT:javadocs for Runtime.loadLibrary()
(System.loadLibrary
コールが)も静的初期アプローチを示唆している:
ネイティブメソッドは、クラスの実装で使用される場合、 標準戦略はネイティブを置くことである クラス宣言内
static { System.loadLibrary("LibFile"); }
:静的 初期化子を入れてライブラリファイル内のコード( LIBFILEそれを呼び出す)してから。クラスが読み込まれて初期化されると、 ネイティブコード のネイティブメソッド が実装されます。
のjavadocも言う:
この方法は、より多くの同じライブラリ名を持つ回以上呼び出された場合は、2番目以降の呼び出しは無視されます。
これは、私があなたが得ているエラーについてさらに興味をそそられます。
関連する問題
- 1. ツールが既にロードされているかどうかを確認するスクリプトテスト?
- 2. DLLが既に登録されているか確認してください。
- 3. nibが既にロードされているかどうかを確認できますか?
- 4. 何かが既にファイルに入力されているかどうか確認していますか?
- 5. レールセッションが既にロードされているかどうかを確認するには?
- 6. COMライブラリ(.DLL)がインストールされているかどうかをプログラムで確認する
- 7. divがロードされているかどうかを確認するには?
- 8. DLLが署名されているかどうか確認するC++
- 9. .dllファイルに宣言されているかどうかを確認するメソッド
- 10. flock()を使用してファイルが既にロックされているかどうかを確認しますか?
- 11. Google Nearbyが既に許可されているかどうかを確認
- 12. rubyスクリプトが既に実行されているかどうかを確認
- 13. OAuth 2.0が既に承認されているかどうかを確認してください
- 14. require_onceは "ファイルが既に含まれているかどうか"をどのように確認しますか?
- 15. LinkedListが既に注文されているかどうかはどのように確認できますか?
- 16. UIViewがロードされているかどうかを確認する方法
- 17. 特定のデバイスドライバがロードされているかどうかを確認する
- 18. GACアセンブリがロードされているかどうかを確認する方法
- 19. mithril.jsがロードされているかどうかを確認する方法は?
- 20. DLLがロードされている理由を確認する
- 21. 既にロードされているゾーンを確認するにはどうすればよいですか?
- 22. 特定のマシンでスクリプトが既に実行されているかどうかを確認しますか?
- 23. WindowsでTCP/IPポートが既に使用されているかどうかを確認しますか?
- 24. 画像が既にダウンロードされているかどうかを確認しますか?
- 25. 角モジュールが既にブートストラップされているかどうかを確認しますか?
- 26. DLLが別のアプリケーションで使用されているかどうかを確認してください
- 27. ファイル/イメージがキャッシュからロードされているかどうかを確認しますか?
- 28. コンテンツが既にPHPで送信されているかどうかを確認してください
- 29. 環境変数が既に設定されているかどうかを確認してください。
- 30. ユーザーが既にサインインしているかどうかを確認するシングルサインオンログインページ
二つの異なるクラスローダーが同じネイティブライブラリに問題http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=へ – jitter
いくつかの関連リンクをロードしようとするので、私は彼がUnsatisfiedLinkErrorをを取得すると思います4750956とhttp://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5075039 – jitter
ええジッタが正しいです、それは私が得ているエラーです。リンクジッタのおかげです。 –