@MemberGetter
和 和 和有什么不@ValueGetter
一样JavaCPP
?
它们的用例是什么?
我有两个常量的 C 头文件
static const int TRANSPOSE = 0;
static const int NO_TRANSPOSE = 1;
在 Java 端获取它们的值的首选方法是什么?
更新:
我已经阅读了 JavaCPP Generator 源代码,做了一些实验,最终以两种方式都这样做了,而且两者都在工作。这是 java 示例(有关更多信息,请参阅我们的github 项目)。
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;
}