2009-11-20 10 views
11

Window XPのアニメーションdllを作成したい Java2dアニメーションを作成し、dllとして書き出してもよろしいですか?Javaを使用してDLLを作成することはできますか?

+0

なぜdownvoteですか?私はこの質問はかなり簡単だと思います。 –

+1

私は、その疑問がOPのより高いレベルの目標についてより具体的であることを望む誰かからdvが来たと推測します。個人的には、この場合、コメントは十分ではありますが、好みはさまざまだと思います。 – bmargulies

答えて

12

はいを​​DLLがないJavaからの.jarファイルを作成することができますかなり確信しています。 JNIへの呼び出しインタフェースでJVMを起動し、JNIを呼び出すには、C++でコードを記述する必要があります。しかし、Windows環境アプリケーションとシームレスに統合してアニメーションを表示するこのような方法でウィンドウを作成することは難しいかもしれません。これはかなり高度なJNIの使い方です.JNIの本を少し読んでみることをお勧めします。

+1

技術的には正しいのですが、上の質問で説明した仕事のためにJavaを使うのは良い考えではありません。 –

+0

真。非常に特別な理由があります。 java2dとnativeのコードを好むだけではそれはできません。 – bmargulies

+0

私の場合は、JavaFXのようなものがないので、私はそれを試すかもしれません。 Qtには非推奨のコード、多くのマクロ、そして非常に多くの不必要なものがありますが、同じ機能を持つ他のすべてのC++ UIライブラリは、基本的には奇抜なHTML標準を使用するHTMLレイアウトエンジンです... – Johannes

1

私はあなただけ

+1

私たちの誰かが彼が尋ねることを意味する質問に答えていますが、私たちのどちらがいいか分かりません:-) – bmargulies

+0

私はあなたの答えが+1であることを確信しています:) – James

+0

@bmargulies:+1 –

2

そこにいくつかのサードパーティのツールがない限り、私はそうだと思います。グラフィックスが関与しているあなたの場合、チャンスはさらに低くなります。

0

私はbmarguliesに同意します。エキスパートにとってはおそらく実現可能ですが、それは大きなDLLであり、一緒に働かなかった技術を混在させることになります。私の意見では、これを試しても意味がありません。

2

いいえ、IIRCできません。 DLLはロード時に直接リンクされます。 Javaコードにはjvmが必要なので、jvmを起動してそこでコードを起動するdllのみを提供できますが、必ずしもdllにすべてのものが入っているわけではありません。

これは行わないでください。あなたの問題に間違ったアプローチをしようとしているようです。

1

JavaコードとJava以外のコードを互いに呼び出すことができる「ブリッジ」があります。達成しようとしているものによっては、Javaコードを記述してから、DLLを作成する言語に応じてC++またはC#DLLから呼び出すことができます。あなたが必要とする橋。私は自由に用意された橋を見たことがない。見たときに見つけたものはすべて購入しなければなりませんでした。

0

うーん...

  1. GCJ is available for Windows
  2. GCJはGCCの一部です。
  3. GCC can create dlls

GCJを使用してDLLをビルドすることもできます。

+0

しかし、GCJはまだクラスファイルを生成しますか?これは、http://www.autexier.de/jmau/dev/gcj.htmlに従ってJVM –

+0

が必要であることを意味します.gcjはまだクラスファイルを生成します –

1

実際には、クエンティンの言うことはうまくいくはずです。
GCJでjava to nativeをコンパイルする場合、最初に.javaファイルをプラットフォーム固有の.o(オブジェクト)ファイルにコンパイルします。おそらく.oファイルをexeではなくdllにコンパイルします。 GCJには、ガベージコレクタや基本のJavaライブラリなどのコンポーネントも含まれています。いずれも実行するにはJVMが必要です。これは、dllが巨大になることです。 GCJでコンパイルすると、簡単な「Hello World」アプリはすべてのデフォルトのlibとガベージコレクタのおかげで~35MBになります。同様にあなたのdllは巨大です。

関連する問題