Android-NDK

Android NDK基础15:文件加解密_文件合并

Android NDK基础15:文件加解密_文件合并

文件加解密 public class Cryptor { public native static void crypt(String normal_path, String crypt_path); public native static void decrypt(Strin

Joe.Ye Joe.Ye 2023-02-25
0 0 0
Android NDK基础14:Eclipse下NDK开发

Android NDK基础14:Eclipse下NDK开发

Eclipse NDK开发流程 1.编写Java层Native方法 2.javah命令生成头文件 3.创建jni目录 4.添加本地支持Android Tools -> Add Native Support 5.实现头文件中定义的函数 6.编译生成.so动态库 7.加载动态库 Eclips

Joe.Ye Joe.Ye 2023-02-25
0 0 0
Android NDK基础13:JNI异常处理_JNI缓存策略

Android NDK基础13:JNI异常处理_JNI缓存策略

异常处理 1.保证Java代码可以运行 2.补救措施保证C代码继续运行 //JNI自己抛出的异常,在Java层可以被捕捉(需注意是Exception、Throwable或者Error),也可在C层清空 //用户通过ThrowNew抛出的异常,可以在Java层捕捉 JNIEXPORT void

Joe.Ye Joe.Ye 2023-02-25
0 0 0
Android NDK基础12:JNI数组处理_JNI引用变量

Android NDK基础12:JNI数组处理_JNI引用变量

JNI数组处理 传入数组 public class JniTest { public native void giveArray(int[] arr); public static void main(String[] args) { JniTest t = ne

Joe.Ye Joe.Ye 2023-02-25
0 0 0
Android NDK基础11:JNI数据类型_C调用Java

Android NDK基础11:JNI数据类型_C调用Java

JNI数据类型 jclass和jobject //每个native函数,都至少有两个参数(JNIEnv*, jclass或者jobject) //1)当native方法为静态方法时: //jclass 代表native方法所属类的class对象(JniTest.class) //2)当native方

Joe.Ye Joe.Ye 2023-02-25
0 0 0
Android NDK基础10:JNI开发流程_JNIEnv

Android NDK基础10:JNI开发流程_JNIEnv

JNI JNI(Java Native Interface) Java调用C/C++,C/C++调用Java的一套API 1.编写native方法 2.javah命令,生成.h头文件,生成的C/C++的函数声明名称:Java_完整类名_函数名 3.复制.h头文件到C/C++工程中 4.复制jni

Joe.Ye Joe.Ye 2023-02-25
0 0 0
Android NDK基础9:C_预编译_宏定义_宏替换

Android NDK基础9:C_预编译_宏定义_宏替换

include指令 #include <stdlib.h> #include <stdio.h> //预编译(预处理),为编译做准备工作,完成代码文本的替换工作 //C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC

Joe.Ye Joe.Ye 2023-02-25
0 0 0
Android NDK基础8:C_文件IO

Android NDK基础8:C_文件IO

文件IO #define _CRT_SECURE_NO_WARNINGS #include <stdlib.h> #include <stdio.h> #include <string.h> //读取文本文件 void main() { char *pa

Joe.Ye Joe.Ye 2023-02-25
0 0 0
Android NDK基础7:C_typedef_联合体_枚举

Android NDK基础7:C_typedef_联合体_枚举

typedef 类型取别名 //typedef 类型取别名 //1.不同名称代表在干不同的事情typedef int jint; //2.不同情况下,使用不同的别名 /* #if defined(__cplusplus) typedef _JNIEnv JNIEnv; typedef _Java

Joe.Ye Joe.Ye 2023-02-25
0 0 0
Android NDK基础6:C_结构体与指针

Android NDK基础6:C_结构体与指针

结构体定义 #define _CRT_SECURE_NO_WARNINGS #include <stdlib.h> #include <stdio.h> #include <string.h> #include <Windows.h> //结构体是一

Joe.Ye Joe.Ye 2023-02-25
0 0 0
Android NDK基础5:C_字符串

Android NDK基础5:C_字符串

字符串 //使用字符数组存储字符串 void main() { //char str[] = {'c', 'h', 'i', 'n', 'a', '\0'}; //

Joe.Ye Joe.Ye 2023-02-25
0 0 0
Android NDK基础4:C_动态内存分配

Android NDK基础4:C_动态内存分配

动态分配类型 void main() { //stack overflow错误,栈溢出 //静态内存分配 int a[1024 * 1024 * 10]; //40M //栈内存 //C语言内存分配: //1.栈区(stack) //wind

Joe.Ye Joe.Ye 2023-02-25
0 0 0
Android NDK基础3:C_指针与数组_函数指针

Android NDK基础3:C_指针与数组_函数指针

指针与数组 //1.通过指针给数组赋值 void main() { int uids[5]; //高级写法 //int i = 0; //for (; i < 5; i++) { // uids[i] = i; //} //早些版本

Joe.Ye Joe.Ye 2023-02-25
0 0 0
Android NDK基础2:C_指针类型_空指针_多级指针_指针运算

Android NDK基础2:C_指针类型_空指针_多级指针_指针运算

指针类型 #include <stdio.h> #include <stdlib.h> //1.指针为什么要有类型? //指针有类型,地址没有类型 //地址只是开始的位置,类型读取到什么位置结束 void main() { int i = 100; //in

Joe.Ye Joe.Ye 2023-02-25
0 0 0
Android NDK基础1:C_基本数据类型_输入输出_指针

Android NDK基础1:C_基本数据类型_输入输出_指针

Hello World //引入头文件 //只有函数的声明,编译时会去找到函数的实现 #include <stdio.h> void main() { printf("hello world\n"); //system("mspaint&q

Joe.Ye Joe.Ye 2023-02-25
0 0 0
1 2 3 4