JNI开发之创建int数组返回
2017-07-05 11:53
337 查看
前言:如何使用JNI创建int数组并且返回给java。
----------分割线---------
JNI创建int数组返回java。
java代码:
----------完---------
----------分割线---------
JNI创建int数组返回java。
java代码:
public static void main(String[] args) { TestJni tj = new TestJni(); int[] javaLongArray = tj.javaIntArray(12); for (int i : javaLongArray) { System.out.print(i + " "); } } // 利用c创建一个len长度的int数组 public native int[] javaIntArray(int len); // 加载动态库 static { System.loadLibrary("JNI"); }C代码:
#include"com_fly_TestJni.h" JNIEXPORT jintArray JNICALL Java_com_fly_TestJni_javaIntArray (JNIEnv *env, jobject job, jint len){ //jintArray(JNICALL *NewIntArray)(JNIEnv *env, jsize len); //第一个参数 //第二个参数 创建数组的长度 jintArray jntarray = (*env)->NewIntArray(env, len); //数组转化为 jint* 类型 jint * jintp = (*env)->GetIntArrayElements(env, jntarray, NULL); for (int i = 0; i < len; i++) { //jint 本质long 所以可以赋值 jintp[i] = i * 10; } //释放同步 (*env)->ReleaseIntArrayElements(env, jntarray, jintp, 0); //返回 return jntarray; }运行截图:
----------完---------
相关文章推荐
- JNI对数组赋值排序,创建数组并返回给Java
- JNI 返回二维、三维,char、float、int、long型数组到java层
- JNI对数组赋值排序,创建数组并返回给Java
- JNI对数组赋值排序,创建数组并返回给Java
- java笔试题,对int数组排序后用String返回
- java 两个int数组删除重复的数字,并返回删除后的数组
- 关于C++调用jar包,在创建虚拟机时使用JNI_CreateJavaVM调用失败返回-1的问题
- Android JNI开发高级篇有关Android JNI开发中比较强大和有用的功能就是从JNI层创建、构造Java的类或执行Java层的方法获取属性等操作。 一、类的相关操作 1. jclass FindClass(JNIEnv *env, const char *name);
- [转载]:合并两个已排序好的int数组,并排序返回c#实现
- 结对开发之返回一个整数数组中最大子数组的和
- 利用函数重载分别创建三个函数,分别是计算2个数的和,3个数的和,4个数的和/利用函数重载分别创建三个函数,分别计算int类型数组中最大值,stirng 类型数组中最长的字符串,double类型数组中最
- Microsoft.Net框架程序设计学习笔记(21):数组的传递与返回、创建下限非0数组、快速访问数组
- 结对开发——返回一个整数数组中最大子数组的和
- 有关ndk、jni开发流程、数据类型、数组操作
- eclipse中创建NDK和JNI开发环境最简单配置方法
- 有一个函数int getNum(),每运行一次可以从一个数组V[N]里面取出一个数,N未知,当数取完的时候,函数返回NULL。现在要求写一个函数int get(),这个函数运行一次可以从V[N]里随机
- JNI学习笔记:(1)开篇(2)本地代码访问Java代码 (3)本地方法取得Java属性/调用java方法 (4)本地代码创建Java对象(包括javaString) (5) 本地方法处理java数组
- 对session对象在web开发中的创建以及sessionId生成并返回客户端的运行机制.
- jni返回结构体数组
- Android JNI开发摘录(二)之JNI数组处理