22小时
连续22小时没睡,写了个某国内操作系统平台上面的控制台下的全屏幕文本编辑器。本来是说做一个类似于vi的编辑器的,但是那个平台下的conio.h里面的_getch()函数的实现有问题,导致上下左右的左键和ESC键不可区分(太弱智了。。。),最后不得已,只好做了个类似于edit的。
总的来说不算太难,我用了两个Buffer,一个屏幕Buffer,一个文件Buffer,然后用了巨量的memmove来写程序,写得我头晕@_@
关键问题是那个平台的文档有限,所以各种问题特别的麻烦。最简单的一个例子,我从写程序到跑我写的程序,需要经历以下五个步骤:
- 在Windows下编辑程序,比如用gvim
- 进入那个平台给Windows提供的SDK环境,编译程序
- 将编译好的程序拷贝到机器的FAT32分区
- 进入VMware下的DOS虚拟机,把FAT32分区里面的程序拷贝到虚拟机的C盘
- 进入VMware下的那个平台的虚拟机,运行程序
所以说开发的效率十分低下。。。另外调试也是个很麻烦的事情,因为做全屏幕的文本编辑器,所以需要用比较底层的东西来输出文本,导致printf不能与之混用,结果就是,不光不能调试,连printf都用不了,找错全靠看代码,我哭。。。
不过不管怎么样终于做完了,做完后删掉DDK, SDK, VMware,硬盘上一下子多出来1.74G,真感动。。。