• 24
  • 3月

只要活着,就一定要努力地变,努力地尝试。这个就是Hanny这几年来最深的感触的。

社会是一直在变的,什么都一直在变,所以要时刻做好“变”的准备。每隔一断时间,就会出现一次巨大的变化,这时候就要看你是否能够充分去抓住这个“变”的机会了。没有什么能够一直安定地。。最近,Hanny就把注了4年多的域名给迁出来了,这也算一次变化。

还有,就是要敢于尝试,不要有任何顾虑。有什么想法,就一定要大胆地去做。不然,在犹豫的时候,机会可能就这样流失了。如果自己还有梦想的话,就一定要坚持下去。

就是这样。

  • 25
  • 2月

开发51时,选择IAR,而不选择Keil,一般会有两个理由:
1、IAR的编译器十分灵活,尤其是XCL的文件配置,几乎比GCC的ld文件更加强大。
2、IAR的切BANK机制了。

说到IAR的切BANK机制,就要说起IAR的版本了。
在720H以前,都是旧的BANK机制,而到了750A以后的版本,基本都是新的BANK机制了。由于这中间几个版本找不到软件下载,根据官方网站上的说明,Hanny暂且判断IAR 730A为使用新的BANK机制的一个分届版本。

在旧的BANK机制中,切BANK是这样的:
MOV DPTR, #func_ptr<br />
MOV A, #bank_num<br />
LCALL ?B_CALL

主要就是,将目标函数放入DPTR,BankNum放入 A寄存器,然后调用公共区的?B_CALL函数进行切换

而新的BANK机制中,切BANK是这样的:
LCALL func?relay
然后,relay接口如下:
func?relay: LCALL XXXX<br />
DB func_ptr


大约这样,具体可参考IAR帮助。

其实,Hanny更喜欢IAR720H的机制。何解?IAR官方虽说新的机制更好。理论上,新的机制,在多次调用时确实减少了程序的总大小,但是却浪费了宝贵的COMMON CODE区。新的版本会给每个函数生成 relay 入口,存放在 BANK_RELAYS 段中。而 BANK_RELAYS 必须放在公共区。

一般来说,旧的版本在新的IAR下编译有可能出以下错误:
Error: Segment BANK_RELAYS must be defined in a segment definition option (-Z, -b or -P)

这时,只能用回720H的版本就OK了。

  • 12
  • 2月

在做字符串比较的时候,如果字符串数量庞大,我们会利用Hash函数来进行加速。

目前,最强大,最易用的字符串哈希函数应该是BKDRHash了吧。

BKDRHash函数的C语言原型如下:
unsigned int BKDRHash(char *str)<br />
{<br />
    unsigned int seed = 131; // 31 131 1313 13131 131313 etc..<br />
    unsigned int hash = 0;<br />
<br />
    while (*str)<br />
    {<br />
        hash = hash * seed + (*str++);<br />
    }<br />
<br />
    return (hash & 0x7FFFFFFF);<br />
}


另外,除了BKDRHash函数外,还有:
APHash DJBHash JSHash RSHash SDBMHash 等供参考。

  • 24
  • 1月

Hanny之前写了一个小软件,是采用ANSI内码的。最近,由于一些非简体中文的机器也使用到该软件,结果就变乱码了。由是乎,需要将内码转换成Unicode了。

其实,vc.net后默认都改为unicode了,毕竟国际化嘛。但是呢,VC6编写,怎么说也还是比较小巧,编译速度又比较快,所以Hanny还是比较喜欢使用vc6。

废话少讲,开始行动了。

阅读剩余部分...

  • 14
  • 1月

MagikeEditor是原来由Magike上移植到typecho的一套编辑器。

原来的typecho后台是采用mootools的脚本的。到0.9版本时改为了jQuery,因此,原来的版本不兼容了。

同时,插入图片和附件的接口也改变了。尤其是插附件的,为了能够与Attachment插件很多地配合使用,Hanny在这里确实是花了不少时间做实验啊,最后终于成功取到了Attach的cid值。

再同时,依然支持图片的插入方式选择。支持自定义按键。

不多说了,升级就是,同时,Simtags也可以退出typecho的舞台了。

下载地址

MagikeEditor.rar (提取码: rhzq, 12.7 KB, 下载次数: 5659, 最后修改: 2014-01-14 21:13)

Hanny的typecho插件集