星际盟主: weolar_百度空间
 
文章列表
 
2012-05-28 23:02

近期把webkit的渲染部分抽离出来,做个小记录

 

>k

 Index  Function

--------------------------------------------------------------------------------

*1      kdgui_d.dll!WebCore::SVGRectElement::toPathData(WebCore::Path & path={...}) 

 2      

 
2012-05-16 00:33

最近html很火,到处都看到各种html5的豪言壮语,还有乔布斯这厮关于flash一整套诋毁之词,

其实html5绝对不可能比flash还要低损耗,乔老头只是找个猥琐的借口想掐死adobe罢了。

我现在觉得html5的canvas设计的太低级了,利用它虽然可以随心所欲地在其上绘制复杂图案,

但它工作在一个非常底层的工作层面,一方面,通过算法,结合setTimeout和setInterval,

可以无视文档流,无视DOM,无视块级元素行内元素,用canvas绘制让人惊奇的效果,

另一方

 
2012-05-01 00:20

最近硬着头皮在山寨一个js引擎。初步的想法是把另种脚本语言(松鼠脚本),改造成js引擎。

所以有很多js的猥琐用法必须同步转换成松鼠脚本的写法。

现在总算对js的历史渊源有点点理解, 也终于理解js的闭包、函数编程、类的相互关系了,哈哈哈。

其实js就是种函数编程语言,这种语言的function,天生就是类+类构造函数的结合体。

所以js才没有class关键字。

也就是说当写一个function xxx() {....}的时候,脚本引擎其实同时保存了执行代码和

 
2011-12-07 00:40

在研究改别人的一个过滤驱动的时候,发现有的人会在pre Create回调里调用IoCreateFileSpecifyDeviceObjectHint打开Create参数里的文件名,并且用ZwReadFile读取文件并判断是否为pe文件。这种做法会导致一些小问题。

其中过滤驱动并没处理fast io。然后我发现pre write回调偶尔会收不到消息。仔细跟踪下去,发现write消息发送了,但参数里的fileobject并不是Create回调里产生的,而居然是IoCreateFileSpecifyDeviceObjectHint产生的文件对象。

而这个文件对象会有

 
2011-08-13 01:14

FltAllocateContext

FltGetXxxContext(FltGetStreamHandleContext等)

FltSetXxxContext(FltSetStreamContext等)

FltReleaseContext


MSDN文档里写的还是比较详细的,但其实是有些“潜规则”在里面。

总结一下:

1、FltAllocateContext其实分配出来的context ,引用计数其实是1。

 
2011-07-25 23:38
这是去年过年的时候无聊倒腾的东西。最近整理硬盘的时候,发现不少东西在自己的机子上静静的躺了
N个年头,而一直没空去打理,故干脆放出来,希望有缘人能继续整理。。。

很久以前别人问我要,但我没给,是因为里面嵌了个私人版的反编译引擎(不是反汇编引擎)。现在我把它去掉了,嘿嘿。。

这个版本的windbg是从win2k源码里扣出来的。和扣ie5一样,花费了我大量的精力。但实用性不佳……比较是很早
 
2011-07-22 23:45
话说一直很仰慕ie的内部结构,但苦于微软把ie的代码一直藏着掖着,无缘一睹。
不过幸运的是微软其实泄漏过ie2和ie5.5的源码的。但估计这么多年过去了,很少有人关注
这么老的代码,而且很郁闷的是泄漏的源码有非常多的东西不完整。

于是我操起ida,找了台老机器提取出老版本ie,把能逆的逆了下,能抄的抄,终于把ie2和ie5.5编译出来了,期间花了整整三个月的功夫。
需要说明的是,我发的ie5.5代码不是我编译的,而且网上一个哥们,万连文编译的。但我编译的比他完整,基本是整个mshtml.dll。不过他整理的比我好多了,而
 
2011-06-13 12:55

最近头脑有点混乱,一个强大的界面库需要高效的渲染引擎、

排版引擎、脚本支持、动画、各种控件,以及控件定制。

这几个方面无一不需要极大的人力和时间。

其实去年我也在搞类似Duilib这样的小型界面库,但遇到这个瓶颈后一直没进展了。

要做的东西实在太多了。

比如基础控件,就有richedit,日期控件等。

这个就是个很耗精力的事情。光一个richedit 复杂度就不下于一个小型浏览器了。

又如渲染引擎,市面上好的渲染引擎很多,有skia,cairo,Agg。无一不是要花大时间来啃的。更别说

 
2011-06-10 01:04

最近研究界面库、渲染引擎上瘾了,故下研究研究传说中IE的框架。

以后不定期记录些东西,算分析ie的一些学习心得吧。也不知道这东西别人研究过没,

反正随便贴贴,大家随便看看……

 

(1)

CMarkup负责搭建整个xml(html)树结构。

CMarkup::CreateElement根据一个TAG创建一个CElement。

CElement::InsertAdjacent连接各个CElement

CElement继承于CBase,CBase继承于IUnknown。所以每个CElement

都有QueryInterface接口,能给外部,例如像我这样

 
2011-05-31 20:36
一本正经瞎扯淡物理学家--牛顿哥(转存)

 

转存

 

一本正经瞎扯淡物理学家--牛顿


一.

   1642年初,那个从比萨斜塔上扔下来两个小球的人,那个给几百年来全世界小朋友们树立了一个挑战权威独立思考的进步青年形象的人,那个叫做伽利略的大牛,去世了。

   而就在这一年的圣诞夜,在世界的另一个角落,在英格兰林肯郡的牛家村,一个叫做牛顿的小孩,出生了。          

 

 
2011-05-07 16:02

 

一直我非常非常讨厌使用C++继承。设计继承的哥们当初肯定刚考虑完两个类之间的相互关系,认为就是上下级之间的关系最多。殊不知类与类之间可以是复杂的网状关系。于是继承不够用了,又发明什么友类、什么多重继承。面向对象从一开始就被搞错方向了。事实上,现在多倾向用组合,或者模板的静多态取代继承来关联各个类。

 

一个典型的案例就是gui里的list。一个list很容易被产品经理要求有各种小需求:比如在list每行里嵌入按钮、单选框…我就见过某个sb把这一堆东西都继承到LineEle 这个类里。从而

 
2011-01-29 21:56

惊闻卡巴雇员泄漏源码了,赶紧下了份。果然是真的。

足有180M,哈哈。虽然不知道有多少核心代码,不过足以一观大略了。

这回当年微软的悲喜剧又重演了

 
2010-12-28 00:07

Abstract
PCI设备的遍历
如何确定IDE控制器的起始端口号

1 Background
过去我们编码过程中,在确定IDE控制器的端口号时,都是直接使用0x1F0—0x1F7(主IDE控制器)或0x170—0x177(副IDE控制器)。对于不使用这些端口的机器(比如Goalia),就会出现初

 
2010-10-24 16:05
 
2010-08-04 19:31

大话量子力学      一

       故事发生在二十世纪初的法国。

   巴黎。

   一样延续着千百年的灯红酒绿,香榭丽舍大道上散发着繁华和暧昧,红磨坊里弥漫着躁动与彷徨。

   路上走着一个年轻人,名叫德布罗意(De Broglie)。在当时,这名字屌得就跟你说你姓爱新觉罗一样。事实上德布罗意的爸正是法国的一个伯爵奸内阁部长,德布罗意正是一个典型的富二代。

   这样一个不愁吃穿不愁

 
     
 
 
个人档案
 
weolar

 
   
 
文章分类
 
 
     
 
最新评论
 
     
 
好友最新文章
 
     
 
最近访客
 
 

yzbj0101

TO0LS

xiaofengmumu

bxjdklx

MJ0011

59386765

kran

cyberkiller
     
 
背景音乐
 
     
 
订阅我的空间
 
已有人次访问本空间
 
订阅RSS  什么是RSS?

您也想拥有这样的空间?请点此申请。
     
 
最新动态
 
   

帮助中心  |  空间客服  |  投诉中心  |  空间协议
©2012 Baidu