0

2つのC++ライブラリをリンクするのと同じように、C ++ライブラリをJavaプログラムに静的にリンクして、それらを1つのファイルにすることは可能ですか?
(JavaプログラムもEXEにコンパイルできることを読みました)。

4

3 に答える 3

1

理論的には、これにより、JVMで使用される必要なJNI関数をすでに含む1つのEXEを作成できるはずです。

このEXEは、同じプロセスでJVMインスタンスを起動してJavaパーツをロードする必要があります(jvm.dllをロードし、c++のJNIJavaで示されているように実行します)。

私が知っているJava-EXEラッパーは、使用済みのJARをリソースとしてアタッチするコンパイル済みのEXEが付属しているため、このようなものはサポートしていません。したがって、独自のC / C ++実行可能ファイルを作成し、必要なすべての機能を実装する必要があると思います。

于 2012-06-15T09:46:28.537 に答える
0

JNIを使​​用するときは、JNIをサポートするdllをjarファイルに含めます。次に、クラスパスでアクセスします。単一のjarファイルがあります。

于 2012-06-15T09:53:04.897 に答える
0

静的バージョンのjvm.libライブラリにアクセスできない限り、それは不可能です。jvm.dllを参照するダイナミックリンクライブラリとして配布されています。あなたはこれを行うことはできません。

于 2012-06-15T10:18:43.867 に答える