回答編集履歴

2

誤記訂正

2017/04/07 07:47

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -56,7 +56,7 @@
56
56
 
57
57
  jfieldID var = env->GetFieldID(jsampleInit, "name", "Ljava/lang/String;");
58
58
 
59
- jstring jstr = (jstring)env->GetObjectField(jsampleInit, var);
59
+ jstring jstr = (jstring)env->GetObjectField(jelement, var);
60
60
 
61
61
  ```
62
62
 

1

訂正

2017/04/07 07:47

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -80,4 +80,16 @@
80
80
 
81
81
 
82
82
 
83
+ ---
84
+
85
+ 追記1:ここから
86
+
87
+ JNIの仕様を眺めていてもう一つ重要なjclassの求め方があることに気づきました。Java側でnativeメソッドがstaticと宣言されている場合、C++で定義された関数の第二引数にクラスオブジェクトが渡されます。ただし、そこに渡されるのはnativeメソッドを定義したクラスであって、引数に渡されるクラスと同じではありませんのでその点注意してください。
88
+
89
+ 追記1:ここまで
90
+
91
+
92
+
93
+ ---
94
+
83
95
  Class<?>のインスタンスをJNIへ渡せばjobject => jclassに変換してもよいのでしょうか・・・残念ながらそれができるかどうか自分には分かりません><