jniでツリーマップをjavaからcに渡したいです。ネイティブ メソッドを呼び出します。
public native int getEuklid(TreeMap<int,short[]> map);
static {
System.loadLibrary("Euklid");
}
私のcファイルでは、マップ内の要素にアクセスしたいと考えています。どうすればそれができますか。これは私のcファイルのヘッダーです:
JNIEXPORT int JNICALL
Java_Main_getEuklid (JNIEnv *env, jobject o, jobject o2)
o2 はツリーマップです。Javaのツリーマップのように、そのジョブジェクトをどのように処理できますか?
編集:
私のせいはどこですか?:
JNIEXPORT int JNICALL
Java_Main_getEuklid (JNIEnv *env, jobject o, jobject o2){
jclass cls = env->GetObjectClass(o2) ;
jmethodID mGetValue = env->GetMethodID(cls, "keySet","()Ljava/util/Set;");
jobject value = env->CallObjectMethod(o2, mGetValue)
私はなりました:
In function ‘Java_Main_getEuklid’:
11: error: request for member ‘GetObjectClass’ in something not a structure or union
12: error: request for member ‘GetMethodID’ in something not a structure or union
13: error: request for member ‘CallObjectMethod’ in something not a structure or union
私はcが初めてで、何かをテストしたいので、助けていただければ幸いです。