社区
Java SE
帖子详情
JNI的使用中GetIntField()参数怎么写?
Ruby00
2003-04-28 07:15:21
我编了一个程序,想在C一端取得Java的几个int变量并显示出来,我找了好几本书,只找到SetIntField()的使用方法,我想知道GetIntField()怎么用,如何传参,传过来以后,能不能赋给C的变量?能不能printf()显示出来?
...全文
1310
4
打赏
收藏
JNI的使用中GetIntField()参数怎么写?
我编了一个程序,想在C一端取得Java的几个int变量并显示出来,我找了好几本书,只找到SetIntField()的使用方法,我想知道GetIntField()怎么用,如何传参,传过来以后,能不能赋给C的变量?能不能printf()显示出来?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
judica
2003-07-03
打赏
举报
回复
我在java这边设计了这个一个参数传递进去
class A
{
int nA;
String sA;
}
class B
{
A aB;
}
现在定义一个JNI方法:
private native void testObject(B);
在c语言端,使用下面的方法打开
jclass cls = env->GetObjectClass(obj);//obj是传入的参数,得到的是B类的实例
fieldID fid = env->GetFieldID(cls,“aB”,“aB”);//得到aB属性的fid
jobject aObject = env->GetObjectField(cls,fid);//得到A类对象
jclass aCls = env->GetObjectClass(aObject);//得到A类对象的实例
可是得到A对象实例的时候有问题,执行不下去了
我想在这里得到nA和sA的值,不知道是不是这样来获取,还是要用其他方法,请高手指教
fenghui
2003-06-05
打赏
举报
回复
Get<type>Field 例程
NativeType Get<type>Field(JNIEnv *env, jobject obj,
jfieldID fieldID);
该访问器例程系列返回对象的实例(非静态)域的值。要访问的域由通过调用 GetFieldID() 而得到的域 ID 指定。
下表说明了 Get<type>Field 例程名及结果类型。应将 Get<type>Field 中的 type 替换为域的 Java 类型(或使用表中的某个实际例程名),然后将 NativeType 替换为该例程对应的本地类型。
表 4-1 Get<type>Field 访问器例程系列
Get<type>Field 例程名 本地类型
GetObjectField() jobject
GetBooleanField() jboolean
GetByteField() jbyte
GetCharField() jchar
GetShortField() jshort
GetIntField() jint
GetLongField() jlong
GetFloatField() jfloat
GetDoubleField() jdouble
参数:
env:JNI 接口指针。
obj:Java 对象(不能为 NULL)。
fieldID:有效的域 ID。
返回值:
域的内容。
Ruby00
2003-05-05
打赏
举报
回复
我下载了《Thinking in Java》,感觉书挺不错的,又找到一本《Java 2编程详解》还有《Java 核心(第二卷)》,说的好象是不太够。
mr9
2003-04-29
打赏
举报
回复
你说的都可以,但讲起来很麻烦,但你看看thinking in java的附录A就应该明白了。如果还不行,附录A还推荐了一本书(中国人写的,自豪吧)。
记住,在软件的世界里,没有什么是不可能的。
JNI
的
使用
实例与讲解(初学必备)
解决在windows环境下,java调用VC++编
写
的动态链接库dll,文档
中
写
了三个例子,①简单的入门小例子 ②java传整型数给dll,返回整型数,③java传两个整型数,返回整型数组,每个例子都有详细的说明,帮助初学者理解
JNI
的
使用
流程和原理!!
Android
中
的
JNI
的
使用
_2
Android
中
的
JNI
的
使用
JNI
入门教程之HelloWorld篇
JNI
入门教程之HelloWorld篇 它用来描述硬盘信息 所有本地代码必须用本地关键词声明,成为Java类的成员
android
jni
传递对象的demo
android
jni
传递对象的demo,展示了如何在java与C之间传递对象。详细介绍见相关博客。
JNI
层传递数据
jni
获取内部类对象,多层结构体嵌套,
jni
层按位接收解析数据很方便
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章