心胸决定格局,眼界决定境界...

文章分类 -  Android

摘要:http://jingyan.baidu.com/album/ac6a9a5e7dbe282b653eac9b.html?picindex=8 阅读全文
posted @ 2016-03-23 16:31 WELEN 阅读(84) 评论(0) 推荐(0)
摘要:做Android NDK开发时,c代码需要用ndk-build来进行编译,而java代码则需要用Android sdk编译。 编译c代码有两种方法: 一、写好c代码后,然后用cygwin搭建ndk-build环境,用ndk-build来编译出相关的.so文件(libs目录)之后, 再用eclipse 阅读全文
posted @ 2016-03-23 14:12 WELEN 阅读(352) 评论(0) 推荐(0)
摘要:http://www.devtf.cn/?p=669 阅读全文
posted @ 2016-03-13 22:54 WELEN 阅读(96) 评论(0) 推荐(0)
摘要:ARM官方发布的一个开源库 Ne10。里面提供了大量的浮点运算、矢量计算,和矩阵操作函数,可以帮助开发者快速创建Neon应用。 现有模块: 信号处理(DSP) 数学(math) 图像处理(imagproc) 阅读全文
posted @ 2016-03-12 21:46 WELEN 阅读(1425) 评论(0) 推荐(0)
摘要:http://blog.cutterman.cn/?p=81 阅读全文
posted @ 2016-03-10 16:58 WELEN 阅读(134) 评论(0) 推荐(0)
摘要:How to write ARM Assembly code for Android or iPhone: To write Assembly language code for ARM (Android, iPhone or iPad), you can either: write inline 阅读全文
posted @ 2016-03-09 23:02 WELEN 阅读(285) 评论(0) 推荐(0)
摘要:ARM嵌入式开发五金|工具可分为六大类:RealView MDK中国版开发套件、RealView开发套件、Keil 8051/166工具、ARM应用评估板、ARM系统评估板、以及Keil 8051/166评估板。其中RealView MDK中国版开发套件由MDK开发工具、ULINK2仿真器和Real 阅读全文
posted @ 2016-03-09 22:27 WELEN 阅读(536) 评论(0) 推荐(0)
摘要:最近有位同事接私活时遇到一个问题,用 Keil-5 可以打开甲方给的工程,但是仿真和下载出错。 根据报的错误,找到了问题,原来是 Keil 5 不支持 LPC2368 这款设备。如下图: 打开 pack installer 也没有找到 LPC2000 系列的单片机。如下图: 最后去官网溜达了一圈,在 阅读全文
posted @ 2016-03-09 17:07 WELEN 阅读(979) 评论(0) 推荐(0)
摘要:java层已经内部实现了,所以无需用javah生成h头文件,因为这不是C/C++需要去实现。 因为C/C++需要通过JNIEnv调用java层,所以需要java层类的api的签名,这样通过Jni来调用java的api。 根据C/C++调用java层API的目的和业务,实现C++类的接口。 #incl 阅读全文
posted @ 2016-03-04 16:16 WELEN 阅读(510) 评论(0) 推荐(0)
摘要:JavaVM接口第一种方式,在加载动态链接库的时候,JVM会调用JNI_OnLoad(JavaVM* jvm, void* reserved)(如果定义了该函数)。第一个参数会传入JavaVM指针。第二种方式,在native code中调用JNI_CreateJavaVM(&jvm, (void** 阅读全文
posted @ 2016-03-04 15:54 WELEN 阅读(1989) 评论(1) 推荐(0)
摘要:一、jni调用java对象 JNI提供的功能之一是在本地代码中使用Java对象。包括:创建一个java类对象和通过函数传递一个java对象。创建一个java类对象,首先需要得到得到使用FindClass/GetObjectClass函数得到该类,然后使用GetMethodID方法得到该类的方法id, 阅读全文
posted @ 2016-03-04 15:25 WELEN 阅读(125) 评论(0) 推荐(0)
摘要:AttachCurrentThreadAsDaemon(JavaVM* vm, void** penv, void* args); 首先确认一下你确实读到了官方文档:http://docs.oracle.com/javase/6/docs/technotes/guides/jni/spec/jniT 阅读全文
posted @ 2016-03-04 15:10 WELEN 阅读(1751) 评论(0) 推荐(0)
摘要:ID可以缓存 static jfieldID jfieldContext; typedef union { JNIEnv* env; void* venv;} UnionJNIEnvToVoid; jint JNI_OnLoad(JavaVM* vm, void* reserved) { Union 阅读全文
posted @ 2016-03-04 11:45 WELEN 阅读(2166) 评论(0) 推荐(0)
摘要:Andoird 中使用了一种不同传统Java JNI的方式来定义其native的函数。其中很重要的区别是Andorid使用了一种Java 和 C 函数的映射表数组,并在其中描述了函数的参数和返回值。这个数组的类型是JNINativeMethod,定义如下: typedef struct {const 阅读全文
posted @ 2016-03-03 22:08 WELEN 阅读(1677) 评论(0) 推荐(0)
摘要:找了好久关于android调用C/C++库的文章,但是始终没有一片是关于android利用jni调用C++自定义类的文章,无奈只好看android的源代码,学习android的图形库的实现,因为它的实现底层也是利用C++的skia库。下面就3个文件来描述。 首先是你在java中的一个类,用于你在应用 阅读全文
posted @ 2016-03-03 19:59 WELEN 阅读(530) 评论(0) 推荐(0)
摘要:前段时间用C++实现了一个数据库连接的类,类中包含了一些连接和断开操作。我想在java中调用这些功能。jni方法提供了只是函数接口的调用而没有类的调用(有关函数接口调用的网上有很多资料非常简单,可以自行查阅),后来决定采用用c/c++函数重新封装类里的操作的方法,使得java在调用时直接调用c/c+ 阅读全文
posted @ 2016-03-03 19:35 WELEN 阅读(1312) 评论(0) 推荐(0)
摘要:最近要在Android NDK程序中添加如ASM(汇编)代码,但对格式并不了解,在NDK官方Doc中也没找到对应信息,于是在网络上查找研究之。0. 背景介绍:NDK编译器支持C/C++ 嵌入汇编代码。但Sam感觉X86,ARM,MIPS等编译器对嵌入汇编代码的格式和具体指令格式并不相同,所以理论上各 阅读全文
posted @ 2016-03-03 18:06 WELEN 阅读(1491) 评论(0) 推荐(0)
摘要:Android NDK从r3版本开始也添加了对NEON指令集与VFP指令集的支持。使用方法如下所示: 1 运行时检测处理器是否支持NEON指令集与VFP指令集 Android NDK提供了一个cpufeatures的库来让开发者在运行时检测处理器是否支持NEON指令集与VFP指令集。要使用cpufe 阅读全文
posted @ 2016-03-03 17:58 WELEN 阅读(1307) 评论(0) 推荐(0)
摘要:写在前面:本篇文章旨在大致介绍下ARM指令集的相关内容,这里也同时提供一个有详细解释和用例的待书签的PDF版本,方便大家查阅。 ARM指令集详解 指令集是处理器的核心,ARM指令的基本格式如下所示: opcode {cond}{S}{.W\.N}Rd, Rn{.operand2} 1 2 S:指定是 阅读全文
posted @ 2016-03-03 17:53 WELEN 阅读(1014) 评论(0) 推荐(0)
摘要:处理器的寻址方式是通过指令给出的地址码字段来寻找真实操作数地址的方式,ARM处理器支持9中寻址方式。 一 立即寻址 立即寻址指令后面的地址码部分为立即数(常量或常数),立即寻址多用于给寄存器赋值。 举例 MOV RO, #1234 1 指令执行后,R0=1234。 二 寄存器寻址 寄存器寻址中,操作 阅读全文
posted @ 2016-03-03 17:51 WELEN 阅读(2720) 评论(0) 推荐(0)