社区
Java SE
帖子详情
高分求助---jni如何处理java二维数组的传递问题。
NewStarter
2006-03-25 03:12:42
高分求助---jni如何处理java二维数组的传递问题。
...全文
532
9
打赏
收藏
高分求助---jni如何处理java二维数组的传递问题。
高分求助---jni如何处理java二维数组的传递问题。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yuzl32
2006-05-30
打赏
举报
回复
JAVA中没有二级指针的概念,JNI也没提供相应的操作函数.强制转换过程会发生错误.
cambridgeboy
2006-05-30
打赏
举报
回复
JAVA中没有二级指针的概念,JNI也没提供相应的操作函数.强制转换过程会发生错误.
哪该怎么办?
wby8888
2006-05-25
打赏
举报
回复
我也被这个问题难住了,哪位会的给讲一下,最好给出例子代码。
比如一个//输入一个boolean二维数组
java代码:
//输入一个boolean二维数组
public native void setArray(boolean[][] blList);
boolean[][] blList = { {true, false},{true,true},{false,false} };
myclass.setArray(blList);
生成头文件代码:
JNIEXPORT void JNICALL myclass_setArray
(JNIEnv *, jobject, jobjectArray);
二维数组boolean[][] 被转换为jobjectArray,
C文件代码:
JNIEXPORT void JNICALL Java_com_sundy_jnidemo_ChangeMethodFromJni_setArray
(JNIEnv *env, jobject, jobjectArray ba)
{
jobject pba = (env)->GetObjectArrayElement (ba, 0 );
jsize len = (env)->GetArrayLength(ba);
int i=0;
for( i=0; i < len; i+=1 )
{
printf( "boolean = %s\n", pba );
}
}
wby8888
2006-05-25
打赏
举报
回复
我也被这个问题难住了,哪位会的给讲一下,最好给出例子代码。
比如一个//输入一个boolean二维数组
java代码:
//输入一个boolean二维数组
public native void setArray(boolean[][] blList);
boolean[][] blList = { {true, false},{true,true},{false,false} };
myclass.setArray(blList);
生成头文件代码:
JNIEXPORT void JNICALL myclass_setArray
(JNIEnv *, jobject, jobjectArray);
二维数组boolean[][] 被转换为jobjectArray,
C文件代码:
JNIEXPORT void JNICALL Java_com_sundy_jnidemo_ChangeMethodFromJni_setArray
(JNIEnv *env, jobject, jobjectArray ba)
{
jobject pba = (env)->GetObjectArrayElement (ba, 0 );
jsize len = (env)->GetArrayLength(ba);
int i=0;
for( i=0; i < len; i+=1 )
{
printf( "boolean = %s\n", pba );
}
}
问题就是怎么把jobjectArray 转换为一个二维的jbooleanArray
或者把jobjectArray 中的元素(jobject pba = (env)->GetObjectArrayElement (ba, 0 );)
转换为一个一维的jbooleanArray
http://www.iplab.cs.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/guide/jni/spec/functions.doc.html#17314
这里边根本没有二维数组的概念,也没有相互转化的方法
救命啊!!
wby8888
2006-05-25
打赏
举报
回复
我也被这个问题难住了,哪位会的给讲一下,最好给出例子代码。
比如一个//输入一个boolean二维数组
java代码:
//输入一个boolean二维数组
public native void setArray(boolean[][] blList);
boolean[][] blList = { {true, false},{true,true},{false,false} };
myclass.setArray(blList);
生成头文件代码:
JNIEXPORT void JNICALL myclass_setArray
(JNIEnv *, jobject, jobjectArray);
二维数组boolean[][] 被转换为jobjectArray,
C文件代码:
JNIEXPORT void JNICALL Java_com_sundy_jnidemo_ChangeMethodFromJni_setArray
(JNIEnv *env, jobject, jobjectArray ba)
{
jobject pba = (env)->GetObjectArrayElement (ba, 0 );
jsize len = (env)->GetArrayLength(ba);
int i=0;
for( i=0; i < len; i+=1 )
{
printf( "boolean = %s\n", pba );
}
}
问题就是怎么把jobjectArray 转换为一个二维的jbooleanArray
或者把jobjectArray 中的元素(jobject pba = (env)->GetObjectArrayElement (ba, 0 );)
转换为一个一维的jbooleanArray
http://www.iplab.cs.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/guide/jni/spec/functions.doc.html#17314
这里边根本没有二维数组的概念,也没有相互转化的方法
救命啊!!
treeroot
2006-03-29
打赏
举报
回复
一样的吧,能处理一维当然可以处理二维
cleansunshing
2006-03-29
打赏
举报
回复
顶
yuzl32
2006-03-25
打赏
举报
回复
不好处理啊.
tomuno
2006-03-25
打赏
举报
回复
和其他的JIN处理没有什么特别的
只是要看你的数组是由哪种基本类型组成的
http://www.jcwcn.com/html/Java/10_43_37_489.htm
JNI
学习笔记:
二维数组
的使用
这篇博客详细介绍了
JNI
中
二维数组
的
处理
方法,包括从
Java
传
二维数组
到C++并求和,C++修改
Java
类中的
二维数组
元素,以及C++返回
二维数组
给
Java
。每个程序都包含
Java
和C++的代码示例,并有相应的总结。
JNI
层向
Java
层
传递
bitmap
在将图像
处理
SDK从C/C++移植到Android时,
JNI
接口用于封装调用。当需要在
JNI
层和
Java
层之间
传递
Bitmap时,有两种策略:1)
Java
层预先创建Bitmap对象并传给
JNI
,但可能不知道具体尺寸;2)
JNI
层通过回调
Java
的Bitmap类动态创建并返回。Android.mk中需添加-l
jni
graphics库来支持AndroidBitmap操作。
JNI
编程之如何
传递
参数(二)——数组类型的
传递
本文深入探讨了
Java
与
JNI
之间的数组交互,详细解释了如何
处理
基本类型和字符串数组,包括一维和
二维数组
的创建、赋值及返回过程。
JNI
中如何
处理
Java
对象作为参数的
传递
?如何通过
JNI
调用
Java
方法并
传递
基本数据类型参数?...
Java
Native Interface (
JNI
) 允许
Java
程序与 C 或 C++ 本地代码交互。本文介绍了
JNI
基础,包括函数基本结构和数据类型映射,详细阐述了通过
JNI
调用
Java
方法并
传递
不同类型参数的方法,还提及了参数类型不匹配、内存管理和异常
处理
等常见
问题
及解决方案。
JNI
中C++和
Java
的参数
传递
(
JNI
参数
传递
)
本文详细介绍了如何在
JNI
中实现C++与
Java
之间的参数
传递
,包括基本类型、数组及复杂对象的
处理
方式。通过实例展示了如何定义
Java
类与C++结构相对应,以及如何在C++中操作
Java
对象。
Java SE
62,622
社区成员
307,255
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章