@MemberGetter
和@ValueGetter
注解在JavaCPP
有什么区别?JavaCPP ValueGetter vs MemberGetter
他们的用例是什么?
我有两个常量
static const int TRANSPOSE = 0;
static const int NO_TRANSPOSE = 1;
什么是prefferred方式在Java方面得到他们的价值观的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