自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 收藏
  • 关注

转载 交换两个数组值使两个数组之差最小

要求:通过交换a,b 中的元素,使[序列a 元素的和]与[序列b 元素的和]之间的差最小。例如:var a=[100,99,98,1,2, 3];var b=[1, 2, 3, 4,5,40];假设序列a,b中元素的和为sum_a和sum_b。假设aa和bb分别为序列a,b中的元素,则交换aa,bb后序列的和变为sum_a-aa+bb,sum_b+aa-bb;两序列的差为(sum_

2014-08-29 14:01:15 790

转载 Java内部类(Inner Class)

简单的说,内部(inner)类指那些类定义代码被置于其它类定义中的类;而对于一般的、类定义代码不嵌套在其它类定义中的类,称为顶层(top-level)类。对于一个内部类,包含其定义代码的类称为它的外部(outer)类。1          Static member class(静态成员类)类声明中包含“static”关键字的内部类。如以下示例代码,Inner1/Inner2/Inne

2014-08-29 13:31:48 435

转载 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)

RTP           参考文档 RFC3550/RFC3551         Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它

2014-08-28 12:02:30 658

转载 C结构体之位域(位段)

有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位

2014-08-28 11:54:37 349

转载 排序算法总结

内部排序技术            http://routeadd-net202.114.6.yulei.blog.chinaunix.net/uid-25324849-id-2182899.html

2014-08-20 10:27:27 362

转载 Nand Flash,Nor Flash,CFI Flash,SPI Flash 之间的关系

前言:    在嵌入式开发中,如uboot的移植,kernel的移植都需要对Flash 有基本的了解。下面细说一下标题中的中Flash中的关系一,Flash的内存存储结构    flash按照内部存储结构不同,分为两种:nor flash和nand flash。    NorFLASH使用方便,易于连接,可以在芯片上直接运行代码,稳定性出色,传输速率高,在小容量时有很高的性

2014-08-19 17:40:57 2010 1

转载 Base64的编码和解码

为什么要使用Base64?在设计这个编码的时候,我想设计人员最主要考虑了3个问题:1.是否加密? 2.加密算法复杂程度和效率 3.如何处理传输? 加密是肯定的,但是加密的目的不是让用户发送非常安全的Email。这种加密方式主要就是“防君子不防小人”。即达到一眼望去完全看不出内容即可。基于这个目的加密算法的复杂程度和效率也就不能太大和太低。和上一个理由类似,MIME协议等用于

2014-08-19 17:40:56 3254

转载 python随机数的产生

这些天需要用到从一堆数中随机提取几个数,于是重新研究了下random模块。下面介绍下random中常见的函数。 前提:需要导入random模块 >>>import random 1、random.random       random.random()用于生成一个0到1的随机浮点数: 0 >>> random.random()        # Random float x

2014-08-19 17:37:16 773

转载 python关于列表转为字典的两个小方法

1、现在有两个列表,list1 = ['key1','key2','key3']和list2 = ['1','2','3'],把他们转为这样的字典:{'key1':'1','key2':'2','key3':'3'}>>>list1 = ['key1','key2','key3']>>>list2 = ['1','2','3']>>>dict(zip(list1,list2)){'

2014-08-19 17:34:13 55267

转载 C语言中sizeof详解

1、什么是sizeof    首先看一下sizeof在msdn上的定义:    The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value

2014-08-19 17:31:01 951

转载 数据结构之--树

数据结构之哈夫曼树            http://routeadd-net202.114.6.yulei.blog.chinaunix.net/uid-25324849-id-2182845.html

2014-08-19 17:18:11 395

转载 数据结构之--图

图之基础http://routeadd-net202.114.6.yulei.blog.chinaunix.net/uid-25324849-id-2182918.html

2014-08-19 17:09:44 403

转载 AAC音频格式分析与解码

一直在做一个语音项目,到了测试阶段,近来不是很忙,想把之前做的内容整理一下。 关于AAC音频格式基本情况,可参考维基百科http://en.wikipedia.org/wiki/Advanced_Audio_Coding AAC音频格式分析AAC音频格式有ADIF和ADTS:  ADIF:Audio Data Interchange Format 音频数据交换格式。这种格式

2014-08-19 16:27:49 617

转载 FFmpeg深入分析之零

FFmpeg是相当强大的多媒体编解码框架,在深入分析其源代码之前必须要有基本的多媒体基础知识,否则其源代码会非常晦涩难懂。本文将从介绍一些基本的多媒体只是,主要是为研读ffmpeg源代码做准备,比如一些编解码部分,只有真正了解了多媒体处理的基本流程,研读ffmpeg源代码才能事半功倍。下面分析一下多媒体中最基本最核心的视频解码过程,平常我们从网上下载一部电影或者一首歌曲,那么相应的多媒体播放器

2014-08-19 16:15:27 549

转载 stagefright框架

在Android上,預設的多媒體框架(multimedia framework)是OpenCORE。OpenCORE的優點是兼顧了跨平台的移植性,而且已經過多方驗證,所以相對來說較為穩定;但是其缺點是過於龐大複雜,需要耗費相當多的時間去維護。從Android 2.0開始,Google引進了架構稍為簡潔的Stagefright,並且有逐漸取代OpenCORE的趨勢 (註1)。[圖1]

2014-08-19 16:02:05 542

转载 stagefright概述

一、android结构图(上下文关系)   二、android目录结构 自从android4.2版本之后,媒体的相关代码都放到framework/av/的目录中,俗称"AV工作者",呵呵(本地代码不是太健全,目录我手动敲,公司代码健全,直接导出目录树)  [plain] view plaincopyprint?|----- m

2014-08-19 15:56:54 1974

转载 android ListView和GridView拖拽移位实现代码

关于ListView拖拽移动位置,想必大家并不陌生,比较不错的软件都用到如此功能了.如:搜狐,网易,百度等,但是相比来说还是百度的用户体验较好,不偏心了,下面看几个示例:            首先说一下:拖拽ListView的item就不应该可以任意移动,只应该在ListView所在的范围内,而网易的你看看我都可以移动到状态栏了,虽然你做了处理,但是用户体验我个人感觉不好,在看看百度

2014-08-19 13:58:22 758

转载 onInterceptTouchEvent和onTouchEvent调用时序

onInterceptTouchEvent()是ViewGroup的一个方法,目的是在系统向该ViewGroup及其各个childView触发onTouchEvent()之前对相关事件进行一次拦截,Android这么设计的想法也很好理解,由于ViewGroup会包含若干childView,因此需要能够统一监控各种touch事件的机会,因此纯粹的不能包含子view的控件是没有这个方法的,如Linea

2014-08-19 12:25:49 387

转载 U-BOOT与内核之间的参数传递

最近在做一个项目,用到了nandboot,但并没有完善网络部分的驱动只实现了串口功能,所以在传递参数时只能将参数写入内核。但自己对bootlloader与内核之间是如何进行传递的并不是很清楚,借此在网上查了下资料,学习下。  在2.4(具体哪个版本记不清了)以后的Linux内核中引入了一种新的向内核传递参数的方法tag标记。内核参数通过一个静态的tag链表在启动的时候传递到内核。每个tag的结

2014-08-19 11:49:14 1520 1

转载 arm程序设计优化

程序优化是指软件编程结束后,利用软件开发工具对程序进行调整和改进,让程序充分利用资源, 提高运行效率, 缩减代码尺寸的过程。按照优化的侧重点不同, 程序ARM优化可分为运行速度优化和代码尺寸优化。运行速度优化是指在充分掌握软硬件特性的基础上, 通过应用程序结构调整等手段来降低完成指定任务所需执行的指令数。在同一个处理器上, 经过速度优化的程序比未经优化的程序在完成指定任务时所需的时间更短,即前

2014-08-19 11:40:29 900

转载 MPEG简介 + 如何计算 CBR/VBR MP3 的播放时间

【此文目的】 1.  了解 MPEG相关知识 2.  了解 MP3 的常见术语含义 3.  详解 VBR MP3的帧头格式及含义 4.  搞懂如何去计算 CBR和 VBR的 MP3文件的播放时间(duration)  【目录】 1.MPEG 的相关知识............................................................

2014-08-19 11:36:25 1886

转载 嵌入式系统启动例程

http://blog.csdn.net/mr_raptor/article/category/825768

2014-08-17 17:03:56 475

转载 NAND FLASH 和 NOR FLASH开机启动

http://www.360doc.com/content/12/0823/14/4186481_231903574.shtml

2014-08-17 16:58:11 660

转载 arm-linux-ld指令详解

http://www.360doc.com/content/12/0904/15/4186481_234242758.shtml

2014-08-17 16:57:07 1021

转载 华为面试题算什么,这个背会了外企随便进

我为各位整理出英文面试最常见的五大问题,并且提醒各位一些回答的技巧,希望大家能针对这些问题多演练,当成练习英文面试的重点。 问题一:Could you please describe yourself?(能否请你形容一下自己?)这个问题,一来是想要了解你是什么样的人,二来是想看看你是否知道如何重点式地自我简介。 在回答时,要针对应征工作的性质来凸显自己的特色,可以多用形容词,并且引用过去的

2014-08-17 16:34:51 512

转载 ARM存储管理

本文对ARM存储管理进行简要归纳,不涉及具体映射和寄存器设置。一、MMU内存管理部件使用内存映射技术实现虚拟空间到物理空间的映射。嵌入式系统中通常把异常中断向量表存放在RAM中。当系统加电时,将ROM/FLASH映射为地址0,这样可以进行一些初始化处理;当这些初始化处理完成后将SDRAM映射为地址0,并把系统程序加载到SDRAM中运行,这样很好的解决了嵌入式系统的需求。ARM中,存储系

2014-08-17 16:09:26 1115

转载 ARM中断

S3C2440系统中断分类: ARM体系结构 2011-06-20 14:17 196人阅读评论(0) 收藏举报1.1   S3C2440系统中断CPU和外设构成了计算机系统,CPU和外设之间通过总线进行连接,用于数据通信和控制,CPU管理监视计算机系统中所有硬件,通常以两种方式来对硬件进行管理监视:l  查询方式:CPU不停的去查询每一个硬件的当前状态,根据硬件的状态决定

2014-08-17 16:08:40 1863

转载 ARM体系结构

今天学习的是ARM体系结构。以前只知道ram是随机存取存储器的意思,还不知道有体系结构这么一回事。虽然也认真听讲,但还是云里雾里的,概念很模糊。在网上发现一篇关于ARM的文章,写的不错。ARM 体系结构  Q: ARM 是什么?A: ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。  

2014-08-17 16:06:07 795

转载 嵌入式C语言面试题(经典)

预处理器(Preprocessor1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直

2014-08-17 14:51:59 624

转载 volatile 和 const 若干问题

问题一:c语言中volatile和const可以同时修饰一个对象吗?很多地方都说,volatile表示“易变的”,const表示"不变的,恒定的"。这两者看起来是矛盾的。但答案是:可以的。上面的字面上的矛盾,来源于对这两个关键字含义的解释不准确。准确的说,volatile表明对该对象的读写操作都不能被编译器优化。而const表示"只读的",对const对象的显式写操作会被编译器发现并报

2014-08-17 14:33:19 1029

转载 提高android源码编译速度

项目越来越大,每次需要重新编译整个项目都是一件很浪费时间的事情。Research了一下,找到以下可以帮助提高速度的方法,总结一下。       1. 使用tmpfs来代替部分IO读写  2.ccache,可以将ccache的缓存文件设置在tmpfs上,但是这样的话,每次开机后,ccache的缓存文件会丢失  3.distcc,多机器编译  4.将屏幕输出打印到内存文

2014-08-17 14:00:51 4869 3

转载 C++ STL相关容器详解

vector:一种随机访问的数组类型,他提供了对数组元素的快速、随机访问,以及在序列尾部快速、随机的插入和删除操作。它在需要时可以改变其大小,也就是说大小可变的向量,比较灵活。可取代C++语言本身提供的传统数组。提供随机存储能力。操作尾端元素的速度最快。由于所有元素占用连续空间,所以一旦进行插入或者删除动作,有可能使原本的某些 iterators失效。list:这是

2014-08-17 13:44:31 547

转载 大数据量的算法

作者:July、youwang、yanxionglu。时间:二零一一年三月二十六日说明:本文分为俩部分,第一部分为10道海量数据处理的面试题,第二部分为10个海量数据处理的方法总结。有任何问题,欢迎交流、指正。出处:http://blog.csdn.net/v_JULY_v。第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个I

2014-08-17 13:32:37 422

转载 稳定排序和不稳定排序

这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。      首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的

2014-08-17 13:28:20 563

转载 阿里云面试总结

电话问题1:构造和析构函数中的虚函数调用;答案:虚函数可以在构造函数和析构函数中调用,但虚函数此时是静态绑定;而非动态绑定。电话问题2:C++中的异常可不可以是引用;答案:异常可以是引用,并且效率高。电话问题3:TCP状态中的close_wait是什么状态;答案:close_wait状态是被动关闭方的一个状态,此时是半关闭状态,被关闭方收到了Fin包,并

2014-08-17 13:24:35 714

转载 二分查找

二分查找算法基本思想二分查找算法的前置条件是,一个已经排序好的序列(在本篇文章中为了说明问题的方便,假设这个序列是升序排列的),这样在查找所要查找的元素时,首先与序列中间的元素进行比较,如果大于这个元素,就在当前序列的后半部分继续查找,如果小于这个元素,就在当前序列的前半部分继续查找,直到找到相同的元素,或者所查找的序列范围为空为止.用伪代码来表示, 二分查找算法大致是这个样子的:

2014-08-15 11:29:56 676

转载 FIQ和IRQ区别

FIQ和IRQ是两种不同类型的中断,ARM为了支持这两种不同的中断,提供了对应的叫做FIQ和IRQ处理器模式(ARM有7种处理模式)。一般的中断控制器里我们可以配置与控制器相连的某个中断输入是FIQ还是IRQ,所以一个中断是可以指定为FIQ或者IRQ的,为了合理,要求系统更快响应,自身处理所耗时间也很短的中断设置为FIQ,否则就设置了IRQ。如果该中断设置为了IRQ,那么当该中断产生的

2014-08-15 11:00:25 830

转载 select,poll,epoll区别

select的本质是采用32个整数的32位,即32*32= 1024来标识,fd值为1-1024。当fd的值超过1024限制时,就必须修改FD_SETSIZE的大小。这个时候就可以标识32*max值范围的fd。对于单进程多线程,每个线程处理多个fd的情况,select是不适合的。1.所有的线程均是从1-32*max进行扫描,每个线程处理的均是一段fd值,这样做有点浪费2.1024上限问题,一个处理

2014-08-15 10:55:44 387

转载 堆排序

堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆  堆实际上是一棵完全二叉树,其任何一非叶节点满足性质:  Key[i]=Key[2i+1]&&key>=key[2i+2]  即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。  堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>=key[2i+2]称为大顶堆,满足 Key[i

2014-08-14 15:40:11 361

转载 C++中构造函数和析构函数避免调用虚函数的问题

一、构造函数避免调用虚函数的问题在构造函数中调用虚成员函数,虽然这是个不很常用的技术,但研究一下可以加深对虚函数机制及对象构造过程的理解。这个问题也和一般直观上的认识有所差异。先看看下面的两个类定义。struct C180{ C180() {  foo();  this->foo(); } virtual foo() {  cout  }};stru

2014-08-14 12:28:04 894

空空如也

空空如也

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

TA关注的人

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