挖井

类库大魔王的挖井日记

挖一口属于自己的井


什么程序可以集成脚本语言解释器

  每次看到按键精灵,心里总有种奇怪的感觉,这个东东,忽悠了好多菜鸟,也赚了不少钱吧,可我心里却觉得这不值,是忌妒吗?
  最近想着,做什么程序可以集成脚本语言解释器呢!
  有些情况是可以预见得到适用的,比如这些天突然想学学围棋,于是在网上找了下打谱的软件,这种软件就适用。有个叫StoneBase的打谱软件是国内做得比较好的,但它并没有第3方可扩展性,照我的想法是,对于要兼容多种格式的棋谱文件,就可以用脚本来解析,规定一种中间格式,假设是标准的SGF,把所有其它格式在主程序的主动触发下都用脚本转换成中间格式。我暂时也想不出其它更多的地方可以用脚本的了,偶然看到它的论坛上有人发了个可以自动下载TOM网站上公布的棋谱文件,于是我就想,是不是可以干脆直接支持外部工具,但是转念又一想,都已经是外部工具了,就不需要集成解释器了……
  另外还有种情况,最近因为要写Socket程序,所以想到如何方便地调试这类程序,特别是对于客户端和服务器端都还没写出来的情况下。于是我想写一个辅助调试socket程序的工具,大概的想法是,它可以做为一个主动去连接的客户端,或者是被动接受连接的服务器端,连接上后,可以看到接收到的内容,还可以由用户手动输入内容发送,这种情况下,脚本的应用就比较有实际意义了,比如可以把接收到的内容交给脚本处理一下,脚本再根据实际情况发送一些内容,这比较适用于调试协议,像http/ftp等协议用脚本就能实现一个简单的原型。这个工具我已经想了很久了,但只建了个工程,却还没开始做,如果做好了,一定是个很实用的东东。除了这样的客户端和服务器端功能外,还要有用Detours静态hook创建进程,动态注入attach到已有进程,用WinPCap或Raw Socket(其实有了WinPCap就不需要了)抓包这几项功能。静态hook和动态attach是为了看进程调用WinSock API的情况,而WinPCap抓包就是一个普通的抓包功能,因为如果光是做抓包功能,我想我是做不过那些专业的做了好多年的工具的,如IRIS、CommView以及开源的Wireshark等等,所以重要的是前几项。又扯远了,脚本在这个工具里还可以用于解析帧结构、协议等等。
  当然还有种情况,就是用于像按键精灵这样的工具上。
  现在有4种脚本语言是我比较感兴趣集成到程序中的,分别是Python、Ruby、Lua和TCL,但实际上TCL与前面3个放在一起并无多少作用了,它的应用面比较窄,又缺少现代语言的一些元素,而且没有什么特别有优势的特性。Python和Ruby这两个大而全,且语言特性丰富的脚本已经能满足大多数场合的要求,而Lua则完全是看中它小巧快速,特别适用对性能有点要求的场合。Boost中有Python的粘合库,Lua以前有LuaBind和LuaTinker,但好像没更新好久了,至于Ruby我还没有了解。但我想,我总有一天会自己来分别写一套简单的,自己够用的库的。

本文地址:

https://minidump.info/blog/2007/11/e4-bb-80-e4-b9-88-e7-a8-8b-e5-ba-8f-e5-8f-af-e4-bb-a5-e9-9b-86-e6-88-90-e8-84-9a-e6-9c-ac-e8-af-ad-e8-a8-80-e8-a7-a3-e9-87-8a-e5-99-a8/

感觉本文不错,不妨小额鼓励我一下!
上一篇

感觉到有点压力了

  今天上午,一个同事打电话,问些关于某个名义上由我维护的工具的事情。问题的缘由是,该工具现在使用的时候有些不正常,于是我就推脱说现在忙于另外一个项目。最后她就生气了,其实我心里也不爽。下午的时候去看了看现象,其实我觉得不一定是工具有问题,可能工具使用的机制就是有问题的,如果是机制有问题的话,...…

Job 全文阅读
下一篇

做个hash工具

  一直想自己写一个计算hash的工具,而最无耻的是,我对各种密码学意义上的hash算法根本不了解,只知道有这么个东东。不过现在流行的hash算法网上有一些现成的代码,C和C++都有,比如著名的Crypto++、LibTomCrypt等等。  本来跟hash算法是完全没有交集的,平台根本用不到...…

Shareware 全文阅读