
JNI
文章平均质量分 92
落花生雪
编程架构 专注新技术 忠于研发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Jni如何传递并且修改两个基础参数
最近在开发jni时,需要返回多个参数给java。这个过程中,碰到了一些问题,值得探讨一下。 具体是这样,jni方法jni_do_something作了底层处理后,得出两个int数据,需要将他们的值传递给java。在C语言中,直接用指针就可以了。Java中可以传递两个Integer的引用。用JNI怎么实现呢?我在android frameworks源代码中看了一下,对于类似传值需求,android都...转载 2018-03-07 18:33:04 · 1606 阅读 · 2 评论 -
JNI层与Java层结构体传递
JNI层与Java层结构体传递 最近在做移动终端开发,需要把native层C++一些统计数据传递给java层使用,在做这部分功能的时候发现JNI层与Java层结构体以及内嵌结构体传递在网上的资料甚少,因此完成功能后做一下这方面的总结,方面后人学习。 JNI函数返回一个结构体 首先我们定义C层的结构体和函数 typedef struct _VoiceAPIStat { int ...转载 2018-10-13 12:19:32 · 1926 阅读 · 0 评论 -
JNI编程(二) —— 让C++和Java相互调用
在第一篇里,大概介绍了 JNI的特点、用途和优劣。并且做一个最简单的JNI的例子,不过说实话那个例子在实际的开发中没有太大的价值,实际开发中所需要的JNI程序要远远比那个复杂。所以这一篇就来介绍下如何通过JNI实现java和C++的相互通信,来满足实际开发的需要。 所谓”通信“,其实说白了无非也就是我们所说的方法调用,在上一篇的例子里介绍了如何在Java中调用本地的DLL,其实在Java代码中,除...转载 2018-03-14 17:20:27 · 507 阅读 · 0 评论 -
Android jni 常用方法备忘
Android jni 常用方法备忘 有关Android JNI开发中比较强大和有用的功能就是从JNI层创建、构造Java的类或执行Java层的方法获取属性等操作。 一、类的相关操作 1. jclass FindClass(JNIEnv *env, const char *name); 查找类 该函数可能做过Java开发的不会陌生,这个是JNI层的实现,需要注意的是第二个参数为const char...转载 2018-03-14 17:19:07 · 190 阅读 · 0 评论 -
Java JNI由浅入深(包括:Java和C++互传ArrayList泛型对象参数)
Java JNI由浅入深(包括:Java和C++互传ArrayList泛型对象参数) 我们知道Java是一个运行在虚拟机里面的高级的编程语言,如果要调用系统的动态链接库的话,就要先声明native修饰的方法(类似接口里面的方法),再由C/C++程序来实现(类似实现接口里的方法)。这样Java调用这些native方法就相当于调用了C/C++里面实现了的方法。通常我们把这种机制叫做...转载 2018-03-14 17:14:44 · 637 阅读 · 0 评论 -
JNI学习积累之一 ---- 常用函数大全
本文原创,转载请注明出处:http://blog.csdn.net/qinjuning 最近一段时间,在工作方面比较闲,分配的Bug不是很多,于是好好利用这段时间就着...转载 2018-03-07 18:38:28 · 158 阅读 · 0 评论 -
JNI学习积累之二 ---- 数据类型映射、域描述符说明
本文原创,转载请注明出处:http://blog.csdn.net/qinjuning 在Java存在两种数据类型: 基本类型 和 引用类型 ,大家都懂的 。 在JNI的世界里也存在类似的数据类型,与Java比...转载 2018-03-07 18:37:13 · 174 阅读 · 0 评论 -
JNI学习积累之三 ---- 操作JNI函数以及复杂对象传递
本文原创,转载请注明出处:http://blog.csdn.net/qinjuning 在掌握了JNI函数的使用和相关类型的映射后,以及知晓何利用javah工具生成对应的jni函数以及如何生成动态 链接库...转载 2018-03-07 18:36:22 · 353 阅读 · 0 评论 -
jni 形参以及返回值
原网页:http://www.blogjava.net/china-qd/archive/2006/04/29/44002.htmlJni中C++和Java的参数传递如何使用JNI的一些基本方法和过程在网上多如牛毛,如果你对Jni不甚了解,不知道Jni是做什么的,如何建立一个基本的jni程序,或许可以参考下面下面这些文章:利用VC++6.0实现JNI的最简单的例子JNI入门教程之HelloWorl...转载 2018-03-07 18:35:26 · 2488 阅读 · 1 评论 -
JNI C++ 开发流程概要
一.生成.h文件 win+x,运行 cmd,cd java工程bin文件夹 运行 javah -jni <classes> bin文件夹的同级目录生成<classes>.h文件 vs2010打开<classes>.h文件,<jni.h> 修改为 "jni.h" vs2010 新建<classes>.cpp文件,编写JNI本地...原创 2018-10-17 20:14:08 · 558 阅读 · 0 评论