在本章的最后,对GUI模块的开发方法做一简单介绍,目的是让读者能够修改GUI模块的功能。与master等核心模块一样,GUI模块也是在Visual C++6.0开发环境下开发和编译的。对编译环境的设置,与其他核心模块一样,请参考附录C。下面简要描述一下修改GUI模块的方法:
(1)GUI模块的源代码包含在[/gui]目录下。这也是一个VC工程项目文件夹,项目相关的控制文件和配置文件,也包含在这个文件夹下。双击hcngui.dsw,即可把所有GUI有关的文件和资源加载到集成开发环境。在集成开发环境中对GUI模块进行修改。
(2)修改完成后,即可选择build→batch build菜单,然后点击Rebuild all,即可完成所有模块的重新构建。
(3)完成之后形成的DLL文件需要经过process工具进行处理,具体的方法请参考第14章。
(4)处理完成之后,需要把GUI相关的支撑资源,比如汉字库等,一起链接到GUI模块中。这是通过append工具完成的。
这样完成上述处理后,即可形成HCNGUI.BIN模块。把这个模块复制在Hello China的系统目录(PTHOUSE目录)下即可。进入字符界面后,运行gui命令,操作系统就会在pthouse目录下寻找hcngui.bin模块,然后加载运行。
如果读者希望对GUI模块进行修改,建议直接使用VC 6.0打开GUI工程进行修改,修改完成之后,把编译的hcngui.dll文件(位于release目录下)复制到[/gui/guimaker]目录下,然后直接运行guimaker批处理命令,即可生成hcngui.bin模块。guimaker是一个DOS批处理文件,调用了该目录下的相关工具来生成GUI模块。下面是其内容:(www.xing528.com)
首先删除原有的hcngui.bin模块,然后调用process工具,对新复制的hcngui.dll进行处理,处理后的文件为hcngui.bin。然后连续两次调用append工具,把ASCII码点阵字库和汉字点阵字库追加到hcngui.bin模块上,最终生成hcngui.bin模块。
按照Hello China V1.75的实现,hcngui.bin(处理前)被加载到内存后的地址是0x160000,而ASCII点阵字库和汉字点阵字库则分别被加载到0x180000和0x190000位置处。为了使读者对各个模块的加载位置有更清楚的了解,我们再把Hello China进入保护模式后的内存布局图放在这里,如图11-20所示。
注意上述布局图是按照内存从小到大的顺序编排的,右面的十六进制数字代表各个模块的起始地址,后面括号内的数字代表这个模块的实际大小。
图11-20 Hello China稳定后的内存布局
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。