博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2009年9月5日

摘要: 这篇文章其实有两个主题:一个是充分利用宏的特性把代码最大程度简化;另一个是如何在现有的项目中添加自动化支持。要我说哪一个主题更重要,对不起我也不知道,因为两个主题是紧密关联的,后面的介绍将以宏的使用为主,自动化接口只是宏的一种应用。 熟悉MFC和ATL/WTL的人一定都很熟悉它们的消息映射表,利用宏进行填表是一种非常简洁非常优雅的编码方式,通俗易懂维护方便。对于宏来说,使用越是简单,其内部构造就越复杂。很多人都说MFC把宏定义运用到了极致,以前我同意,现在有所保留,为什么?因为MFC的框架太古老了,它使用的也是早期的宏特性。社会在发展,技术在进步,如今的标准已经对宏的特性进行... 阅读全文

posted @ 2009-09-05 09:25 一桶浆糊 阅读(680) 评论(0) 推荐(0) 编辑

2009年6月2日

摘要: 故事起源于我移植V8到IE中的过程,在CSDN论坛上也发现不少问此问题的人,所以特地整理一篇文章来解释这个问题。这个问题本来是一个非常简单的问题,COM指针也是指针,既然是指针,只要它们的值相同,就表示它们指向相同的COM对象,如果不同则表示不同对象。假设要写一个判断函数的情况下,表示成这样:bool is_com_equal(IUnknown* unk1, IUnknown* unk2){ return unk1==unk2;}这种判断方法在绝大多数情况下正确,但仅仅是绝大多数,还有极少数情况下判断会失效,尤其在同一个对象有两个不同指针的情况下。什么情况呢?代理对象。微软的很多产品大量使用. 阅读全文

posted @ 2009-06-02 11:38 一桶浆糊 阅读(996) 评论(0) 推荐(0) 编辑

2009年5月24日

摘要: 左边是传统的验证系统,右边的新验证系统则要求用将图形旋转到正确方向 新浪科技讯 北京时间5月24日上午消息,据国外媒体报道,谷歌研究人员最近正在测试一项新的图形验证码程序,该程序要求用户将随机颠倒的图片调整为正确的方向。 复杂图片识别 非法程序一直在试图利用机器在网站自动注册并实施破坏,但图形验证码程序却可以阻止它们的进入。图形验证码程序一般是几个歪歪斜斜、弯曲的字母和数字,人类可以轻松地辨认并拼写出来,但机器却无法做到。为了帮助网站阻止包括垃圾邮件、滥发文章或帖子以及非法网络投票等行为,这种利用程序自动区分电脑和人类的测试被称为“图灵测试”。谷歌领导图灵测试研究团队的高级研究科学家瑞茨... 阅读全文

posted @ 2009-05-24 14:35 一桶浆糊 阅读(311) 评论(0) 推荐(0) 编辑

2009年5月8日

摘要: 不同于普通的窗口半透明,有几个特点:1、标题栏和边框维持不变(不透明),当然也可以取消标题栏2、客户区随意透明3、部分内容不透明4、窗口内容可操作 阅读全文

posted @ 2009-05-08 20:43 一桶浆糊 阅读(230) 评论(0) 推荐(0) 编辑

2009年4月27日

摘要: 最近几天看论坛,发现很多人都是开门见山要源码,而且是整套整套的要,我实在想不明白。1、网上有很多源码,他们找过吗?如果找过,是什么原因不用?看不懂?无法全部满足需求?还有一种我很不想说的原因——懒!很懒!首先自己懒得写源码,不懂又懒得学,好不容易找到源码又懒得看,需求不满足又懒得改,于是上坛子寻找,希望有人帮他搞定一切。你拿工资是干什么的?别人帮你搞定了,你是不是应该把工资都奉献出来?人都喜欢懒,所以懒是一种市场机会,程序员要做的就是满足别人懒的需求,但千万不能自己懒,要知道别人能够懒是建立在你勤奋的基础上的。说句很不中听的话——懒人实在不适合做程序员。2、程序员是一种职业,是职业就有层次,水 阅读全文

posted @ 2009-04-27 11:20 一桶浆糊 阅读(292) 评论(0) 推荐(0) 编辑

2009年4月23日

摘要: 掌握V8的架构和使用过程V8内部架构相当复杂,但是使用还是很方便的,因为V8把所有功能实现封装到内部的命名空间中,只给使用者提供了相当简洁的外部封装类,这些类都在一个叫做v8的命名空间中,全局函数封装在V8命名空间中(注意大小写有别)。V8引擎使用上的便捷性体现在多个方面:l 大量采用模板类,统一了所有脚本对象的内存管理和垃圾回收。l 所有脚本对象不允许直接在堆或栈上构造,这通过私有的构造函数体现出来。对象的创建都使用静态的New方法,对象的类型转换都使用CAST方法。l 所有对象通过Handle<>模板类的封装来自动管理对象的生命周期,Handle分成Local和Persiste 阅读全文

posted @ 2009-04-23 11:31 一桶浆糊 阅读(983) 评论(0) 推荐(0) 编辑

2009年4月22日

摘要: 满足Jscript的现有功能特性在脚本语法上,Jscript跟标准JavaScript的语法基本相同,没有特别需要关注的地方。在标准特性上,Jscript除了ECMA标准特性之外,扩充了许多非ECMA标准的特性,必须仔细找出V8尚未实现的部分。下面列出了一部分:VBArray对象条件编译语句Enumerator对象Error对象===和!==操作符ActiveXObject对象GetObject函数ScriptEngine函数ScriptEngineBuildVersion函数ScriptEngineMajorVersion函数ScriptEngineMinorVersion函数还有一些细节的 阅读全文

posted @ 2009-04-22 15:18 一桶浆糊 阅读(503) 评论(0) 推荐(0) 编辑

摘要: 移植前的准备:准备工作最起码要做三件事情:1、完全理解微软的脚本引擎规范;2、完全满足Jscript的现有功能特性;3、完全掌握V8的架构和使用过程。理解微软的脚本引擎规范众所周知,微软产品的每个角落都充斥着COM,脚本引擎也不例外。一个合格的脚本引擎必须首先是一个COM组件,并实现下表中列出的标准接口:IActiveScript – 这个接口是必须的,所有脚本引擎都应该实现这个接口,它负责维护脚本引擎的状态机,以及报告脚本执行状态。IActiveScriptParse– 这个接口也是必须的,脚本代码执行之前的解析过程必须由它来完成。IActiveScriptParseProcedure2– 阅读全文

posted @ 2009-04-22 15:02 一桶浆糊 阅读(643) 评论(0) 推荐(0) 编辑

摘要: 前言:看标题很容易给人误解,V8引擎本来就是跨平台的,为何还要移植?这个标题真的很不好取名,我的本意是想表达:微软有自己的脚本引擎规范,也有自己的JavaScript引擎,我尝试的事情就是用 V8 替换掉微软自己的 Jscript。这下应该说明白了,但用这个解释来做标题的话实在太长了。由此引来一个新问题:为什么要替换?原因很简单:尝试。我想尝试什么?由于V8开源,我不能把这个东西用于商业用途,只想验证一下传说中V8的性能神话,到底比Jscript快多少。我不太相信网上的评测结论,因为所处环境不同,评测结果没有太多可比性,如果我用相同的规范使用V8和JScript,并且在同一个测试环境中测试(例 阅读全文

posted @ 2009-04-22 14:55 一桶浆糊 阅读(537) 评论(1) 推荐(0) 编辑

2009年4月21日

摘要: (注:这里是第二稿,不知道为什么英雄会册子上印刷的是第一稿,他们都让我修改了,结果出来还是第一稿,汗。) 1996年毕业于中国科学技术大学,在华为工作8年,后创业进入互联网服务领域。回首自己的成长历程,竟然发现自己走过的道路非常曲折可笑。 父亲从文,尤其对古汉语研究颇深,在家乡应该算小有名气,在众人的眼里,我应该是理所当然的接班人。可惜的是本人愚钝,对语言文学丝毫进不了状态,但对自然科学倒是有无比的兴趣,曾经从学校偷了一点钠带回家给看门老头表演把水点燃的魔术。碰上高中文理分班,毫不犹豫地抛弃了父亲的期待,义无反顾地选择了理科。好在本人学习还算刻苦,虽然因奥数竞赛一等奖获得了大学保送资格,但.. 阅读全文

posted @ 2009-04-21 21:32 一桶浆糊 阅读(154) 评论(0) 推荐(0) 编辑