首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaCPP ValueGetter vs MemberGetter

JavaCPP ValueGetter vs MemberGetter
EN

Stack Overflow用户
提问于 2016-11-04 08:20:20
回答 2查看 159关注 0票数 2

@MemberGetter@ValueGetter注释在JavaCPP中的区别是什么?

他们的用例是什么?

我有两个常量的C头文件

代码语言:javascript
复制
static const int TRANSPOSE = 0;
static const int NO_TRANSPOSE = 1;

在Java端获取它们的值的预先方法是什么?

更新:

我读过JavaCPP生成器源代码代码,做了一些实验,最后用两种方式完成了这一工作,而且都在工作。下面是java示例(更多信息请参见我们的github项目 )。

代码语言:javascript
复制
private static native @MemberGetter @Const int TRANSPOSE();
private static native @ValueGetter @Const int NO_TRANSPOSE();

但我还是不知道有什么区别。这两个注释产生了相同的C++代码。

代码语言:javascript
复制
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;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-05 04:15:28

对于全局变量和宏,没有太大的区别。对于类,一对本机get()put()方法默认为值getter和setter,映射到指针的[]运算符,通常用于访问数组的元素。其他getter和setter对用于访问字段,如native int n(); native void n(int n)默认为成员变量int n的成员getter和setter。@ValueGetter@ValueSetter@MemberGetter@MemberSetter@Function注释可用于更改默认行为并为方法使用其他名称。

票数 1
EN

Stack Overflow用户

发布于 2016-11-04 08:35:55

这似乎是一个相对较小的开源项目。我不希望你在这里询问这样的事情时会得到很多反馈。因此,帮助你解决问题的答案是:使用不同的研究策略:

  1. 首先,它是开源。只需转到github并克隆该存储库并开始使用它。阅读源代码,搜索这些注释,并尝试是否可以找到它们的用法。
  2. 只需与该产品周围的社区联系;最简单的方式是.只需给主贡献者 of JavaCPP写一封电子邮件。

长话短说:答案是-你需要更“精力充沛”才能得到答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40418052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档