Big Fish

2005-01-04

22小时

连续22小时没睡,写了个某国内操作系统平台上面的控制台下的全屏幕文本编辑器。本来是说做一个类似于vi的编辑器的,但是那个平台下的conio.h里面的_getch()函数的实现有问题,导致上下左右的左键和ESC键不可区分(太弱智了。。。),最后不得已,只好做了个类似于edit的。

总的来说不算太难,我用了两个Buffer,一个屏幕Buffer,一个文件Buffer,然后用了巨量的memmove来写程序,写得我头晕@_@

关键问题是那个平台的文档有限,所以各种问题特别的麻烦。最简单的一个例子,我从写程序到跑我写的程序,需要经历以下五个步骤:

  1. 在Windows下编辑程序,比如用gvim
  2. 进入那个平台给Windows提供的SDK环境,编译程序
  3. 将编译好的程序拷贝到机器的FAT32分区
  4. 进入VMware下的DOS虚拟机,把FAT32分区里面的程序拷贝到虚拟机的C盘
  5. 进入VMware下的那个平台的虚拟机,运行程序

所以说开发的效率十分低下。。。另外调试也是个很麻烦的事情,因为做全屏幕的文本编辑器,所以需要用比较底层的东西来输出文本,导致printf不能与之混用,结果就是,不光不能调试,连printf都用不了,找错全靠看代码,我哭。。。

不过不管怎么样终于做完了,做完后删掉DDK, SDK, VMware,硬盘上一下子多出来1.74G,真感动。。。

16:07:26 by fishy - Permanent Link

May the Force be with you. RAmen