自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

消失的地带

记录自己不该忘记的和该忘记的生活

  • 博客(58)
  • 资源 (4)
  • 收藏
  • 关注

转载 __declspec关键字详细用法

__declspec用于指定所给定类型的实例的与Microsoft相关的存储方式。其它的有关存储方式的修饰符如static与extern等是C和C++语言的ANSI规范,而__declspec是一种扩展属性的定义。扩展属性语法简化并标准化了C和C++语言关于Microsoft的扩展。用法:__declspec( extended-decl-modifier )extended-decl-m

2012-05-31 11:17:31 382

转载 修改VS2008(vc)中工程/解决方案/类的名字

转自:http://blog.csdn.net/chenvsa/article/details/6288372因为不小心打错了或其他原因会修改vs2008的工程/解决方案/类的名字以下是方法:一、先修改工程名/解决方案名举例,原先的工程名为AAA   想要改成BBB1.找到工程/解决方案所在的文件夹(已工程名/解决方案名命名,即AAA) 2.打开该文

2012-04-11 12:27:00 614

原创 基于x86体系结构分析linux-2.6.26内核编译过程

1.      Makefile的分析:1)Linux内核编译简述:Linux2.6内核引入了kbuild机制,通过makemenuconfig配置把配置信息保存到.config文件中,当.config文件被改变之后,在重新编译,Kbuild能够保证只进行最小化的编译。         Linux内核的编译系统主要包括的文件:         交叉编译工具:是编译生成的可执行文

2012-02-16 22:02:55 1826

转载 C++ 强制转换

(转自http://hi.baidu.com/seekvista/blog/item/87845a60ae248845ebf8f8dd.html)static_cast、dynamic_cast、reinterpret_cast、和const_cast关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的

2012-02-09 10:51:25 665

转载 Android系统体系结构概要

转自:编程艺术家Poechant的CSDN博客 http://blog.csdn.net/poechant1、Android Architecture Overview2、四层结构应用层(Application Level),应用框架层(Application Frameworks),系统运行库层(Libraries an

2012-02-08 13:39:46 509

转载 单实例设计模式的实现

单实例设可能是使用最广泛的设计模式。其思想意图是保证一个类只有一个实例,并且提供类对象的全程访问。单实例对象应用的范围很广:如GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。本文将讨论如何用C++实现单实例模式,并解释如何优化单线程应用的设计。设计方案    使用全程对象能够保证方便地访问实例,但是不能保证只声明

2012-01-12 13:45:39 284

转载 C++面试题

1.static有什么用途?(请至少说明两种)1)函数体内,声明为static的变量,在函数调用中其值不变。2) 在同一个文件内(但在函数体外),声明为静态的变量,可被本文件内所有函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用2.引用( &)与指

2011-12-31 13:25:58 407

转载 输出一个单链表中倒数第K个节点

在找实习的一次电话面试中遇到了这么个问题。一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针:思路:设置两个指针p1,p2;             p1=head;       p2=head;            先让p2向前走k步,然后同时让p1,p2向后走。            当p2走到头的时候,p1所指的节点就是所求

2011-12-29 16:15:44 624

转载 不能被声明为虚函数的C++函数

转自 : http://blog.csdn.net/tianshuai11/article/details/7025415                     常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。  1、为什么C++不支持普通函数为虚函数?  普通函数(非成员函数)只能被overload,不能被ove

2011-12-29 15:42:53 331

转载 typedef与define

转自 : http://blog.csdn.net/tianshuai11/article/details/7036136typedef    一,定义           typedef:声明自定义数据类型,配合各种原有数据类型,用来简化编程。    二,用途            1,便于移植                  typedef

2011-12-27 19:09:37 528

转载 怎样不用中间变量temp 实现两个数交换

转自 : http://blog.csdn.net/tianshuai11/article/details/7025398第一类方法也是常用的方法,通过多次的数值计算来完成交换,到现在知道的有下面三种:(1)加减法。a = a + b;b = a - b;a = a - b;该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时候有可能

2011-12-27 18:47:09 7648

转载 android surfaceflinger研究----SurfaceFlinger loop

转自 :http://blog.csdn.net/windskier/article/details/7060995   SurfaceFlinger 是一个thread,运行在system_server进程中,并且其threadLoop()方法的返回值为true,因此它是一个循环的loop。这样保证了SurfaceFlinger业务的循环周期性。    首先,先来个综

2011-12-27 10:37:23 1257 1

转载 android surfaceflinger研究----Surface机制

转自 :http://blog.csdn.net/windskier/article/details/70416101. Surface机制的静态关系    将这一部分叫做Surface机制,是有别于SurfaceFlinger而言的,android的图形系统中,作为C/S模型两端的WMS和SurfaceFlinger是图形系统业务的核心,但是不把WMS和SurfaceFlinger中

2011-12-26 17:52:02 668

转载 android surfaceflinger研究----显示系统

转自:http://blog.csdn.net/windskier/article/details/7030732一.  android显示系统的建立    我们看SurfaceFlinger的定义就知道,它其实是一个Thread, 因此SurfaceFlinger的初始化工作就理所当然的放在了SurfaceFlinger线程中,详见readyToRun()@Surfa

2011-12-26 16:48:05 724

转载 详解Android Surface系统

转自网址:http://mobile.51cto.com/android-259922.htm------------------------------------------------------------------------------------------------------------------------------------------------

2011-12-23 15:37:07 723

转载 智力题2

摘自:http://www.cnitblog.com/zouzheng/articles/21826.html1.有两根不均匀分布的香,香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?答:把两根香同时点起来,第一支香两头点着,另一支香只烧一头,等第一支香烧完的同时(这是烧完总长度的3/4),把第二支香另一头点燃,另一头从燃起到熄灭的时间就是15分!2.一个经理有

2011-12-22 19:26:52 652

转载 智力题1

摘自:http://www.cnitblog.com/zouzheng/articles/21836.html1. 一个粗细均匀的长直管子,两端开口,里面有4个白球和4个黑球,球的直径、两端开口的直径等于管子的内径,现在白球和黑球的排列是wwwwbbbb,要求不取出任何一个球,使得排列变为bbwwwwbb?答案:切下管子的bb端,装到另一端,遂成BBWWWWBB ;或者如果可以弯曲管子也可

2011-12-22 18:50:39 1312

转载 子数组之和的最大值

求子数组之和的最大值是一个很经典的问题。问题的描述如下:一个有N个整形数的一维数组(A[0], A[1], ... A[n-1]),这个数组有很多子数组,那么子数组之和的最大值是什么呢?         这个问题的解答其实在《编程珠玑》一书有的。一共是4中方法:第一种是穷举法,计算所有可能子数组的和,时间复杂度为O(n3)。第二种其实也是穷举法。代码如下:for(i = 0;i < n;i

2011-12-22 18:20:22 957

转载 CPU占用率固定为50%

解题思路:            要控制CPU的使用率曲线,可以让CPU跑busy和idle两个不同的循环。busy循环可以执行一个空循环,idle可以调用Sleep调用实现。              程序的关键在于设定空循环的执行次数,这与CPU的主频存在关系。假设CPU的主频为2.33Hz,CPU每个周期平均可以执行2条指令,一个空循环的指令条数为5条,那么循环次数n的计算方式为n=

2011-12-22 17:47:49 1018

转载 repo 命令的用法

下载 repo 的地址: http://android.git.kernel.org/repo ,可以用 wgethttp://android.git.kernel.org/repo 或者 curl http://android.git.kernel.org/repo >~/bin/repo  来下载 repo , chmod a+x ~/bin/repo 用repo sync

2011-12-20 12:17:28 553

转载 Android 图形系统剖析

Android 中的图形系统采用 Client/Server 架构。Server (即SurfaceFlinger) 主要由 C++ 代码编写而成。Client 端代码分为两部分,一部分是由 Java 提供的供应用程序使用的 API,令一部分则是用 C++ 写成的底层实现。下图概要介绍了 Android 图形系统的架构以及使用的主要组件。SurfaceFlingerSurfaceF

2011-12-19 14:15:05 597

转载 ubuntu 创建/删除用户及修改密码

以root帐户登录,创建新用户:运行:$ sudo adduser tete正在添加用户"tete"...正在添加新组"tete" (1002)...正在添加新用户"tete" (1002) 到组"tete"...创建主目录"/home/tete"...正在从"/etc/skel"复制文件...输入新的 UNIX 口令:重新输入新的 UNIX 口令:pass

2011-12-16 15:14:04 3308

原创 对称数判断

定义:一个整数,它的各位数字如果是左右对称的,则称这个数是对称数。 例如:1234321、123321等。 一般来说,位数大于或等于两位。最小的对称数是11,没有最大的对称数,因为数位是无穷的。 #include using namespace std;bool isSymmetryNum_test(const long n){ int result

2011-12-15 18:06:51 2169

转载 嵌入式程序员面试问题集锦

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

2011-12-15 16:32:59 514

转载 经典面试题:链表的相交与环问题

出处:http://blog.csdn.net/walkinginthewind/article/details/7074022 1.  给出两个单向链表的头指pHead1和pHead2,判断这两个链表是否相交。假设两个链表均不带环。示意图如下:如果两个链表相交于某一节点,那么在这个节点之后的所有节点都是两个链表所共有的。那么也就是说,如果两个链表相交,那么最后一个节点肯定

2011-12-15 15:19:38 588

转载 linux工程师历来面试题大全

一.填空题:1. 在Linux系统中,以 文件 方式访问设备 。2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。3. Linux文件系统中每个文件用 i节点 来标识。4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。5. 链接分为: 硬链接 和 符号链接 。6. 超级块包含了i节点表 和 空闲块表 等重要

2011-12-12 13:15:04 1100

转载 stagefright框架(六)-Audio Playback的流程

到目前為止,我們都只著重在video處理的部分,對於audio卻隻字未提。這篇文章將會開始audio處理的流程。Stagefright中關於audio的部分是交由AudioPlayer來處理,它是在AwesomePlayer::play_l中被建立的。(1) 當上層應用程式要求播放影音時,AudioPlayer同時被建立出來,並且被啟動statu

2011-12-06 18:50:24 368

转载 stagefright框架(五)-Video Rendering

AwesomePlayer::onVideoEvent除了透過OMXCodec::read取得解碼後的資料外,還必須將這些資料(mVideoBuffer)傳給video renderer,以便畫到螢幕上去。(1) 要將mVideoBuffer中的資料畫出來之前,必須先建立mVideoRenderervoid AwesomePlayer::onVideoE

2011-12-06 18:22:11 323

转载 stagefright框架(四)-Video Buffer傳輸流程

這篇文章將介紹Stagefright中是如何和OMX video decoder傳遞buffer。(1) OMXCodec會在一開始的時候透過read函式來傳送未解碼的data給decoder,並且要求decoder將解碼後的data傳回來status_t OMXCodec::read(...){  if (mInitialBuffe

2011-12-06 18:15:07 364

转载 stagefright框架(三)-選擇Video Decoder

在《Stagefright (1) – Video Playback的流程》中,我們並沒有詳述Stagefright是如何根據影片檔的類型來選擇適合的video decoder,現在,就讓我們來看一看。(1) Video decoder是在onPrepareAsyncEvent中的initVideoDecoder被決定的OMXCodec::Create()會回傳video de

2011-12-06 18:08:07 330

转载 stagefright框架(二)- 和OpenMAX的運作

Stagefright的編解碼功能是利用OpenMAX框架,而且用的還是OpenCORE之OMX的實作,我們來看一下Stagefright和OMX是如何運作的。(1) OMX_InitOMXClient mClient;AwesomePlayer::AwesomePlayer(){  mClient.connect();}st

2011-12-06 16:01:16 391

转载 stagefright框架(一)Video Playback的流程

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

2011-12-06 15:28:42 427

转载 An overview of Stagefright player

There is a new playback engine implemented by Google comes with Android 2.0 (i.e, Stagefright), which seems to be quite simple and straightforward compared with the OpenCORE solution.MediaEx

2011-12-06 14:57:32 654

转载 Android-StageFright之数据流的封装和AwesomePlayer流程

数据流的封装一、由数据源DataSource生成MediaExtractor。通过MediaExtractor::Create(dataSource)来实现。Create方法通过两步来生成相应的MediaExtractor:1、通过dataSource->sniff来探测数据类型2、生成相应的Extractor:if (!strcasecmp(mime, MEDIA_MIM

2011-12-06 14:21:17 1456

转载 Android Display System --- Surface Flinger

Android Display System --- Surface Flinger     SurfaceFlinger 是Android multimedia 的一个部分,在Android 的实现中它是一个service ,提供系统 范围内的surface composer 功能,它能够将各种应用 程序的2D 、3D surface 进行组合。在具体讲SurfaceFlinger 之前

2011-12-05 18:21:12 446

转载 智能指针和弱引用

智能 指针 和弱引用在android 中可以广泛看到的template class Sp 句柄类实际上是android 为实现垃圾回收机制的智能指针。智能指针是c++ 中的一个概念,因为c++ 本身不具备垃圾回收机制,而且指针也不具备构造函数和析构函数,所以为了实现内存( 动态存储区) 的安全回收,必须对指针进行一层封装,而这个封装就是智能指针,其实说白了,智能指针就是具备指针功能同时提供安全

2011-12-05 16:42:07 365

转载 droid GDI 之SurfaceFlinger之动态结构示意图

SurfaceFlinger对象建立过程示意 1 SurfaceSession的建立    客户端请求建立Surface时,首先在要与SurfaceFlinger建立一个Session,然后再Session上建立一个Connection通过概念返回Bclient对象。WindowManagerService在添加第一个窗口前会检查SurfaceSession是否建立,如何没有建立,将会

2011-12-05 13:43:22 424

转载 Android GDI之SurfaceFlinger

Android GDI之SurfaceFlingerSurfaceFinger按英文翻译过来就是Surface投递者。SufaceFlinger的构成并不是太复杂,复杂的是他的客户端建构。SufaceFlinger主要功能是:1) 将Layers (Surfaces) 内容的刷新到屏幕上2) 维持Layer的Zorder序列,并对Layer最终输出做出裁剪计算。3) 响应Clien

2011-12-05 13:33:40 362

转载 Android 基本空间划分

Google给了我们一张系统架构图,在这张图上我们可以看到Android的大体框架组成。  从上图可以看到:Android Applications,Application Framework,Dalvik Virtual Machine,Linux。如果将Android泛化,我们可以将系统划分成两部分:    但是为了研究的方便我们先看最为本质的三层,上面是A

2011-12-05 13:24:08 526

转载 C/C++/C#面试题精选(5)

问题(21):C#是一门托管语言,那么是不是说明只要用C#,就能保证不会出现内存泄露和其他资源泄漏?如果不是,在哪些情况下可能会出现泄漏?答案:C#不能保证没有资源泄漏。比如如下几种情况可能会造成资源泄漏:(1) 调用Nativecode,比如用P/Invoke或者调用COM;(2) 读写文件时的,没有及时closestream, 或者ADO.NET连数据库时,没有及时关闭连接,也算资源泄漏?

2011-12-05 10:47:07 279

vim easy grep 插件

vim easy grep 插件 非常好用的插件 可以添加到VIM的配置里面

2019-04-01

bettertermpro.v4.0.3.apk

Android系统终端 Android 3.x 4.x 貌似没有自带的终端哦 这个工具非常实用

2011-11-29

空空如也

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

TA关注的人

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