1 整理源文件(harib06a)
现在我们还残留一个问题,就是鼠标指针的叠加处理不太顺利。不过如果一味进行鼠标处理的话,大家可能很容易腻烦,所以我们今天干点儿别的。鼠标指针的叠加处理问题迟早会解决的,大家不用担心,暂时先忘掉这个事情吧。
那么,今天做什么呢?我们今天就做内存管理吧。好不容易变成了32位模式,终于可以使用电脑的全部内存了,大家肯定也想用一用试试吧。
刚想改造bootpack.c,却发现为了解决鼠标处理问题而大加修改程序导致程序变大了很多,足足有182行。嗯,程序太长了,怎么看都不舒服,所以笔者决定将程序整理一下。 本次的程序整理表
函 数 名 | 移 动 前 | 移 动 后 |
---|---|---|
wait_KBC_sendready | bootpack.c | keyboard.c |
init_keyboard | bootpack.c | keyboard.c |
enable_mouse | bootpack.c | mouse.c |
mouse_decode | bootpack.c | mouse.c |
inthandler21 | init.c | keyboard.c |
inthandler2c | init.c | mouse.c |
要做的事情很简单,仅仅是把函数写到不同的地方而已。此时,如果不知道哪个函数写在什么地方,可就麻烦了,所以在bootpack.h里还要加上函数声明,在Makefile的“OBJS_BOOTPACK=”那里,要将keyboard.obj和mouse.obj也补进去。
我们顺便确认一下运行情况。“make run”,不错不错,还能像以前那样运行。这样bootpack.c就减到了86行。真清爽!