自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 线程专有变量 thread specific data

http://blog.163.com/jiangbowen1_qd/blog/static/61395762201063084158564/

2011-07-27 12:50:32 645

原创 gdb 调试

用GDB调试程序 来源:www.trucy.org (2005-03-23 16:48:14)<br /><br />GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。<br /><br />于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成

2011-05-12 15:50:00 914

转载 eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称

<br />eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。<br />比方说:add eax,-2 ;   //可以认为是给变量eax加上-2这样的一个值。<br />这些32位寄存器有多种用途,但每一个都有“专长”,有各自的特别之处。<br />EAX 是"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器。<br />EBX

2011-05-12 10:41:00 3358

转载 Android 色深 32位支持

<br />首先介绍有关色彩深度的知识。<br />计算机显示器上同时能显示的颜色数量是由色彩深度(Color Depth)决定的,例如色彩深度若为16则同时能显示2的16次方即65536种颜色,色彩深度若为24则同时能显示2的24次方即16777216种颜色。在显卡驱动设置里通常把16位色模式称为“增强色”,24位色模式称为“真彩色”。至于显卡支持的 32位色模式,只是为了更好地处理色彩,实际上液晶面板能支持的色彩深度通常还是24位,也就是红绿蓝各8

2011-05-05 18:42:00 10075

转载 glibc strlen 实现

<br />glibc中的strlen的实现主要的思想就是每次检测4个字节(long int)。这样的话就降低了循环的次数,从而从整体上提高了效率。 <br />  这里它使用了两个技巧,一个是由于传进来的字符串的地址有可能不是4字节(long int)对其的,因此首先需要遍历字符串从而找到4字节对其的那个地址。然后再进行比较. <br />  第二个技巧就是如何高效的判断4个字节中是否有字节为0. <br />  下来来看源码,这个源码的注释还是满详细的。这里主要都是一些位计算的技巧: <br />  J

2011-05-05 18:40:00 1108

转载 I帧和IDR帧区别

<br />I帧和IDR帧的区别:<br />    IDR帧属于I帧。解码器收到IDR frame 时,将所有的参考帧队列丢弃(用x264_reference_reset函数实现——在encoder.c文件中)。这点是所有I帧共有的特性,但是收到IDR帧时,解码器另外需要做的工作就是:把所有的PPS和SPS参数进行更新。由此可见,在编码器端,每发一个IDR,就相应地发一个 PPS&SPS_nal_unit<br />    这是网上搜索到的一个答案,有一定参考价值吧。<br /><br />先说明:所有的

2011-03-04 15:09:00 15711 1

转载 Android Binder

<br />(一) 概述    <br />    android的binder机制提供一种进程间通信的方法,使一个进程可以以类似远程过程调用的形式调用另一个进程所提供的功能。binder机制在Java环境和C/C++环境都有提供。<br />    android的代码中,与C/C++的binder包括一些类型和接口的定义和实现,相关的代码在下面这几个文件中:<br />    frameworks/base/include/utils/IInterface.h<br />    frameworks

2011-02-16 12:58:00 1392

原创 Ubuntu32位编译Android2.3 -Gingerbread

<br /> 编译的过程中遇到下面的错误: <br />************************************************************<br />You are attempting to build on a 32-bit system.<br />Only 64-bit build environments are supported beyond froyo/2.2.<br />*********************************

2011-01-20 10:24:00 2279 1

转载 MPEG video compression I帧 P帧 B帧

MPEG video compression techniquea brief discussion<br />The MPEG compression technique is described here as long it is necessary to understand theJava implementation problems.<br />A MPEG "film" is a sequence of three kinds of frames:<br />The I-fram

2011-01-19 11:28:00 2873

原创 遇到的StageFright问题 一 音视频因ALSA不同步

<br /><br />ALSA: <br />      最近遇到Stagefright A/V不同步的问题,最后查明竟然是因为ALSA的参数配置问题。StageFright的A/V同步,做得比较直接,直接音频驱动视频,但是 如果因为音频未能及时相应回调,那么音频的计算周期就会产生问题,直接导致视频丢帧。<br /> <br />以下是转贴<br /> <br /> 这里了解一下各个参数的含义以及一些基本概念。<br />样本长度(sample):样本是记录音频数据最基本的单位,常见的

2011-01-13 09:21:00 4376 5

转载 minicom

<br /><br /> ===== 一.Minicom介绍 ===== <br />    <br />  Linux下的Minicom的功能与Windows下的超级终端功能相似,可以通过串口控制外部的硬件 <br />  设备.适于在linux通过超级终端对嵌入式设备行管理.同样也可以使用minicom对外置Modem <br />  进行控制. <br />   <br />  ===== 二.Minicom的安装 ===== <br />   <br />  ==

2010-12-30 12:58:00 737

转载 Android智能指针

<br />在Android的源代码中,经常会看到形如:sp<xxx>、wp<xxx>这样的类型定义,这其实是Android中的智能指针。智能指针是C++中的一个概念,通过基于引用计数的方法,解决对象的自动释放的问题。在C++编程中,有两个很让人头痛的问题:一是忘记释放动态申请的对象从而造成内存泄露;二是对象在一个地方释放后,又在别的地方被使用,从而引起内存访问错误。程序员往往需要花费很大精力进行精心设计,以避免这些问题的出现。在使用智能指针后,动态申请的内存将会被自动释放(有点类似Java

2010-12-28 14:17:00 841

转载 C++中enum枚举类型成员重名问题的解决方法 - Enum枚举类型的类封装(转)

C++语言中,对于一个枚举类型(enum),其成员值在所属枚举类型的声明作用域内是不可重复的。这个继承自C语言的特性,使我在写程序时碰到有相同名称的枚举成员时,苦于寻找且方便易读的替代枚举名称。<br />这在C++程序开发方面带来了许多的不方便,在涉及枚举类型时必须时刻关注与现有的枚举变量是否有重名,在一定程度上限制了命名的自主性,也会降低程序的可读性。而在Visual Basic 6和.net系列语言中,两个不同的Enum类型可以具有相同的成员,在使用时只需加上Enum类型名称。目

2010-12-16 20:27:00 1038

原创 ASF1.0

Background<br /><br />   Advanced ( formerly Active ) Streaming Format was developed by Microsoft in 1995-1998. Its main purpose is to serve as an universal formatfor storing and streaming media. There are two versions of ASF. Version that isknow

2010-12-09 17:48:00 1568

转载 Big endian / little endian

<br />一、字节序<br />来自:http://ayazh.gjjblog.com/archives/1058846/<br /><br />谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存储数据,而x86系列则采用little endian方式存储数据。那么究竟什么是bigendian,什么又是little endian呢?<br /><br /> 

2010-12-07 17:18:00 802

原创 Linux Shell 脚本

引言:Linux shell脚本 Linux成功的杀手锏 <br />基础一下Linux shell脚本<br />1. Linux 脚本编写基础<br />1.1 语法基本介绍<br />1.1.1 开头<br />程序必须以下面的行开始(必须方在文件的第一行):<br />#!/bin/sh<br />符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。<br />当编辑好脚本时,如果要执行该脚本,还必须使其可执行。<br />要使脚本可执行:<br /

2010-12-02 17:13:00 816

转载 Android Prelink

<br />      1.    原理简介<br />1)        Prelink<br />Prelink即预链接技术是利用事先链接以代替运行时链接的技术,以加快共享库的加载速度,它不仅能加快程序启动时间,还可以减少部分内存开销(它能使KDE的启动时间减少50%)。每次程序执行时,进行的链接动作都是一样的,链接相对来说开销很大,尤其是嵌入式系统。<br />2)        普通Linux系统的Prelink<br />Redhat系统中prelink工具(/etc/cron.dialy

2010-12-01 16:02:00 2554

转载 【转】stagefright与opencore对比

<br />1引言<br />Android froyo版本多媒体引擎做了变动,新添加了stagefright框架,并且默认情况android选择stagefright,弃用之前的opencore,仅仅对opencore中的omx-component部分做了引用。 <br />Stagefright自android2.0后才添加,其稳定性有待商榷,是否存在bug也未知,opencore自android诞生起便存在,稳定性有保障。不过,从目前android代码看,opencore有被st

2010-11-29 12:38:00 992 1

转载 avi 文件手册

微软的 AVI 文件格式是一种用于捕获、编辑和回放 audio-video 序列的 RIFF 文件规范。总体上讲,AVI 文件包含多个针对不同数据的流。 大部分 AVI 序列使用 audio 和 video 流。 一个简单的 AVI序列特例可以只包含 video 数据而不包含 audio 数据。本部分并没有介绍 OpenDML 对于 AVI 文件格式的扩展。如果要对其深入研究, 请参考 OpenDML AVI M-JPEG 文件格式小组委员

2010-10-17 22:30:00 1293

原创 如何将自己的类build到Android.jar

<br />    很多情况下,我们都需要去修改framework,如添加一些自己的类等.一些情况下可能添加类之后,我们并不需要做太多的工作这个类已经就build到Android.jar中了.但是有些时候,是需要去修改一些编译的mk文件的.<br />    比如当我们在/framework/base/下添加了一个/test的文件夹,里面有很多我们自己定义的类.如果想要把它build进Android.jar,供其它类使用的话,我们还要去修改<br />    /build/core/pathmap.mk<b

2010-09-01 17:33:00 2268 3

原创 工作过的日企

<br />     第一份工作选择了日企,工作了1年半之后,匆匆忙忙的离开。来开的原因很多,更像是在逃离。刚进公司时,也曾想过好好工作,将来去日本给日本人民增加点GDP,后来对公司产生意见,还是离开了。<br />     关于公司的野心。这点可能是日企最缺乏的,它们不会想着上市,不会想着去独立做软件,只是等待日本的合作伙伴或者母公司能更多的发包,这可能就是这种日企的生存方式。因此更多的时候,你可能会看到公司的领导,端着咖啡,发发邮件,然后等待下班走人,很舒服。有点像国企。<br />     关于技术。

2010-07-31 12:03:00 1220 1

原创 Android 源码编译错误45解决 opencore 启用pvlog 调试

make: *** [out/target/common/docs/dx-timestamp] 错误 45     查了很多文档,都说是JDK版本的问题,google的官方文档也说明了一定要用Jdk1.5,还是有些人就不信这个,比如我。。。坚持用jdk1.6,结果就冒出这个错误。可重新下了JDK1.5,配置了环境之后,再make依然没有解决,这时的jdk已经换成1.5了。在无数次的JDK1.5,1.6卸载,安装,切换之后还是没解决,中间还被折腾得去睡了觉。     醒了之后,突然想到,之前用JDK1.6已经

2010-07-17 20:43:00 2179 1

转载 Android Opencore PVPlayer

<br />  Android的PVPlayer介绍 收藏<br />1 Player的组成 <br />  OpenCore的Player的编译文件是pvplayer/Android.mk,将生成动态库文件 libopencoreplayer.so。这个库包含了两方面的内容:一方是Player的engine(引擎),一方面是为 Android构件的Player,这实际上是一个适配器(adapter)。engine的路径是engine/player;adapter的路径是 android。<br /><br

2010-07-17 20:12:00 1887

原创 Android源码下载

<br />    前段时间换了块硬盘,把Ubuntu给折腾上了,被无线网卡纠缠了一段时间,可以被识别,就是搜索不到热点,最后,换了有线,更新了驱动,终于好了。Ubuntu的桌面堪比MAC OS。但是桌面易用还是无法和Window相比。<br /> <br />   下载Android源码,google有很好的说明文档 http://source.android.com/source/download.html<br />-------------------------------------------

2010-07-12 04:35:00 1529

原创 家人

<br />    大学时,家人打来电话,每次接到时候都是草草的应付,“恩”,“知道了”。然后就觉得没什么话说,挂断电话。很少主动给家里打电话。毕业了,工作了,依然如此,习惯了接到家人的电话,习惯了家人的唠叨,习惯了敷衍家人的叮嘱,习惯了汇报完自己的情况后挂完电话,习惯了家人问“钱够花了吗?”。<br />    一次偶然的回家,才知道父亲身体不大好,家里人也一直隐瞒,一向健康的父亲,家人为自己做得太多了,才发现自己一直忽略了家人,太不懂事了,那时的心情……那段时间经常回家,家人也需要关心,哪怕只是一个电话

2010-07-04 13:16:00 1087 1

原创 Android aidl 制作的下载apk

      又学会了一个新名词aidl(Android Interface Definition Language),也搜集了很多这方面的资料,大概了解了下,本地调用远程执行。但它是同步的,意思就是如果你远程调用的方法需要大量处理的话,那么它有可能阻塞你的调用线程。。。这种机制的好处,在我的理解就是它可以方便你做一些组件,为你的程序更好的模块化,降低耦合性。在android framework层,可以看到很多这种aidl写的接口,很多实现不同于应用层,还没好好看,这种机制实现了远程调用肯定是牺牲某些性能或者

2010-07-03 15:35:00 2991 1

原创 被蹭网了

今天哥们说,网速怎么那么怪。立即查之。。。发现居然有人蹭网。于是杀之。想当初也曾 蹭过别人,呵呵。。。蹭就蹭呗,看看网页就好了啊,不要下载么,在线看电视么。

2010-07-01 20:36:00 745 1

原创 程序员的幽默

都存在的问题~~

2010-06-29 13:24:00 706

原创 Android service process thread 关系

Today I make a simple sample to test service:The result  Condition: 1. the service and the application work in a same process                      1>the thread create in the service will work in the app's process.                     2>the functi

2010-06-27 16:47:00 3754 3

原创 Android启动的大致分析

     像记流水帐般理了下 大概的启动过程。没有多少深度。。。---------------------------------------------------------------------------------------------------------首先是  init进程启动               (一些native服务启动)           如: servicemanager启动                    Zygote启动                   

2010-06-25 20:27:00 4081

空空如也

空空如也

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

TA关注的人

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