0


0

1つのプロジェクトでのC ++とJavaの統合。 それは可能ですか?

そう…​ Win 7およびいくつかのLinuxサーバーでテストされるプロジェクトがあります。 フロントエンドとしてHSQLDB、Hibernate、Spring、Blaze DS、およびFlash(Flex RIA)を使用するWebサービスになります。 JavaでラップされたクロスプラットフォームC ++コード(Open-CVを使用)で実装されるいくつかの画像フィルタリング/編集機能を実装する必要があります。

C / C ++ライブラリを使用するクロスプラットフォームJavaプロジェクトを作成する方法についてのチュートリアルが必要です*(ほとんどの場合、クロスプラットフォームコンパイルの問題と、そのようなことをサポートするIDEに興味があります)

3 Answer


1


JNIを使​​用する必要があります。 Javaは完全にクロスプラットフォームになり、1つのプロジェクトになります。 C ++の場合、JNI呼び出し可能インターフェースを作成し、動的ライブラリとしてビルドする必要があります。 コードはかなりクロスプラットフォームであるべきですが、実際のビルドは異なります。

Linuxでは、.soとしてビルドする必要があり、おそらくgccを使用します。 Windowsでは、おそらくVisual Studioを使用して.dllをビルドします。 ビルドは異なります。


1


Java Native Interfaceの恩恵を受けるようです。 Javaから使用したい既存のCおよびC ++コードがある場合は、http://kenai.com/projects/gluegen/pages/Home [GlueGen]のようなものを真剣に検討することをお勧めします。 Cコードにアクセスするコードを生成する時間を大幅に節約できます。

公式のJava JNIの例http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniexamp.html [こちら]をご覧ください。