![](https://img-blog.csdnimg.cn/20200703161629937.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android NDK篇
介绍Android NDK开发知识
陈有余v
专注于 Android 领域。
展开
-
Android NDK开发之C语言基础01:二级指针&函数指针
重点掌握内容:指针的运算、函数指针1.指针为什么要有类型?在回答这个问题前,我们来做一些尝试。 尝试1:首先将一个int类型的变量的地址赋值给一个int类型的指针,看看是否行得通。 void main(){ int i = 88; //定义一个int类型的指针 int *p = &i; printf("%#x,%d\n", p...原创 2018-04-08 15:44:44 · 334 阅读 · 0 评论 -
Android NDK开发之C语言基础02:动态内存分配
一、C语言内存分配栈区(stack):windows下,栈内存分配2M(确定的常数),超出限制提示stack overflow错误。自动分配内存,自动释放。堆区(heap):程序员手动分配手动释放,可以分配操作系统80%的内存。全局区或静态区字符常量区程序代码区二、静态内存分配声明一个占40M内存的数组: void main(){ //静态内存分配 ...原创 2018-04-08 15:57:27 · 353 阅读 · 0 评论 -
Android NDK开发之C语言基础03:结构体&结构体与指针
一、什么是结构体 结构体是一种构造数据类型。把不同的数据类型整合起来成为一个自定义的数据类型。关键字 struct。代码示例如下:struct Man{ //成员 int age; int height; char name[20];};初始化结构体实例的方式: 方式一:struct Man man = { 12, 70, "jack" }...原创 2018-04-08 16:00:04 · 326 阅读 · 0 评论 -
Android NDK开发之C语言基础04:联合体&枚举
一、联合体(一)定义:在C语言中允许多个不同变量共享同一内存区的功能成为联合(union)。声明联合的语法类似于结构,给联合指点标记名称的方式通常也是类似的。关键字 union 。示例代码如下:union myValue{ int x; int y; double z;};//声明变量union myValue value;联合成员的访问方式和结构成...原创 2018-04-08 16:01:48 · 226 阅读 · 0 评论 -
Android NDK开发之C语言基础05:文件IO
一、文件的概念C语言的文件是指用来存储数据的一种存储设备。存储在文件中的数据并不会随着计算机的关闭而消失。文件通常是存储在硬盘上的。 二、文件的访问(一)打开文件使用函数:fopen()使用方法:char *path = "H:\\AndroidNDK\\cworkspace\\files\\friends.txt";FILE *fp = fopen(pat...原创 2018-04-08 16:03:25 · 428 阅读 · 0 评论 -
Android NDK开发之C语言基础06:预编译指令
一、C语言的执行流程(一)编译 编译器将源代码转换成机器语言的过程。在编译过程中,会找出并报告错误,最后形成源文件(在Windows下是扩展名为.obj的文件,在Linux或者UNIX环境中是.o)。 编译过程包括两个阶段。第一个阶段称为预处理阶段,在此期间会修改或添加代码,第二个阶段是生成...原创 2018-04-08 16:04:48 · 373 阅读 · 0 评论 -
Android NDK开发之JNI基础01:JNI开发流程
重点掌握内容:JNIEnv 运行环境:windows 10一、JNI的概念JNI是Java Native Interface的缩写。它是Java调用C/C++或者C/C++调用Java的一套API。 二、为什么要使用JNI使用JNI可以复用很多的C/C++代码,例如:ffmeng多媒体播放器,opencv图形识别的引擎,7-zip压缩,opencore框架(用于视频播...原创 2018-04-10 16:45:44 · 224 阅读 · 0 评论