Java で使用する C++ のクラスの定義を含む 3 番目の部分の dll があります。私は、dll のパブリック メソッドについて完全な知識を持っています。これらを使用するために、オブジェクトを作成し、必要に応じて dll 内の関数を呼び出すラッパー C++ プログラムを使用しています。そして、JNI を使用して、この C++ コードを Java とインターフェースします。これを行う他の効率的な方法はありますか?つまり、クラスのオブジェクトを作成し、JNI または Java の他のライブラリを使用してその関数を直接使用することです。
2 に答える
1
Java からネイティブ (C/C++) コードを呼び出すには、ネイティブの世界と Java の間でオブジェクトのマーシャリングを行う必要があります。JNI はそれを行うだけで、あなたのアプローチは私にはぴったりです。
于 2011-06-09T16:20:16.607 に答える
0
Java で C++ クラスを直接使用するには、CNI を使用する必要があります。つまり、gcj (Java 用の gnu コンパイラ) を使用する必要があります。それ以外の場合は、jni ラッパー クラスを自分で作成する必要があります。
于 2011-06-09T16:52:23.667 に答える