社区
Java SE
帖子详情
高分求助---jni如何处理java二维数组的传递问题。
NewStarter
2006-03-25 03:12:42
高分求助---jni如何处理java二维数组的传递问题。
...全文
460
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
Java
CV系列之1:
Java
CV小白开窍必备神器
具体内容包括:
---
---
---
---
---
---
---
---
---
---
---
---
---
---
-
Java
CV开发环境搭建;
Java
CV犹抱琵琶半遮面;
Java
CV的前世今生;
Java
CPP与
JNI
打牢基本功;
Java
CV的四大核心组件(FrameGrabber、FrameRecorder、...
JNI
学习笔记:
二维数组
的使用
1 前言 2 程序一:
Java
类中的
二维数组
成员传值给C++并求和 2.1 代码 2.2 总结 3 程序二:C++代码修改
Java
类中的
二维数组
3.1 代码 3.2 总结 4 程序三:C++代码中返回一个
二维数组
给
Java
类 4.1 代码 4.2 总结 1 前言
二维数组
在
JNI
中的传值,与一维数组有些微不同。逻辑上,
二维数组
是一个类似于行列式的数据结...
Android Studio开发之
JNI
层开发
---
jni
层返回
二维数组
对象
说明:本博客记录一下,
jni
层返回二维PointF对象数组。 1、
Java
层接口定义: public native PointF[][] GetMultiArrayPf(); 2、
JNI
层实现: extern "C"
JNI
EXPORT jobjectArray
JNI
CALL
Java
_com_terawins_www_demo007_
Java
_1Interface_GetMulti...
NDK/
JNI
二维数组
多维数组
传递
1.NDK/
JNI
二维数组
多维数组
传递
一、
java
层 二、
jni
层
Java
_cn_baipess_native(
JNI
Env* env,jobject thiz,jobjectArray qizidata) { jint i,j; int size = (*env)->GetArrayL
JNI
内两种方式从C/C++中
传递
一维、二维、三维数组数据至
Java
层详细梳理
就如之前我写过的一篇文章【
JNI
内形参从C代码中获取返回值并返回到
Java
层使用】中所描述的一样,
JNI
编程往往需要考虑的就是如何将C/C++中计算分析得到的数据
传递
至
Java
层。
传递
的方式就有两种:①直接通过函数return出来;②再就是通过形参获取得到。在以上文章内介绍了int值得
传递
情况,这篇文章则具体讲述数组得
传递
方式和操作,包括一维数组、
二维数组
以及三维数组,数组使用到三维基本满足了绝大部分的使用需求了。
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章