随笔-341  评论-2670  文章-0  trackbacks-0
    人生中的很可能的最后一次期末考就到了,复习之余不免忙里偷闲,想想程序的那些破事。

    相对于去年来说,今年做的事情比较少。06年做了一个软件渲染器和一个强类型的脚本引擎和一个基于OpenGL的GUI,07年冲做了一个基于OpenGL的GUI,一个正则表达式和动态的上下文无关文法分析器(并在年内重写了一次),还有一个基于闭包的无类型脚本引擎。今年做的是一些修修补补的工作,首先为最新的脚本引擎提供了基于闭包实现的class和namespace、重写了内核并加上了multi-method和operator overloading,为正则表达式引擎重写了一个新的几乎提高了9倍速度的分析器(于是写了一篇招口水的文章)。自从Borland的没落导致我狠一狠心从Delphi过渡到C++之后,一直到现在我都在维护一个我自己个人使用的“非标准模板库”。STL啊Boost啊什么的就不用了,函数的名字比较鸟。

    大三也快完了,学院要求我们自己张罗实习的事情,班主任推荐我去微软,后来花了点时间准备了一下。不过不幸的是最后发现准备是没有用的,面试官总会在意外的时间问你意外地问题。两次电话面试一次HalfLife玩得正爽,第二次看片看得正爽。后来获得了飞去上海(Microsoft STB,工程院分院)面试的资格,被一个老外暗示了一下导致一道题目答不出来。回来见到WP同学,他说:“去大公司面试总是要郁闷的。”所幸终于还是拿到了实习的Offer,遂签。班里另外一名也做了一个正则表达式引擎的同学则到了MSRA的STC实习。

    劳动节某瓶去了福建见网友,我就让那个也是我的网友的某阿姨捎了本日语教材给我,每日一课一点一点读。算是接触点儿新鲜事物,也好消磨一下时间。不过我还是准备要花点心思去学好的,也给自己制定了一个non-deterministic的长期计划。打算在实习的时候,晚上看书写程序之余阅读点儿日语材料玩点儿AVG算练练听力。

    今天重新翻开了以前的代码,回想起寒假曾经信誓旦旦想封装Windows Common Control 6.0的事情。框架和GDI都做完了,空间封了一个BUTTON class,其他的还没。无奈微软写的这Common Control 6.0在XP底下有个难看到无法忽略的bug,所以还是算了。Vista想必应该没有了罢,等以后有空再弄吧。不过今天还是为这套裤的GDI部分加上了保存bmp以及读写emf的功能,然后瞄到了桌子上以前非常喜爱的一些图形学的书。

    我也奇怪,图形学看了十几本书没什么建树,编译器和虚拟机只有一本编译原理和一些零散的论文看倒是把一个完整的无类型动态语言脚本引擎给弄出来了。语法上自己的一些想法实现以后,有一次看了python和ruby的资料发现很多东西都是异曲同工,也好不算偏门。功能都有了,C++和.NET的两个接口也做了,就剩下补充一下脚本的预定义库了。不过这个也得慢慢来,至少比做那个纯粹是消磨时间的“封装Common Control 6.0”来得有意义。

    今天在MSDN上终于找到了以前就很想找到的函数了,可以提取一个字符串的贝塞尔曲线边框。这样一来该有的输入数据都有了。目前有一个想法,借助GDI的这个提取文字边框和加载BMP的功能,自己从一个DIB缓冲区上重新实现一套比较好一点的2D绘图库,至少要实现GDI+那些用得上的功能,然后做点儿它没有的。GDI+那个可怜的版本问题导致每每需要自己写manifest,GDI又太弱,反正时间还多,就这么办吧,不用GDI了全部重头写,除了获得文字边框这个没办法一定要用API,自己读ttf文件还是麻烦了一点的。自从软件渲染器做完之后,也快两年了。重新动一下,有助于减少审美疲劳,也算是把未了的心愿给完成了。于是接下来就会有一堆问题了。如何根据几何画刷把曲线转换成封闭的多边形,这个一做好,什么都好了。填充倒是以前早就做了,于是连文字都可以自己来渲染了。自己扫描曲线真是美啊。

    做好了这个图形库以后就可以把绘图设备抽象掉,然后再上面构造一个类似Flash那种结构的新型GUI了,用于对付一些比较特别的应用程序了。然后想个办法把这套GUI封进Vczh Free Script之后,这个脚本推广起来也就容易了。已经有一位网友用我这套脚本引擎代替PHP开发了一个网站,不过似乎没做好,我也没看到结果。果然语言还是需要库的。

    于是,找到了接下来要写的程序。从0开始构筑2D图形库,很多东西都需要这个玩意儿。
posted on 2008-06-09 10:16 陈梓瀚(vczh) 阅读(1528) 评论(5)  编辑 收藏 引用 所属分类: 其他

评论:
# re: 期末考了 2008-06-09 20:47 | Lnn
既然是最后一次期末考就更加得认真对待,或许以后想认真也没机会了。。。
考完了再做其他的事情也不迟,任何时候干事情总得有个主次之分  回复  更多评论
  
# re: 期末考了 2008-06-09 21:33 | 陈梓瀚(vczh)
学分拿了就是  回复  更多评论
  
# re: 期末考了 2008-06-10 05:13 | Lnn
但也不可太大意  回复  更多评论
  
# re: 期末考了 2008-07-28 18:27 | 30km
才大三就这么厉害啊,OMG。绘制字体可以试试用FreeType库  回复  更多评论
  
# re: 期末考了 2008-07-30 03:42 | 路过的
博主天才,只有一本编译原理和一些零散的论文看倒是把一个完整的无类型动态语言脚本引擎给弄出来了。我是阅读了10来种脚本语言的源代码,才弄懂了编译原理。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理