关闭

Android启动篇 — init原理(二)

Android启动篇 — init原理(一)中讲解分init进程分析init创建系统目录并挂在相应系统文件、初始化属性域、设置系统属性、启动配置属性服务端等一系列复杂工作,很多工作和知识点跟Linux关系很大,所以没有作过多介绍,而本此对于init.rc的解析则是重中之重,所以单独拿出来进行详细分析。 int main(int argc, char** argv) { /* ...
阅读(239) 评论(0)

Android启动篇 — init原理(一)

【开篇说明】   学习Android第一步便是“init”,作为天字第一号进程,代码羞涩难懂,但是也极其重要,熟悉init的原理对后面Zygote -- SystemServer -- 核心服务等一些列源码的研究是有很大作用的,所以既然说研究Android源码,就先拿init “庖丁解牛”! 【正文开始】   Init进程,它是一个由内核启动的用户级进程,当Linux内核启动之后,运行的第一...
阅读(401) 评论(0)

android源码函数学习之basename与dirname

在阅读init.cpp源码的时候遇到该函数,小节一下: 通过命令:man 3 basename basename()返回的是指向文件名指针; dirname()返回的是指向目录指针; 比如: #include #include #include #include int main(int argc, char* argv[]){ c...
阅读(75) 评论(0)

Android源码目录结构详解

小知识:查看树级目录命令 tree -L 1;后面的数字为级数  |-- Makefile |-- bionic (bionic C库) |-- bootable (启动引导相关代码) |-- build (存放系统编译规则及generic等基础开发包配置) |-- cts (Android兼容性测试套件标准) |-- dalvik (dalvik JAVA虚拟机) |--...
阅读(305) 评论(0)

android 实现用户切换 am switch-user 0之代码实现

实现用户切换有四种方式: 1.直接在虚拟机上用户那里切换; 2.命令切换 进入虚拟机 adb shell am switch-user 0 //一般0本机机主,10或者11都是新用户 3.代码实现 如下代码为我写的一个function,可以直接调用该function,传入userid,userid需要你去获取。 #define SWITCH_USER_TRANSACTION 1...
阅读(1060) 评论(0)

音频知识之OGG格式时间戳计算

时间:2017-05-05 18:23来源:未知 作者:泥土中的知了 点击: 221 次 对于ogg格式音频时间获取,网上没有直接给出答案,基本上是说通过字节来获取。本文直接通过代码获取,告诉大家。 本文属于原创文章,转载注明原文地址: http://www.ctrlqun.com/a/android/android/2017/0504/oggtime.html     ...
阅读(316) 评论(0)

c语言比较两个字符串是否相等strcmp

C语言提供了几个标准库函数,可以比较两个字符串是否相同。以下是用strcmp()函数比较字符串的一个例子: #include #include int main(void) { char str_1[] = "abc"; char str_2[] = "abc"; char str_3[] = "ABC"; if (strcmp(str_1, str...
阅读(22171) 评论(0)

Guetzli压缩rgba文件为jpg格式(google新出的压缩图片算法)

源码和怎么安装使用guetzli查看文章www.ctrlqun.com/paper/paper_3.html。 闲话不说,直奔主题,执行 guetzli test.rgba out.jpg 报错: Marker byte (0xff) expected, found: 0 pos=0 len=614400 Can't read jpg data from input file Gue...
阅读(381) 评论(0)

linux下127.0.0.1(localhost)端口转到外网实现

简介     Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对。尽管rinetd使用非闭锁I/O运行作为一个单一过程,它可能重定向很多连接而不对这台机器增加额外的负担。 1、下载     wget http://www.boutell....
阅读(868) 评论(0)

c函数之gettimeofday()函数获取系统时间

gettimeofday     使用C语言编写程序需要获得当前精确时间(1970年1月1日到现在的时间),或者为执行计时,可以使用gettimeofday()函数。 函数原型:     int gettimeofday(struct timeval*tv, struct timezone *tz); 所需头文件:     #include 说明:     其参数tv是保存获取...
阅读(928) 评论(0)

c语言之循环新建文件

http://blog.csdn.net/ctrl_qun/article/details/54668000 参考这篇文章的sprintf函数的使用 代码如下: #include #include int main() { FILE *fp; int file_count = 10; char file_path[100]; for (int i = 0; i < file_c...
阅读(474) 评论(0)

音频知识之MP3文件结构解析

1. MP3文件结构解析 1.1. 概述 1.1.1. 音频相关术语 ü  ID3: 一般位于一个mp3文件的开头或末尾的若干字节内,记录该mp3文件的歌手、标题、专辑名称、年代、风格等信息,ID3分位两个版本,V1版ID3在文件末尾的固定128字节,以TAG字符开头,若没有则认为无ID3V1信息,V2版ID3位于mp3的开头,长度可变。 ü  采样率: 每秒从连续信号中提取并组成离散...
阅读(460) 评论(0)

c函数之sprintf,sscanf函数使用(字符串与整型互转函数)

1)sprintf     字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。 函数原型:     int sprintf( char *buffer, const char *format, [ argument] … ); 所需头文件:     stdio.h 返回值:     返回写入buffer 的字符数,出错则返回-1. 如果...
阅读(771) 评论(0)

音频知识之OGG格式分析

一. OGG音频格式概述 Ogg是一个自由且开放标准的容器格式,由Xiph.Org基金会所维护。Ogg格式并不受到软件专利的限制,并设计用于有效率地流媒体和处理高品质的数字多媒体。 “Ogg”意指一种文件格式,可以纳入各式各样自由和开放源代码的编解码器,包含音效、视频、文字(像字幕)与元数据的处理。 在Ogg的多媒体框架下,Theora提供有损的图像层面,而通常用音乐导向的Vorbis编解码...
阅读(578) 评论(2)

c函数之memcpy ,memset,malloc函数使用

常见的函数使用小结...
阅读(767) 评论(0)
34条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:99993次
    • 积分:769
    • 等级:
    • 排名:千里之外
    • 原创:20篇
    • 转载:14篇
    • 译文:0篇
    • 评论:36条
    个人网站