首页
社区
课程
招聘
[求助]jni中指针变量的疑惑
2015-4-16 14:57 7178

[求助]jni中指针变量的疑惑

2015-4-16 14:57
7178
大家好,我是初次接触jni的菜鸟。
我在调试一个jni的函数的时候例如如下函数:
Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj, jbyteArray ba, jint size)

env和obj貌似都是在调试的时候找到他在内存中的地址和它所对应值。jint就是一个普通的数值放在寄存器里的。jbyteArray就有点怪了,我在调试的时候显示0x1d300005。这个值在内存中找不到,即使真的有这个地址,跳过去的话也是很怪的值,与原先的值不同。我查了下定义:
typedef _jbyteArray *jbyteArray;
也就是说这个变量是个指针类型的,那么就有个疑虑了,那些带有j开头的指针类型的变量值是放在哪呢?有哪位大大能帮助我一下呢?

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 244
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ShadoWWinL 2015-4-16 21:58
2
0
翻一下jni。c(cpp)
就行了。
应该是java对象的底层表示。。
雪    币: 102
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zhengweird 2015-4-17 10:21
3
0
呵呵。我已经下载了JDK源码。看了部分,大概知道了实现原理。个人感觉逆向调试的时候去看那些j开头变量的底层值过于复杂也没必要。
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
exile 1 2015-4-17 10:45
4
0
类似一个handle 用来索引真实的object
雪    币: 102
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zhengweird 2015-4-17 11:03
5
0
嗯。。我也是那么认为的。就是个句柄而已。
游客
登录 | 注册 方可回帖
返回