@MemberGetter
と@ValueGetter
の注釈の違いはJavaCPP
ですか?JavaCPP ValueGetterとMemberGetter
どのようなユースケースですか?
私は2つの定数
static const int TRANSPOSE = 0;
static const int NO_TRANSPOSE = 1;
Java側でその値を取得するprefferred方法は何である
とCのヘッダファイルがありますか?UPDATE:私は、JavaCPPジェネレータソースcode読んで行われ、いくつかの実験をし、両方の方法でこれをやってしまったとの両方が機能しているしまし
。ここにJavaサンプルがあります(詳細はgithub projectをご覧ください)。
private static native @MemberGetter @Const int TRANSPOSE();
private static native @ValueGetter @Const int NO_TRANSPOSE();
しかし、私はまだ違いは何か分かりません。どちらのアノテーションも同じC++コードを生成しました。
JNIEXPORT jint JNICALL Java_com_rtbhouse_model_natives_NeuralNetworkNativeOps_TRANSPOSE(JNIEnv* env, jclass cls) {
jint rarg = 0;
const int rvalue = (const int)TRANSPOSE;
rarg = (jint)rvalue;
return rarg;
}
JNIEXPORT jint JNICALL Java_com_rtbhouse_model_natives_NeuralNetworkNativeOps_NO_1TRANSPOSE(JNIEnv* env, jclass cls) {
jint rarg = 0;
const int rvalue = (const int)NO_TRANSPOSE;
rarg = (jint)rvalue;
return rarg;
}
@SamuelAudetからいくつかの回答がありました。たとえば、このクールな投稿です。http://stackoverflow.com/a/10809123/3805131 私は彼がこの質問にも答えることを願っています。そうでなければ、私はさらに行くつもりです:)ありがとう。 – tworec