07 2016 档案
摘要:Android的四层架构分别为:Linux2.6内核层,核心库层,应用框架层,应用层。 其中Framework层为我们开发应用程序提供了非常多的API,我们通过调用特殊的API构造我们的APP,满足我们业务上的需求。写APP的人都知道,学习Android开发的第一步就是去学习各种各样的API,什么A
阅读全文
摘要:好久没更新了,今天主要说一下Linux的进程通信,后续Linux方面的更新应该会变缓,因为最近在看Java和安卓方面的知识,后续会根据学习成果不断分享更新Java和安卓的方面的知识~ Linux进程通信的知识,建议参照《UNIX环境高级编程》这本书,这里也只是做一个总结: 一.线程:进程中的子线程之
阅读全文
摘要:说一下LINUX下的Makefile,直接根据实际碰到的Makefile进行解读: 当make的目标为all时,-C $(KDIR) 指明跳转到内核源码目录下读取那里的Makefile;M=$(PWD) 表明然后返回到当前目录继续读入、执行当前的Makefile。 例子: all : hello a
阅读全文
摘要:所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分。当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源。.so文件是共享库文件(动态链接)。动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函
阅读全文
摘要:简单介绍一下多线程的API,线程的概念类似与一个任务或者说一个函数,线程一旦被创建就会运行,具体使用方法可以在Linux下使用man 命令查看: pthread_t:线程ID pthread_attr_t:线程属性pthread_create():创建一个线程 pthread_exit():终止当前
阅读全文
摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。 基础结构 JSON建构于两种结构:1. “名称/值”对的集合(A collect
阅读全文
摘要:ioctl(fdAcodec, ACODEC_GET_ADCL_VOL, &vol_ctrl)//从内核驱动中获取或者设置数据//内核驱动中也使用ACODEC_GET_ADCL_VOL进行case,因为这个cmd中的魔数和基数都是系统函数IOWR定义的,内核驱动就会知道。#define ACODEC
阅读全文
摘要:使用SSL前,先有 基本的TCP套接字连接。见demo代码 SSL_library_init();//在使用OpenSSL 之前,必须进行相应的协议初始化工作 OpenSSL_add_all_algorithms();///* 载入所有 SSL 算法 */ SSL_load_error_string
阅读全文
摘要:介绍套接字之前,我们先看一下传输层的协议TCP与UDP: TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的 区别,我觉得这是没有从本质上弄清楚网络通信! TCP/IP协议是一个协议簇。里面包括很多协
阅读全文
摘要:主要介绍一下Linux下的互斥与阻塞方面的知识: 1. 原子操作 原子操作指的是在执行过程中不会被别的代码路径所中断的操作。 常用原子操作函数举例: atomic_t v = ATOMIC_INIT(0); //定义原子变量v并初始化为0 atomic_read(atomic_t *v); //返回
阅读全文
摘要:异步通知,主要说的是使用信号的方式,同时使用信号也是实现进程之间通信的一种方式。 多的不说,我们直接看代码: 首先应用程序的: #include <sys/types.h> #include <unistd.h> #include <fcntl.h> /* fifthdrvtest */ int f
阅读全文