- 博客(30)
- 资源 (1)
- 收藏
- 关注
原创 山寨版flash AIR
前些年做浏览器的时候经,常会遇到客户提出不同的浏览器界面,甚至是一些特殊控制方式的要求。 但由于当时gui和浏览器内核耦合度比较高,所以改动的多了维护起来自然就比较麻烦了,当时就有一个愿望,如果使用flash作为开发浏览器的GUI,借助flash强大的界面表现能力来开发浏览器外壳。这样就可以在一些嵌入式设备上,灵活的开发个性化浏览器界面。这正好和后来的adobe AIR StageWebView不...
2012-05-13 00:30:11 1880 6
原创 开源flashplayer汇总.
以前 刚开始研究flash的时候,搜集了很多开源的flashplayer,仅向vc上就移植了不下五款,但基本上没有一个可以直接使用用的。都存在诸如性能,内存,功能等方面的不足,下面我分别列举一些希望对有兴趣的朋友有点帮助。1.swfdec.这个知名度很高,曾作为一些linux发行版本的组件,但目前已经停止更新。1).swfdec支持到swf 7,全部使用c开发,大量使用了gli
2012-04-02 14:28:10 5718 7
原创 代码体积优化
<br />通常程序的优化都是指速度的优化,但有时体积优化也很重要,最近关于体积的优化总结如下:<br />1)减少代码中的死角,所谓死角就是永远不会执行到的地方,对于一个长期维护的一个项目肯定会形成一些这样的死角,有些死角比如没有被调用到的函数,没有被引用的全局变量等是可以通过编译选项最终移除掉。但有些却是不可以的,比如那些靠数据源改变流程调用到的代码,但新数据源的设计使之永远达不到成立的条,这样这部分调用不到的代码就会无谓的曾经程序的体积。所以对于这些代码要移除掉或者用宏隔开。<br />2)机
2010-08-29 13:38:00 1554
原创 gnash的gui驱动机制.
<br />gnash的gui已经支持了kde,gtk,fltk,sdl等,去年我将它移植到vs下时使用的是sdl, 今天花了点时间把它的前端输出弄到了windows的窗口上,后端渲染还是使用的agg,顺便理一下gnash的gui机制。<br /><br />gnash的前端gui是通过重载Gui类来实现的,Gui类的功能大致分为:<br />1)创建前端窗口。<br /> 各种gui系统都提供了创建窗口的功能,只要根据影片的尺寸创建指定大小的窗口就可以了。<br />2)实例化和窗口相匹
2010-08-01 19:33:00 1588 14
原创 windows上(SM_CXSCREEN|SM_CYSCREEN))和(VERTSIZE|HORZSIZE)的理解
<br /><br />GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN)是获取显示设备的分辨率,就是我们在windows设置的分辨率。<br /><br />GetDeviceCaps()的VERTSIZE,HORZSIZE是以mm为单位描述设备(这里只考虑显示设备)的尺寸,它跟分辨率大小没有关系,但它跟分辨率的比例描述了单位内显示像素的个数。以下是我在pc和ce手机上不同分辨率的一组试验值:<br /><br />PC:<b
2010-07-03 17:59:00 5706 2
转载 GBK字符集范围
<br />GBK字符集范围<br />分区 高位 低位<<br />----------------------------------------------<br />●GBK/1:GB2312非汉字符号: A1~A9 || A1~FE<br />●GBK/2:GB2312汉字 : B0~F7 || A1~FE<br />●GBK/3:扩充汉字 : 81~A0 || 40~FE<br />
2010-07-02 19:21:00 54794
转载 构建ARM Linux系统实践
<br />构建ARM Linux系统实践Cross Tool<br />http://www.kegel.com/crosstool/<br />下载交叉编译环境的脚本,修改demo-arm9tdmi.sh文件,并执行即可在设定的目录产生全套的交叉编译环境。<br />demo-arm9tdmi.sh支持的选项有—nounpack,--nobuild,--testlinux,--gdb,--notest。<br />Note:脚本运行是可能存在的两个问题:1)本地gcc版本检测(不支持高于4.1的gc
2010-06-14 17:32:00 1266
转载 戒烟如你-歌词
(口白) 总是想,戒掉烟吧!就象戒掉你, 这样的决定不知道什么时候才会实行。 多少个晚上,你靠在我的肩上, 笑得象个孩子似的, 而我却不得不相信, 总有一天,你会离去。 这样的心情,在我这样的年纪, 其实早应该无所谓伤不伤心, 有过太多的曾经, 似乎也没有什么不能舍弃, 可是面对你,我竟然失去了这些勇气。 抽烟,不知道究竟是为了什么, 爱你,仿佛也找不到什么理由, 或许,你就象 烟,无孔不入,无处
2009-06-21 22:48:00 1724
转载 用网格加速平面内对象的查找速度.
对网格方法扩展一下。用N*N的格子保存对象。每个格子有一个List.将 坐标为(X,Y)的对象保存到[X%N,Y%N]格子的List中.这个数据结构能方便的查到每个对象附近的东西。 ()
2009-06-14 10:44:00 584
原创 诫烟已仨月
这次诫烟已经三个月了,此时自己已经很难和烟民联系在下起,但在三个月前自己还是时不时来一支!这期间没有抽过一支,有无数想抽的感觉(的确有很多环境下,抽烟有很好的享受),但都忍下来了,这次定的目标是半年,其实我知道只要半年不抽,再加个三年五年的应该也不是问题了. 我总结了一下最有想抽烟欲望的几个场合:1).晚上加班到很晚,等公交车时,回为公交很少!2).和朋友聊天时,特别
2009-06-13 10:48:00 1566
原创 青春岁月
啊,青春,青春,你什么都不管,你好像占有宇宙的一切宝藏,甚至愁苦都使你快活,甚至悲哀你也很欢迎--你全部的奥秘不在于一切事情你都能做到,而在于你想着一切事情你都能做到. ---屠格涅夫 青春对于我们还有几分?留下的只是淡淡的回忆。
2009-04-20 22:10:00 408
原创 为什么写笔记
良好的态度是前进的基础!写笔记是很好的态度。 曾经多少苦思冥想得出的结论,都已经随时间消失,消失得不留一丝痕迹,就像我们不曾拥有。 保留那些来之不易的灵感吧,使之积累成我们永恒的财富。它将指引我们前进。
2009-04-16 22:42:00 390
原创 产品设计与技术实现
近来在工作中发现一个问题,项目在研发初期都是由技术人员撑控的,而这些人在将项目产品化时,总会站在技术实现这个角度设计产品,往往将一些技术点看得很重要而对用户来说可能是可有可无的功能,反之用户感觉很好的一个功能却被我们所忽略。而很难站在最终用户的角度来设计产品,这就使的产品给用户的体验与预想的不同。 最近我一直建议从测试人员中选出一个代表来负责产品的设计(也就是从各个员工那收集一
2009-04-16 22:34:00 781
原创 上层判断,底层断言!(if vs assert)
在C语言中,对错误的处理就遵循“上层判断,底层断言”,即上层通过if判断来程序流程进行错误处理,下层直接断言来纠正上层的条件判断。 eg: int fun( void *ptr){ assert( ptr); ....} int main(){ char *str = (char*)malloc( 30); if(
2009-04-08 22:15:00 545
原创 回家
清明节回了趟老家,乡亲很多都已不认得了,五年多了,彼此都变了很多。我走了几个比较近的乡亲,有个异姓的大伯,我们两家一直不错,我和他虽然夸越近两代,但却有共同的爱好(打猎),我小时候从他那学到了不少经验。大伯属于那种俗话中常说的“能人”,他精通内燃机(农用车)的修理,只要听声音就能定位问题,这一点我父亲很是佩服,我佩服他的还是他打猎技巧和直卓,我很小的时候记得就他整天扛着一杆长枪穿梭田间地头,后来不
2009-04-08 21:20:00 532
原创 俄文编码与gb2312
俄文的编码有西里尔(DOS),西里尔(ISO),西里尔(window-1251),西里尔(KOI8-U),这几种编码不像gb2312,gbk与gb18030那种向上兼容,它们都是以一个字节进行编码的相互不兼容,常用的是window-1251,它兼容ASSCII,gb2312字符集除简体中文以外还包容了一些其它的字符集,当然也包含了俄文,俄文所在的区是A7。所以用gb2312编码的文件可以同时有中,
2009-03-31 22:09:00 9381 1
原创 遗忘的梦想-游戏
在不该有梦想的年代我有太多的梦想!第一次接触游戏还是上小学四年级的时候,有一次一个很要好的伙伴带我到县城里玩,其实是到一个游戏厅里。从那次以后的很多年里,为它逃了很多的课,它也是使我走向堕落的原因之一,更是我由堕落走向积极的动力!从自己用Qbasic编的第一个小动画(一辆行驶的小汽车)到我参加工作整整6年时间,期间写过的小游戏都已记不清了,曾为之无数的奇思妙想都已随岁月而消失。能保留下的只有
2009-03-29 16:30:00 503
原创 点阵与失量字体
在有些嵌入式设备上由于资源所限,还在使用点阵字体,即把系统中要用到的字符用点阵的形式事先编译到程序上或存于数据文件中,绘制时直接取到点阵的地址作为位图进行绘制。与失量字体相比优点是速度快,缺点是没有多种样式支持(face,斜体,加粗),不能任意的缩放,不过有些缺点还是可以弥补的:1)缩放:如果简单的通过位图缩放现在还没有可行的算法对字体缩放,常用的一处笨方法就是多储存几种字号,这样就是以空间为代假
2009-03-27 23:23:00 941
原创 LoadImage()
记得还在学校时,做游戏就经常用这个函数来加载一些图片资源的(BMP)。前几 天做项测试,想得到bmp图片的位图数据,为了简单点,我使用HBITMAP hBitmap; BITMAP bitmap; hBitmap = LoadImage( ins, "f1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_DEFAULTSIZE);
2009-03-18 22:48:00 1407
转载 结构体对齐
结构体对齐问题 引用http://forum.ubuntu.org.cn/trackback.php?e=68612008-01-07 20:55首先先来看看2个程序,第一次看会死人的。 #include struct test{ unsigned int a1; unsigned char a2; unsigned short a3; unsigned char a5; unsigned in
2009-03-16 23:10:00 1423
转载 Unicode
-- 谈谈Unicode编码 这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文
2009-03-16 00:13:00 413
原创 向MTK上移植浏览器(二)
我花了两天时间将渲染模块移植到MTK平台上了,由于这个项目只需要能浏览本地的支持CSS的网页,接下来和同事们将我们浏览器的网络和JavaScript裁掉,剩下的代码很精悍,我又花了几天时间让它在MTK的模拟器上全部编译通过,并写了输入驱动,现在可以在模拟器上浏览网页了,可这时往手机上编译却遇到一个很头疼的问题,连接不过,老是显示$Image....,后来他们那里人解释说是不能使用标准库,具体也没说
2009-03-15 00:49:00 1070
原创 setjmp和longjmp
setjmp和longjmp的使用, 今天在程序里使用setjmp and longjmp进行跳转来进行错误处理,这让我想起了多年前在QBASIC里使用goto感觉,那种对程序的完全控制和自由,当然这种自由也是有代价的,那就是程序的可读性。 但在C语言里适当的使用,也是取代try..catch..的一种方法。 exmaple: #include jm
2009-03-14 00:16:00 438
原创 向MTK上移植浏览器(一)
为了抑制我的烟瘾,就采取这种写日志的方式了!前段时间由于项目需求,要将我们的浏览器移植到MTK平台上(6225),公司里没有MTK平台,只能到对方公司做移植,也就只能由我一个人来做了,第一次见到这个平台感到很惊讶,原系统也可以这样做。整个系统包括应用程序在一个线程(或着这么说吧)内运行。也就是说不存在独立的程序,程序只是由系统调用的一个过程而已,所以假如哪个函数阻了,整个系统也就死了,在这样的系统
2009-03-11 23:35:00 2215 1
原创 今天开始这次的戒烟。
我的烟龄要追溯到初中,那时看别人抽烟很酷,自己也想玩玩深沉,于是也就跟着抽,刚开始只是将烟吸入嘴里让它再呆上一会,然后再吐出来,以为这就是抽烟了,可是始终没体会到从别人表情上领略到的那种感觉,就这样持续了一年,直到有一天我试探性的从一个狗友那知道了,要把烟咽进行肚子里才就抽烟,这才恍然大捂,于是便试着咽了一口,这一咽可让我当场出丑了一把.从那以后我便用我那不服输的精神偷偷的练了起来,直到有一天我发
2009-03-10 21:53:00 464
原创 浏览器对网页节点的渲染层次
时比较容易,只要采用树的浓度优先先根遍历绘制即可。但是以下几种样式就会打乱这种规则,1) float:left|right; 2) position:absolute|relatively; 3) margin采用画家绘制方式,绘制顺序依次是:1)position: absolute|relatively&&z-index2)position: static3) float:left|right4
2009-03-09 23:44:00 496
gplflash vc2003移植
2011-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人