自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (3)
  • 收藏
  • 关注

转载 git rebase作用

假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。$ git checkout -b mywork origin现在我们在这个分支做一些修改,然后生成两个提交(commit).$ vi file.txt$ git commit$ vi otherfile.txt$ git commit...但是与此同时,有些人也在"origi...

2020-03-26 11:51:26 425

原创 计算机是怎样存储声音的?

电脑存储声音,也叫声音的数字化,是以二进制存储的。用到的基本技术是脉冲编码调制技术,主要包括采样、量化、编码3个基本过程。简化表述一下:声音的主要物理特征是频率和振幅,频率你可以理解为说话语速的快慢,而振幅你可以理解为说话语调的高低(注意这里声音的大小可以通过音量键调节,不属于计算机需要存储的物理特征之一),按频率间隔记录振幅高低,这叫采样。获取到的幅度值用数字量来表示,这叫量化。而...

2020-03-25 14:36:43 6399

转载 C语言指针函数和函数指针区别

一、指针函数指针函数是返回指针的函数,主体是函数,返回值是一个指针基本声明形式:返回数据类型+ * +函数名+(变量类型1,…);int* fun(int,int); int * fun(int,int);int *fun(int,int);这三种声明都可以,第一种更加直观 返回值是 int* 类型示例:#include<stdio.h>int...

2020-03-23 14:55:18 277

转载 Android.bp相关介绍

一、简介早期的Android系统都是采用Android.mk的配置来编译源码,从Android 7.0开始引入Android.bp。很明显Android.bp的出现就是为了替换掉Android.mk。再来说一说跟着Android版本相应的发展演变过程:Android 7.0引入ninja和kati Android 8.0使用Android.bp来替换Android.mk,引入Soon...

2020-03-23 10:48:04 3443 1

转载 u32、u16、u8 数据类型

#define U32 unsigned int #define U16 unsigned short #define S32 int #define S16 short int #define U8 unsigned char #define S8 charunsigned char = u8 unsigned short int = u16 unsigned long ...

2020-03-23 08:06:53 2445

原创 Android蓝牙开发中电话音频(HSP,HFP)和媒体音频(A2DP,AVRCP)

HSP(手机规格):提供手机(移动电话)与耳机之间通信所需的基本功能。HFP(免提规格):在 HSP 的基础上增加了某些扩展功能,原来只用于从固定车载免提装置来控制移动电话。A2DP(高级音频传送规格):允许传输立体声音频信号。 (相比用于 HSP 和 HFP 的单声道加密,质量要好得多)。AVRCP(音频/视频遥控规格):用于从控制器(如立体声耳机)向目标设备(如装有 Media Play...

2020-03-21 14:07:17 2979

转载 软件与硬件之间的交互流程

昨天晚上在思考“计算机软件和硬件是如何交互的”这一问题,也就是“电脑的软件如何将指令传达给硬件”。这个问题是我在2010年2月份开始思考的。前期无果,中间搁置了几个月的时间,这一次因为一个偶然的机会又激发了我对这一问题的思考。电脑硬件:有CPU(中央处理器)、RAM(内存)、Hard Disk(硬盘)、BIOS(基本输入输出系统)等;电脑软件:有操作系统,编译器,应用软件等;其中最关键...

2020-03-21 11:50:17 16452 3

转载 Linux中的SELinux到底是什么

一、前言安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大。很多 Linux 系统管...

2020-03-20 16:28:58 239

原创 Linux中的loop设备

什么是loop设备? loop设备是一种伪设备,是使用文件来模拟块设备的一种技术,文件模拟成块设备后,就像一个磁盘或光盘一样使用。在使用之前,一个 loop 设备必须要和一个文件进行连接,这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被 mount 起来。之所以叫loop设备(回环),其实是从文件系...

2020-03-18 08:43:46 1621

原创 什么叫虚拟光驱?有什么用?

虚拟光驱是一种软件,安装后生成一个虚拟的光驱,用于打开类似于“.ISO”后缀的文件,常常用于压缩或是拷贝某些大容量的数据。举些例子: 如果你在读一些光碟,想拷贝到电脑里去时,由于光碟有些坏道有时会变成无法拷贝到电脑里的情况出现,如果这时你用虚拟光驱来拷贝光碟的话,它里面会有一项忽略坏道的功能,这里你就能跳过这些坏道把光碟拷贝到电脑里。 如果你有很多相同属性的文件夹...

2020-03-18 08:32:13 4285

转载 Ubuntu和Linux的区别

大家听别人介绍自己的Ubuntu时,会听到 “我的操作系统是Linux的” 。其实,这样介绍是缺乏严谨性滴,我们只要知道两点,基本上就搞清楚Linux和Ubuntu的关系: 1.严格来说,Linux并不是操作系统,而是一个操作系统的内核,严谨一些可以说:linux 一般指 GNU 套件加上 linux 内核 2.Ubuntu基于linux内核的桌面PC操作系统,...

2020-03-17 14:51:20 4426

原创 X86和ARM区别

X86和ARM都是指CPU的内核。X86类型的处理器是典型的CISC,指令集丰富,性能强。我们目前在桌面电脑,笔记本电脑中使用的Intel、AMD处理器,就是X86处理器。ARM是一家英国的处理器设计公司,其设计的处理器采用了ARM内核。ARM处理器是典型的RISC,指令集较X86要精简很多,串行性能要远远弱于X86。但ARM指令集少,电路规模小,功耗低,发热低,非常适合于嵌入式、便携式电...

2020-03-17 14:31:13 4298

转载 Java代码到机器码

在《Java代码的编译与反编译》中,有过关于Java语言的编译和反编译的介绍,我们可以通过javac命令将Java程序的源代码编译成Java字节码,即我们常说的class文件,这是我们通常意义上理解的编译。但是,字节码并不是机器语言,要想让机器能够执行,还需要把字节码翻译成机器指令,这个过程是Java虚拟机做的,这个过程也叫编译,是更深层次的编译。在编译原理中,把源代码翻译成机器指令,一般...

2020-03-17 13:33:57 1521

转载 Linux中ramdisk,tmpfs,ramfs比较与说明

mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。目前mount已经不仅仅局限于Linux了。在Windows系统下的应用也越来越广了,多用在虚拟光驱类软件上,比如Clone CD,Daemon tool,WinMount等。RamDisk有三种实现方式:在Linux中可以将一部分内存m...

2020-03-16 13:46:25 691

转载 Android系统源码目录及功能介绍

Android的移植按如下流程:1.android linux 内核的普通驱动移植,让内核可以在目标平台上运行起来。 2.正确挂载文件系统,确保内核启动参数和 android 源代码 system/core/rootdir 目录下的 init.rc 中的文件系统挂载正确。3.调试控制台,让内核启动参数中的 console 参数以及 android 源代码 system/...

2020-03-13 13:49:41 5101

转载 Android源码编译环境搭建

在Android Studio代码调试一文中,简单的介绍了代码调试的一些技巧.现在我们来谈谈android源码编译的一些事.(俺认为,作为android developer人人都应该有一份自己Android源码,这样我们就可以随时对自己有疑惑的地方通过亲手调试来加强理解).本文使用最新的Ubuntu 16.04,请首先确保自己已经安装了Git.没安装的同学可以通过以下命令进行安装:sud...

2020-03-12 10:46:22 5240

转载 ramfs,tmpfs和ramdisk

一、Ramfs:顾名思义是内存文件系统,它处于虚拟文件系统(VFS)层,不像ramdisk那样基于虚拟在内存中的其他文件系统(ex2fs)。因而,它无需格式化,可以创建多个,只要内存足够,在创建时可以指定其最大能使用的内存大小。如果你的Linux已经将Ramfs编译进内核,你就可以很容易地使用Ramfs了。创建一个目录,加载Ramfs到该目录即可。缺省情况下,Ramfs被限制最多可使用内存大小的...

2020-03-11 08:43:21 797

转载 Android大神微博集

Trinea 的博客 来自滴滴出行,Android 开发助手 开发者,android-open-project 维护者 ,android-open-project-analysis 维护者。 中二病也要开发 ANDROID 挺喜欢的一位作者,遗憾的是已经很久不更新了。 GcsSloop 的博客 Android 自定义 View 系列文章作者。对自定义 View ...

2020-03-10 13:54:33 540

转载 「华为方舟」一款强大的编译器

方舟编译器虽然是在 4.11 日 HUAWEI P30 系列国内发布会上公布的应用编译技术,但其实华为早在 5 年前就开始布局,并投入数百专家团队,历经多次尝试,才在 EMUI 9.1 上实现了机器代码的翻译。首先,什么是编译技术?几千年来,人们从裹腹耐寒到智慧创新,从未停止探索世界的步伐。同时,他们将这些智慧赋予更多的物体,比如机器。想让机器读懂人类情感,他们之间就需要有个“翻译”,...

2020-03-10 12:04:52 1569

转载 Git常用命令

一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。fetch vs pullgit fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲...

2020-03-09 09:56:19 109

转载 C/C++虚函数实现的基本原理

1. 概述简单地说,每一个含有虚函数(无论是其本身的,还是继承而来的)的类都至少有一个与之对应的虚函数表,其中存放着该类所有的虚函数对应的函数指针。例:其中:B的虚函数表中存放着B::foo和B::bar两个函数指针。 D的虚函数表中存放的既有继承自B的虚函数B::foo,又有重写(override)了基类虚函数B::bar的D::bar,还有新增的虚函数D::quz。提示:为了描...

2020-03-09 08:26:43 625

转载 C#中的虚函数virtual

简单介绍虚函数virtual在某基类中声明 virtual 并在一个或多个派生类中被重新定义的成员函数称为虚函数。虚函数的作用就是实现多态性(Polymorphism),多态性是将接口与实现进行分离。C#作为完全面向对象语言,所有函数并不默认为virtual,但可以在基类中声明关键字virtual,就可以在其派生类中通过关键字override重写该函数。重写后的virtual函数依旧是...

2020-03-09 08:16:46 1139 2

转载 USB两种挂载方式MTP与UMS

MTP的全称是Media Transfer Protocol(媒体传输协议),它是微软公司提出的一套媒体文件传输协议。UMS(USB Mass Storage:大容量存储)是一个计算通信协议的设置 由USB实现者论坛定义,运行于串行总线。标准提供了各种存储设备的界面。UMS和MTP不同UMS模式下,PC操作存储设备的粒度是设备块(FAT block),而非文件系统。什么意思?此处举...

2020-03-05 18:49:50 4148

转载 Android makefile基础简介

一、说明android build system是一个非常庞大的系统,要编译Android工程、修改或新增Android模块都需要对这个编译系统有一定的了解。但是由于它实在是太庞大了,大家往往是不知道从哪里切入进去,对Android的编译系统进行一个系统的学习。下面我们尝试从一个小模块逐步对android build system做一个深入剖析。选择的这个模块名字叫做acp,源码位于buil...

2020-03-05 10:43:34 387

转载 Android Build 系统

Android Build 系统是 Android 源码的一部分。关于如何获取 Android 源码,请参照 Android Source 官方网站:http://source.android.com/source/downloading.html。Android Build 系统用来编译 Android 系统,Android SDK 以及相关文档。该系统主要由 Make 文件,Shell...

2020-03-05 10:32:36 1281

转载 Android dumpsys常用命令

adb shell dumpsys,默认打印出当前系统所有service信息,在后面可加上具体的服务名需要列出当前运行的服务,可运行:adb shell dumpsys | findstr DUMP下面简单列下我用到的一些命令...(在编写脚本时需要获取一些状态值供判断用)获取设备分辨率: adb shell dumpsys display | findstr Di...

2020-03-03 13:29:41 740

转载 Linux内核的整体架构

1. 前言本文是“Linux内核分析”系列文章的第一篇,会以内核的核心功能为出发点,描述Linux内核的整体架构,以及架构之下主要的软件子系统。之后,会介绍Linux内核源文件的目录结构,并和各个软件子系统对应。注:本文和其它的“Linux内核分析”文章都基于如下约定:a) 内核版本为Linux 3.10.29(该版本是一个long term的版本,会被Linux社区持续维护至少2年...

2020-03-03 13:14:26 129

转载 Linux设备模型

1. 前言在“Linux内核的整体架构”中,蜗蜗有提到,由于Linux支持世界上几乎所有的、不同功能的硬件设备(这是Linux的优点),导致Linux内核中有一半的代码是设备驱动,而且随着硬件的快速升级换代,设备驱动的代码量也在快速增长。个人意见,这种现象打破了“简洁就是美”的理念,是丑陋的。它导致Linux内核看上去非常臃肿、杂乱、不易维护。但蜗蜗也知道,这不是Linux的错,Linux是一...

2020-03-03 13:08:27 116

Linux系统教程详解

Linux系统教程详解

2024-03-03

Android Framework解析

Android Framework解析

2024-03-03

flutter_3d_pageview-master.zip

3d画廊

2021-08-04

launcher-master.zip

仿桌面应用拖拽排序

2021-08-04

pingtools.apk

PingTools 是一款集成多款网络工具的 Android 应用,拥有包括 Ping, Traceroute, Whois, Network Scanner, Wi-Fi scanner 在内的多项网络工具

2020-03-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除