自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(143)
  • 资源 (5)
  • 收藏
  • 关注

转载 WebKit之HTML元素支持流程

介绍下webkit对于html元素的解析流程.DocumentLoader收到html后通过DocumentWriter调用HTMLDocumentParser::appendBytes,然后通过DocumentWriter解码后,调用HTMLDocumentParser::append添加到HTMLInputStream中,如果当前有js在执行,就调用HTMLPreloadScanner

2012-01-29 00:18:13 1032 1

转载 Webkit文本资源编码选择

Webkit文本资源编码选择分类: WebKit2011-08-14 10:55 129人阅读 评论(0) 收藏 举报本文描述了Webkit文本资源解码时,编码格式的选择问题。这里的文本资源是指HTML/XML、CSS,以及JS文件等。如果没有明确说明,本文提到的“文本解码器”均特指TextResourceDecoder类。文本资源解码器由TextResourceDec

2012-01-18 22:55:04 809

转载 网页解码浅析

转载出处:http://blog.csdn.net/awebkit   网页是如何正确显示出来而不会乱码的呢?本文就这个问题讨论一下   当我们调用loadURL之后,经过一系列的check,终于,我们到了MainResourceLoader,开始load->loadNow,在这里,我们发送了网络请求。      下面这段大致讲了网络部分的结构,熟悉这部分的可以

2012-01-18 22:11:36 825

转载 c++ template使用疑问

具体template使用网上可以看到说明,在这里强调一点关于template模版实参为空的特例。 转载网络关于c++考级的要点. 知识点4:    1.1  函数模板  1.1.1  考点1:函数模板的概念和声明    函数模板是一系列相关函数的模型或样板,这些相关函数的源代码形式相同,只是所针对的数据类型不同。对于函数模板,数据类型本身成了它的参数,因而是一种参数化类

2012-01-07 09:51:08 1570

转载 typedef(函数指针)重点说明

再谈typedef(重点为函数指针)  有种很方便的写法。typedefint *p;ppointer;这时直接把pointer带入原式中,取代p然后去掉typedef,得到的结果就是int* pointer;哈哈,这样直接替换就很直观多了。C语言语法简单,但内涵却博大精深;如果在学习时只是止步于表面,那么往往后期会遇到很多困难。typedef是

2012-01-03 17:20:24 710

转载 [WebKit]RefPtr和PassRefPtr基础[1]

历史:     在WebKit中,许多对象采用了引用计数。这种模式是通过类的ref,deref成员函数来递增和递减对象的引用记数。调用一次ref必须调用一次deref。当对象的引用记数为0的时候,对象就被删除。WebKit中许多类创建的新对象引用记数都为0,这被称作是浮动状态(Floating State)。在浮动状态的对象必须调用ref,在删除之前必须调用deref。WebCore中许多

2011-12-30 01:22:52 700

转载 WebKit的智能指针分析 - Part 1:RefCounted

在WebKit的官网上有一篇使用指南:RefPtr and PassRefPtr Basics,从应用的角度讲解了RefPtr类族的由来,及使用方法。但很无厘头的是,这里面居然没有提到如何创建一个有引用计数功能的类!?(教你如何用砖头造房子却不教你如何造砖头)在抱怨作者的粗心、懒惰、和恶搞精神后,我只能用一句俗话来安慰自己:还好有源代码,还好有源代码,⋯⋯WebKit我来了!!!WebKi

2011-11-29 23:20:00 710

转载 Ubuntu 10.10下安装TFTP的步骤_必须装tftp-hpa版本

装了ubuntu10.10,tftp服务经常搞不通,折腾了快一天,终于找一篇管用的方法,转了。备注:openbsd-inetd 不用装也行。我的就没有装它。 参考10.04的方式安装失败,按如下方式安装pass了。【已成功】Ubuntu 10.10下安装TFT

2011-10-18 17:40:01 997

转载 webkit内核源码分析五

图1 HTML解析模型图上图是HTML解析模型图,HTML解析分成Tokeniser和Tree Construction两个步骤,在”WebKit中的html词法分析”(http://blog.csdn.net/dlmu2001/archive/2010/11/09/

2011-10-13 16:12:33 816

转载 webkit内核源码分析四

摘要:本文介绍 WebCore 中 Loader 模块是如何加载资源的,分主资源和派生资源分析 loader 模块的类关系。关键词: WebKit,Loader,Network,ResouceLoader,SubresourceLoader一、类结构及接口Loader

2011-10-13 16:11:23 918

转载 webkit内核源码分析三

摘要:浏览器的请求一般是以页面请求为单位,当用户通过网址栏输入一个url,浏览器就开始一个页面请求。而一个页面请求可能包含有一到多个页面子帧,以及图片、CSS和插件等派生子资源。Page类就是用来对应这样的页面请求。Page类是WebKit中非常重要的一个类,它就像内核对外的一个

2011-10-13 16:10:18 811

转载 webkit内核源码分析二

摘要:本系列通过分析WebKit的源代码,试图分析WebKit的内核设计架构,模块之间的关系,分析的时候以Qt的移植为参考,涉及移植的东西不多,主要还是以内核为主。FrameLoader类负责一个Frame的加载,在Frame的流程中起到非常重要的重要,同很多组件都有交互,本文将

2011-10-13 16:09:26 693

转载 webkit内核源码分析一

摘要:本系列通过分析WebKit的源代码,试图分析WebKit的内核设计架构,模块之间的关系,分析的时候以Qt的移植为参考,涉及移植的东西不多,主要还是以内核为主。在分析内核的时候,Frame是首当其冲的一个类,本文将分析Frame类的代码。1.    描述Frame类是

2011-10-13 16:08:08 672

转载 OABI 和 EABI

1。什么是ABIABI,application binary interface (ABI),应用程序二进制接口。既然是 接口,那就是某两种东西之间的沟通桥梁,此处有这些种情况:A。应用程序 操作系统;B。应用程序 (应用程序所用到的)库C 。应用程序各个

2011-09-22 13:48:44 559

转载 Unix Sockets代码实例

Remember FIFOs? Remember how they canonly send data in one direction, just like a Pipes? Wouldnt it be grand if you could senddata in both directions like you can with a socket?Well, hope

2011-06-24 16:45:00 735

原创 WriteCallback函数后代码流程

起始页运行时,从curl的writecallback函数到htmltokenizer中的write为止。 BCResourceHandleManagerCurl.cpp:writeCallback()-->ResourceLoader.cpp:didReceiveData(ResourceHandle*, const char* data, int length, int length

2011-06-24 10:43:00 1363

原创 查看编译器自定义宏

1. cpp  -dM /dev/null 命令可以查看本机gcc编译器自定义的宏2.c2-linux-cpp  -dM /dev/null 我用c2的交叉编译器,所以执行这个命令就可产看c2的gcc编译的自定义宏3. gcc  -dM -E - < /dev/null主要是为了用CPU架构来区分不同平台 例如 代码中有#if defined(__ppc64__)

2011-06-23 17:13:00 1124

转载 Sockets编程简介

 Berkeley Sockets        Network I/O is morecomplicated than the normal file I/O. The file I/O operations are on thesame system, the file descriptor is sufficient for identifying a file. 

2011-06-16 11:30:00 605

转载 GCC编译的背后( 预处理和编译 汇编和链接)

<br /><br />by falcon<[email protected]><br />2008-02-22<br />平时在Linux下写代码,直接用"gcc -o out in.c"就把代码编译好了,但是这后面到底做了什么事情呢?如果学习过编译原理则不难理解,一般高级语言程序编译的过程莫过于:预处理、编译、汇编、链接。gcc在后台实际上也经历了这几个过程,我们可以通过-v参数查看它的编译细节,如果想看某个具体的编译过程,则可以分别使用-E,-S,-c和 -O,对应的后台工具则分别为cpp,cc1

2011-05-31 16:25:00 1062

转载 函数指针(*(void (*)( ) )0)( ) 解析

<br /><br />在很多情况下,尤其是读别人所写代码的时候,对C语言声明的理解能力变得非常重要,而C语言本身的凝练简约也使得C语言的声明常常会令人感到非常困惑,因此,在这里我用一篇的内容来集中阐述一下这个问题。<br />  问题:声明与函数<br />  有一段程序存储在起始地址为0的一段内存上,如果我们想要调用这段程序,请问该如何去做?<br />  答案<br />  答案是(*(void (*)( ) )0)( )。看起来确实令人头大,那好,让我们知难而上,从两个不同的途径来详细分析这个问题。

2011-05-25 17:52:00 688

转载 C++ 对象的内存布局(下)

<br />钻石型多重虚拟继承<br />虚拟继承的出现就是为了解决重复继承中多个间接父类的问题的。钻石型的结构是其最经典的结构。也是我们在这里要讨论的结构:<br />上述的“重复继承”只需要把B1和B2继承B的语法中加上virtual 关键,就成了虚拟继承,其继承图如下所示:<br /><br />上图和前面的“重复继承”中的类的内部数据和接口都是完全一样的,只是我们采用了虚拟继承:其省略后的源码如下所示:<br />class B {……};<br />class B1 : virtual publi

2011-05-25 16:10:00 451

转载 C++ 对象的内存布局(中)

<br />重复继承<br />下面我们再来看看,发生重复继承的情况。所谓重复继承,也就是某个基类被间接地重复继承了多次。<br />下图是一个继承图,我们重载了父类的f()函数。<br /><br />其类继承的源代码如下所示。其中,每个类都有两个变量,一个是整形(4字节),一个是字符(1字节),而且还有自己的虚函数,自己overwrite父类的虚函数。如子类D中,f()覆盖了超类的函数, f1() 和f2() 覆盖了其父类的虚函数,Df()为自己的虚函数。<br />class B<br />{<b

2011-05-25 16:09:00 476

转载 C++ 对象的内存布局(上)

2008-11-14 作者:陈皓 来源:csdn<br />前言<br />07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非常简单的,主要是为了说明一些机理上的问题,也是为了图一些表达上方便和简单。不想,这篇文章成为了打开C++对象模型内存布局的一个引子,引发了大家对C++对象的更深层次的讨论。当

2011-05-25 16:08:00 455

转载 C++ 虚函数表解析

2008-11-14 作者:陈皓 来源:csdn<br />前言<br />C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。<br />关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相

2011-05-25 16:06:00 454

转载 DFB运行参数 directfbrc

<br />DFB运行的时候可以带参数,参数如下:用命令 --dfb:help可以得到帮助。<br />DirectFB options:<br />  system=<system>                Specify the system (FBDev, SDL, etc.)<br />  fbdev=<device>                 Open <device> instead of /dev/fb0<br />  busid=<id>             

2011-05-19 15:23:00 3097

转载 gdbserver调试方法

<br />一、下载gdb-6.4.tar.gz源代码 http://ftp.gnu.org/gnu/gdb/<br />点击这里下载Gdb 的简单使用gdb+gdbserver 方式进行ARM 程序调试PDF版<br />二、编译 GDB<br />2.1、编译arm-linux-gdb<br />#tar zxvf gdb-6.4.tar.gz<br />#cd gdb-6.4 <br />#./configure --target=arm-linux --prefix=/usr/local/arm

2011-05-18 15:59:00 1329

转载 libtool

<br />作者:刘军涛 系所:微处理器研发中心 日期:2006-1-6<br />1 libtool的工作原理<br />libtool 是一个通用库支持脚本,将使用动态库的复杂性隐藏在统一、可移植的接口中;使用libtool的标准方法,可以在不同平台上创建并调用动态库。可以认为libtool是gcc的一个抽象,其包装了gcc(或者其他的编译器),用户无需知道细节,只要告诉libtool需要编译哪些库即可,libtool将处理库的依赖等细节。libtool只与后缀名为lo、la为的li

2011-05-17 18:11:00 646

转载 二进制实用程序(objdump, readelf,ar, nm等)

<br />GNU 二进制实用程序Binutils (GNU binary utilities)包括:objdump、readelf、addr2line、strip、ar、nm、ldd、ngprof、gcov等。<br /><br />一。 objdump - 显示二进制文件信息<br /><br />objdump可以根据目标文件来生成可读性比较好的汇编文件。常用的命令如下:<br /><br />gcc -g3 test.c -o test.o <br />objdump -Slz te

2011-05-17 18:03:00 1216

转载 使用 apt-file 查找缺失的包

<br />apt-file 是一个命令行界面的 APT 包搜索工具。当我们在编译源代码时,时有缺少文件的情况发生。此时,通过 apt-file 就可以找出该缺失文件所在的包,然后将缺失的包安装后即可让编译顺利进行了。<br />安装 apt-file<br />在 Ubuntu 中,可以通过执行下列命令来安装 apt-file:<br />sudo apt-get install apt-file<br />更新包内容<br />在使用 apt-file 搜索包之前,需要先更新包内容,你可以使用以下指令:

2011-05-10 10:20:00 1185

转载 DirectFB和Cairo的嵌入式图形开发实践

<br />引 言<br />    DirectFB是一个提供硬件图形加速、输入设备处理抽象并集成了透明功能窗体系统和多显示层处理的开源库。通过对底层硬件不支持的图形操作以回调函数实现,DirectFB实现硬件设备的完全抽象。另外DirectFB在设计之初就充分考虑嵌入式系统的固有特性,体积小巧,资源消耗低。作为嵌入式系统中强大的图形处理库,DirectFB成为Linux下图形处理的一个新的标准(CELF AVG 1.0标准)。<br />    使用DirectFB可以绕开X Window系统,

2011-04-28 10:21:00 1335

转载 cairo的代码

<br />最近在看cairo的代码,随手写的文档,还没有整理。<br />Cairo将成为Linux 2D 绘图的未来,相信我,没错的。这是一个笔记,另外还有一个cairo粗斜体显示中文的补丁,这个补丁我永远也不会向外放,因为,这么作,就跟firefly和akito的做法一样,用一个错误的方法解决错误的问题。粗体实现,应该在freetype的GetBitmap之前就要完成,这样,任何基于freetype的东西都不再需要补丁了。这个文档会不断完善,也会跟着cairo的版本升级作修改,我希望最后这个文档能

2011-04-28 10:03:00 2327 1

转载 cairo总结

Cairo将成为Linux 2D 绘图的未来注意:目前"有理论没有实践"^_^=======================1,什么是Cairo。=======================cairo是一个支持多种输出的向量图形库。也就是说,cairo是种画图的工具库,他可以向多种设备上画图,比如: cairo可以输出到png,可以输出到pdf,可以输出到ps,可以输出到xlib,可以输出到XCB,可以输出到win32,以后还要输出到svg=================

2011-04-28 10:01:00 1102

转载 WebCore中的http响应信息维护

<br /><br />摘要:WebCore源代码分析,WebKit,dlmu2001,http模块,http响应,ResourceResponse,ResourceHandle,ResourceRequest,DocumentLoader,浏览器内核,curl<br />在“WebCore中的http请求信息维护”中,我们曾经简单介绍过http的原理,并分析了WebCore中对请求信息的维护,这篇文章则分析WebCore对http响应信息的维护。1. 作用<br />ResourceResponse负责维

2011-04-26 17:35:00 564

转载 Webcore中文本资源编解码

<br /><br />Webcore中文本资源编解码<br /> <br />dlmu2001<br /> <br />本文描述的文本资源编解码,针对的是字符串编解码,如UTF-8,GB2312,而非传输编解码(如gzip)。<br />   关于字符串编码的理论知识,如果你还不了解,可以参考http://baike.baidu.com/view/1204863.htm。<br />   我们以一个最简单的网页为例,假设服务器上有一个纯链接的页面,没有任何派生资源(image,css,sound,subf

2011-04-26 17:34:00 733

转载 WebCore中的http请求信息维护

<br />      WebCore中的http请求信息维护(dlmu2001)<br />     WebCore内核本身并不实现http协议,它通过调用不同平台的http库,比如Qt的QnetWorkRequest,gtk的soup,或者curl等,来实现http协议的功能。这里将以curl为例,来理解webcore中的请求信息维护。    http协议的细节,如果希望深入了解的话,可以参考rfc2616,rfc2617。简单介绍下它的原理,http协议遵循的是一个请求à响应的机制。也就是说,一个ur

2011-04-26 17:23:00 936

转载 WebKit中的html词法解析

<br />WebKit中的html词法解析<br />[email protected]<br />摘要:webkit源代码分析,webcore,html解析,htmlparse,htmltoken,htmltokenizer,dlmu2001,浏览器,chrome<br />语言的解析一般分为词法分析(lexical analysis)和语法分析(Syntax analysis)两个阶段,WebKit中的html解析也不例外,本文主要讨论词法分析。<br />词法分析的任务是对输入字节流进行逐

2011-04-26 16:58:00 988

转载 linux/proc/stat计算cpu利用率

<br /><br />一般来说对于需要大量cpu计算的进程,当前端压力越大时,CPU利用率越高。但对于I/O网络密集型的进程,即使请求很多,服务器的CPU也不一定很到,这时的服务瓶颈一般是在磁盘的I/O上。比较长见的就是,大文件频繁读写的cpu开销远小于小文件频繁读写的开销。因为在I/O吞吐量一定时,小文件的读写更加频繁,需要更多的cpu来处理I/O的中断。<br /> <br />在Linux/Unix下,CPU利用率分为用户态,系统态和空闲态,分别表示CPU处于用户态执行的时间,系统内核执行的时间,和

2011-04-26 11:27:00 715

转载 DirectFB应用分析报告

<br />1.概述根据目前STB的媒体表现形式不足和将来的功能扩展需求,需要有一套稳定、灵活的显示设备、输入设备适配层。 DirectFB(以下简称DFB)是针对嵌入式系统资源和性能特点而设计的一套图形库。我们在这里对DFB在Davinci平台上的可用性做一次分析。分析的主要内容有:1)      代码的编译选项2)      图形库主要特性3)      典型应用程序启动、画图显示过程分析4)      分析DFB在Davinci平台上应用的可行性2.编译选项<br />./configure 

2011-04-26 09:52:00 2829

转载 C++忠告

<br /><br />C++之父Bjarne Stroustrup写的《The C++ Programming Language (Special<br />Edition)》中各章后面的忠告。<br /><br />第1章 致读者<br />[1] 在编写程序时,你是在为你针对某个问题的解决方案中的思想建立起一种具体<br />表示。让程序的结构尽可能地直接反映这些思想:<br />    [a] 如果你能把“它”看成一个独立的概念,就把它做成一个类。<br />    [b] 如果你能把“它”看成一个

2011-04-20 18:00:00 532

转载 DirectFB

<br /> <br />DirectFB<br />1. DirectFB概述<br />在嵌入式GUI中需要实现多种图形功能,包括图形绘制以及图形拷贝等。其中的许多功能需要进行大量的数据传递(如图形拷贝)或者需要进行大量的数值计算(如画样条曲线)。如果这些功能都由软件来实现的话,会占用大量的CPU时间且需要传递大量的数据,从而影响了图形性能。许多显示芯片都带有图形处理器,能够从硬件上实现一部分图形功能。支持硬件加速的图形库就可以通过图形处理器来实现这些功能,从而减轻了CPU的负担,并减少了数据在总线上的

2011-04-18 17:01:00 3132 2

精通init ramfs构建

精通init ramfs构建step by step ,关于linux下,init ramfs 的创建

2010-04-15

IP网络扫描技术讲解

讲述了网络扫描技术,从tcp标志位扫描到隐秘扫描到udp扫描,文中详细讲解了各种网络扫描技术。

2010-03-15

zImage内核镜像解压过程详解

zImage内核镜像解压过程详解,给需要了解linux内核解压缩过程。

2008-09-25

基于Qtopia的嵌入式软件开发

基于Qtopia的嵌入式软件开发,一个 文挡

2008-08-30

linux_嵌入式的系统移植简介

linux_嵌入式的系统移植简介 入门的东西

2008-08-26

空空如也

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

TA关注的人

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