NDK
文章平均质量分 66
qczg_wxg
这个作者很懒,什么都没留下…
展开
-
王学岗NDK环境的搭建
1、NDK介绍 1.1 什么是NDK?Native Development Kit(本地开发工具包) 通俗一点:NDK中提供了一系列的工具,帮助我们快速开发C/C++的动态库,并能自动将so 和java 应用一起打包成apk 说白了就是Java代码调用C/C++代码 1.2 什么是JNI?Java Native Inter原创 2017-02-18 13:27:53 · 423 阅读 · 0 评论 -
王学岗NDK系列(三):cc++调用java数组+JNI引用
一:C/C++访问java基本类型数组 1,作为参数传入 1)通过GetIntArrayElements接收数组指针 看下MainActivity类的代码package com.example.acer.test_18_02_21;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;...原创 2018-02-23 14:50:53 · 282 阅读 · 0 评论 -
王学岗NDK系列(二):JNI:c /c++调用java属性和函数
**1,c/c++ 调用java中的实例属性** 看下MainActivity的代码package com.example.acer.test_18_02_21;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import and...原创 2018-02-22 16:38:20 · 390 阅读 · 0 评论 -
王学岗NDK系列(七)OpenCV概述及android studio下ndk OpenCV环境搭建+简单实例
一:OpenCV概述 1.opencv相关概念 图像处理 利用计算机对图像进行分析处理,达到所需结果的技术,一般指的是数字图像处理,通过数码设备得到的数字图像是一个很大的二维数组,数组的元素叫像素,像素的值叫灰度值。主要的处理方法有去噪,增强,复原,分割,提取特征等等。计算机视觉 是研究如何使计算机可以像人一样“看”的一门科学,属于人工智能的范畴,是用计算机来识别、追踪、测量等等收集信息的...原创 2018-02-27 19:32:36 · 1545 阅读 · 2 评论 -
王学岗NDK系列(一):android高级开发之JNI编程
1,什么是JNI java native interface(java本地/原生接口) JNI是一种标准,c/c++和java相互调用的标准 NDK就是基于这个 标准开发的 优点:可以利用大部分c/c++的语言库库,可以跨平台去移植代码,提升运算效率; 缺点:限制了部分java跨平台的能力,java跨平台的能力是jvm(java虚拟机),因为jni是脱离了jvm运行 2,J......原创 2018-02-07 15:40:49 · 636 阅读 · 0 评论 -
王学岗NDK系列(六)JNI多线程+JNI_OnLoad
一:JNI多线程 1,android中的进程和线程 java虚拟机叫jvm,一个java程序可能有多个jvm,android虚拟机Dalvik vm,现在转化为ART VM(android run time),一个android的APP就是一个虚拟机,与java不同,java可以是多进程的,但是android APP只有一个进程(android 系统可以有多个进程), 2.POSIX标准UN...原创 2018-02-26 19:47:02 · 612 阅读 · 0 评论 -
王学岗NDK系列(五)JNI异常处理+NDK环境详解
一:1.异常处理 1-Java中和JNI中异常处理机制的区别 java中出现异常之后,如果没有用try……catch块捕获,那么程序将会直接奔溃退出,后续的代码都不会执行 JNI程序在执行的时候没有像java一样的try……catch,用C/C++标准的异常处理又是无效的,因为它不是单纯的C/C++程序,而且在native代码中如果出现了异常,也不会像java中一样直接结束,而是会向后继续执...原创 2018-02-26 11:36:11 · 396 阅读 · 0 评论 -
王学岗jni——c访问java成员
上一篇文章中写的工程大家不要删了哈,接上一篇文章; 我们eclipse中创建的java工程,增加一个属性,修改如下package com.gang.wansui;public class Test { //我们在c中访问name属性 public String name; //C语言里更新name属性值,native方法用来调用c public native Str...原创 2017-03-31 21:31:19 · 469 阅读 · 0 评论 -
王学岗JNI语法-java访问c
第一:Java环境下调用c (1)我们先在eclipse中创建一个Java工程: 这是代码:package com.gang.wansui;public class Test { //调用NDK的方法,获取字符串 public native String getTextString(); public static void main(String[] args) {原创 2017-03-29 12:21:06 · 815 阅读 · 0 评论 -
王学岗文本/二进制的读取和加密解密
#include <stdio.h>#include <stdlib.h>#include <string.h>//内容一:读取文件-文本文件// int main(){// //文件的路径// //Windows下:F:\\test.txt// //Mac下:/Users/yangshaohong/Desktop/test.txt// char fil原创 2017-03-14 17:30:16 · 4114 阅读 · 1 评论 -
王学岗C语言字符串函数
介绍一个插件 vscode,安装该工具需要进行配置 安装我们需要的插件;我们要开发c/c++的插件 创建文件夹,在文件夹下创建文件;如下图所示: 按下shift+ctrl+p,搜索Configure Task Runner;选择该选项然后点击“other”; 然后进行如下的配置{ // See https://go.microsoft.com/fwlink/?LinkId=733原创 2017-03-13 13:53:30 · 311 阅读 · 0 评论 -
王学岗函数指针+动态内存分配
(1)函数指针 先看段代码 采用传统的写法,直接调用函数#include "stdafx.h"#include "Windows.h"void showMessage(){ //弹窗 MessageBoxA(0,"content","消息标题",0);}int _tmain(int argc, _TCHAR* argv[]){ //传统写法,直接调用原创 2017-03-10 14:44:59 · 424 阅读 · 0 评论 -
王学岗c语言指针和指针运算
关于指针有一片文章写的详尽又容易了解:http://blog.chinaunix.net/uid-22889411-id-59688.html(1)指针和地址的区别 //指针有类型 地址没有类型,需要强制类型转化才能赋值给指针变量int* p=(int*)0x44fc28(2)指针使用之前必须要有初始值void main(){ int* p; //报空指针异常 printf原创 2017-02-24 21:29:08 · 358 阅读 · 0 评论 -
王学岗c语言指针+指针地址
(一):c语言程序入口(main函数)//导入标准函数库(类似于Java导包)#include <stdio.h>#include <stdlib.h>void main(){ //输出函数 printf("hello world"); //这是一个命令(在window里面特有的) system("pause");}注意system首字母小写 看下运行效果原创 2017-02-19 21:59:42 · 402 阅读 · 0 评论 -
王学岗NDK系列(四):JNI操作object+JNI操作string+JNI异常操作
一:jni中的Object操作 1,jobject AllocObject(JNIEnv *env, jclass clazz); 分配一个java对象,但是不调用构造函数,返回对象的引用若无法构造对象的时候返回NULL 我们创建一个Test类package com.example.acer.test_18_02_21;/** * Created by acer on 2018...原创 2018-02-25 16:18:58 · 402 阅读 · 0 评论