首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GetStringUTFChars函数参数

GetStringUTFChars函数参数
EN

Stack Overflow用户
提问于 2013-09-24 13:49:20
回答 1查看 19.8K关注 0票数 11

我正在使用jni开发Android应用程序。

我使用GetStringUTFChars函数,如下所示

代码语言:javascript
复制
jboolean iscopy;
const char* trainfile = (env)->GetStringUTFChars(jstr, &iscopy);

但是我看到了另一个这样的例子

代码语言:javascript
复制
const char *inCStr = (*env)->GetStringUTFChars(env, inJNIStr, NULL);

两者都工作得很好。但是我找不到任何关于以前的语法的文档,即使它更简洁。

我在哪里可以找到文档,它们之间有什么区别吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-24 13:50:59

第一个例子是C++语法,它只适用于C++程序。第二个是针对C程序的。

两者不同的原因是,在C++中,JNIEnv是一个类,而函数是环境对象的成员函数,而在C中,JNIEnv是指向结构的指针。由于您接收的参数是指向JNIEnv的指针,在C中,您必须取消对它的引用才能访问结构成员,这就是为什么您必须使用*env代替env

关于如何使用JNI的任何文本中都应该包含这一点,但是您也可以通过阅读头文件中的代码来找到它。

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

https://stackoverflow.com/questions/18973866

复制
相关文章

相似问题

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