• LUA

    2008-05-12 01:16:08

        最近接手修改一份测试代码, 原有框架很粗糙, 于是动了重构它的想法. 但时间比较紧张, 自己从无到有来做是不可能的. 当时想到的替代方案是:Python, Lua, Tcl. 在仔细考虑之后, 选择了Lua. 排除Python的原因是它太庞大了, 如果需要移植的话, 估计比自己写一个还费劲(项目在CE中). 至于TCL, 老实说太不熟悉, 缺乏认识. CE里面, 环境比较恶劣, 先不说在PB里面, C库的不全(最最代表性质的就是Time.h了), 就是在eVC, VC里面, 限制还是比较大的. 不过Lua的编码很标准,移植起来非常简单.
        项目最终用4天的时间基本结尾. 基本上把原有代码重新写了一遍, 创建了一个Lua的扩展库. 实际使用中证明LUA是非常适合做测试框架的.  但在编码过程中最好检查一下参数类型与参数个数, 否则的话, 会错的莫名其妙. 有次程序崩溃, 一直在走差代码, 逼不得已用无敌的print夹插大法...居然发现是脚本的参数顺序搞错了. 还有一点:  Lua与C之间的字符通信都用的是char,  刚好又遇到CE的痛脚, 如果在CE里面不用TCHAR是很不保险的事情. 所以必须用mbstowcs封装一下,  类似的, 返回值也要做相应的处理.
        虽然使用LUA时, 不用多考虑它本身的实现, 但是有阅读它代码的冲动.  有空再看吧.
Open Toolbar