系统架构
laughing_zou
android驱动开发
展开
-
Android-4.0源码结构
顶层目录:|-- Makefile|-- bionic (bionic C库)|-- bootable (启动引导相关代码)|-- build (存放系统编译规则及generic等基础开发包配置)|-- cts (Android兼容性测试套件标准)|-- dalvik (dalvik JAVA虚拟机)|-- development (应用程序开发相关)|-- ext转载 2015-01-05 15:58:10 · 423 阅读 · 0 评论 -
从新版本系统调用学习宏定义的用法
这段时间又碰到系统调用这个家伙,结果在我当前用的3.0.x内核里全变样了。为了将这个问题弄明白,还得自己动手才行,这里非常感谢CSDN的"海风林影"兄弟提供的博文和相关参考文献,还是那句话“成果和荣耀归于前辈”。 很多人也都发现,在2.6.28及其之后的内核源码里,系统调用的写法发生了比较大的变化,出现了大量宏定义的代码。在源代码里,以前的诸如open()系统调用的sys_open()转载 2015-10-14 19:25:05 · 468 阅读 · 0 评论 -
SEAndroid 问题
在Android的底层开发过程中经常会遇到SEAndroid的avc权限问题:首先是avc log: avc: denied { search } forpid=8329 comm="memmst" name="lowmemorykiller"dev="sysfs" ino=13013scontext=u:r:memmst:s0tcontext=u:object_r:sysfs_low...原创 2018-01-08 19:16:46 · 289 阅读 · 0 评论 -
list_entry通俗理解方法
大家都知道list_entry时kernel里面经常遇到的一个函数,其定义为:#define list_entry(ptr, type, member) \ container_of(ptr, type, member)#define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member...原创 2018-08-20 00:06:35 · 28470 阅读 · 4 评论 -
#pragma once与 #ifndef的区别
为了避免同一个文件被include多次1#ifndef方式2#pragma once方式在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ ... ... // 一些声明语句 #endif...转载 2019-04-09 23:46:04 · 227 阅读 · 0 评论