3

C++ dll クラスがあります。JNIメソッドを使って構造体配列をJavaアプレットに返したい。Javaからアクセスするにはどうすればよいですか?

(構造体配列には異なるタイプの構造体が含まれます)

すでに文字列配列を返しました---

public native String[] fun();

JNIEXPORT jobjectArray JNICALL Java_fun(JNIEnv* pEnv, jobject Pobj)
{
}

しかし、構造体配列の操作方法がわかりませんでした。

誰か教えてください。

4

3 に答える 3

1

Java オブジェクトと同じ構造を構築する必要があります。C++ 構造の値を JNI の Java 構造にコピーします。Java 構造を返し、それを通常の Java オブジェクトとして使用します。

于 2012-06-15T12:27:13.440 に答える
0

JavaCPPを使用すると、面倒な C++ JNI コードがすべて生成されます。Pointer.position()次に、構造体のネイティブ配列をナビゲートするために Java から呼び出すだけで済みます。

于 2012-06-16T03:43:26.873 に答える
0

Sun at Sun からの良いコード例がいくつかあります: STrings and Arrays

試してみて、進捗状況を教えてください。

于 2012-06-16T01:40:41.160 に答える