JNI
Android百晓生
输出是最好的输入
展开
-
JNI属性与方法访问实例
1、Java实现:package com.test.jni;import java.util.Random;import java.util.UUID;public class JniTest { public String key = "jason"; public static int count = 9; public native static String ...原创 2019-05-11 08:55:50 · 220 阅读 · 0 评论 -
c中宏定义
宏定义(宏替换、预编译指令)define指令1、定义标识#ifdef _cplusplus 标识支持c++语法 //防止文件重复引入(早期使用宏函数,之后版本可用#pragma once)2.定义常数(便于修改和阅读)#define MAX 100 int MIN = 40;(区别:Java中常量有类型)3.定义“宏函数”例一:#include <stdlib.h>...原创 2019-05-09 17:36:14 · 302 阅读 · 0 评论 -
c中结构体
一、结构体的几种写法1、基础写法struct Man{ char name[20]; int age;};void main(){ struct Man m1 = { "bob", 21 }; struct Man* m_p = &m1; printf("%s,%d\n", m1.name, m1.age); printf("%s,%d\n", m_p->n...原创 2019-05-05 16:18:40 · 995 阅读 · 0 评论 -
对接口回调的深入理解
今天在学c的函数指针时候,了解到Java的接口回调源于此,对接口回调有进一步了解,故有此记。c中把一个函数指针参数作为函数的参数传递,类似于java中的回调函数。函数指针案例:int add(int a, int b){ return a + b;}int minus(int a, int b){ return a - b;}//typedef;//msg函数需要传递一...原创 2019-05-03 19:03:02 · 221 阅读 · 0 评论 -
c中枚举、联合体
联合体(共用体)不同类型的变量共同占用一段内存(相互覆盖),联合变量任何时刻只有一个成员存在,节省内存;联合体变量的大小=最大的成员所占的字节数,最后一次赋值有效例:union MyValue{ int x; int y; double z;};void main(){ union MyValue d1; d1.x = 90; d1.y = 100;//最后一次赋值...原创 2019-05-06 10:52:20 · 193 阅读 · 0 评论 -
JNI开发流程
JNI(Java Native Interface)Java调用C/C++,C/C++调用Java的一套APIEclipse + vs编写Jni流程:1.编写native方法2.javah命令,生成.h头文件3.复制.h头文件到CPP工程中(Visual Studio中)4.复制jni.h和jni_md.h文件到CPP工程中(从jdk中搜索复制,解决.h文件引用jni.h头文件报错)...原创 2019-05-10 18:15:06 · 485 阅读 · 0 评论 -
NDK入门详细教程
一、NDK下载步骤:点击SDK Manger -> SDK Tools -> 勾选CMake和NDK -> 点击Apply->OK,NDK下载完成NDK:这套工具集允许为 Android 使用 C 和 C++ 代码。CMake:一款外部构建工具,可与 Gradle 搭配使用来构建原生库。如果只计划使用 ndk-build,可不勾选。二、NDK配置我们先创建一个项...原创 2019-04-23 20:48:45 · 480 阅读 · 0 评论 -
NDK环境相关
最近在之前老项目中进行NDK开发,发现在Android Studio中编写C代码时候,编译器没有自动补全的提示,很蛋疼,于是研究通过以下方法成功解决:1、创建完成jni目录,生成.h文件及创建.c文件2、rebuild项目,生成Android.mk文件Android.mk文件内容如下:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)...原创 2019-05-23 16:05:48 · 114 阅读 · 0 评论