HelloWorld.libをビルドし、JNIを使用してJavaアプリケーションにロードすることは可能ですか?それとも、共有ライブラリでのみ機能しますか?
JNIのドキュメントで明確な答えを見つけることができませんでした。「静的ライブラリ」への参照がありません。
HelloWorld.libをビルドし、JNIを使用してJavaアプリケーションにロードすることは可能ですか?それとも、共有ライブラリでのみ機能しますか?
JNIのドキュメントで明確な答えを見つけることができませんでした。「静的ライブラリ」への参照がありません。
動的ライブラリである必要があります。幸いなことに、静的ライブラリから動的ライブラリを構築できます。
Java 8 は、静的にリンクされたネイティブ ライブラリをサポートしています http://openjdk.java.net/jeps/178
実行時にライブラリをロードするには、DLL (Windows) である必要があります。静的ライブラリ (lib) があり、JNI 経由で使用する必要がある場合は、ラッパー dll を作成する必要があります。
それをJVMにリンクする必要がありますが、それを行う方法はありません。そのため、JNI は静的ライブラリではなく共有ライブラリで定義されています。