如题,
用解释器运行ipd文件时,解释器会自动检查ipd文件的相关构件是不是被误删除,文件格式是否正确,相关定义是否正确.这对设计程序时是很方便的.但是对于已经设计好的程序运行时执行检测却是起着负面作用的.如,我写了一个600kb的ipd源文件,在生成EXE后每次运行时系统的CPU占用率都会高达99%.并会持续1-3秒的时间.然后恢复正常.开始时我以为是我的程序在创建窗口是执行的事件过多造成的.后来把程序改成创建窗口时不执行任何事件,但结果一样.所以我才明白CPU的占用率高达99%是来子解释器对程序源码的自检.也就是因为这一点我的程序不能在98下运行,有时能运行.有时会报错,如某某构件图像文件设置错误.某某属性文件设置错误等等.
所以当源码生成EXE后,在运行时,不用让解释器对源码进行自检报错.





程序可以采用多种开发工具编写,但是在运行的时候,计算机最终只能识别机器码(0,1)。把高级语言转换为机器码的过程,称为编译。简而言之,所有的程序都要经过编译才能运行。而在编译过程中,程序中只要含有逻辑错误,编译将不能继续,必须修改后,重新编译,最终生成可执行的文件。《搭建之星》是微解释执行的,解释的过程,也就是编译的过程。这就要求,开发者必须在程序设计中避免出现严重的逻辑错误。
没有任何逻辑错误的程序在98系统下却经常会报错是什么原因啊.(并不是每次都报错的,有时能正常的运行,但是如果在打开程序之前有其他的大型应用程序在运行的话,它就会报错.)一般报错的内容都是某个窗口的显示类型设置错误,或某个控制面板的图片设置错误.等等.基本上每次都不一样.但是在2000或XP下重来没有报过错.
以下是引用xyf在2006-4-28 18:33:16的发言:
没有任何逻辑错误的程序在98系统下却经常会报错是什么原因啊.(并不是每次都报错的,有时能正常的运行,但是如果在打开程序之前有其他的大型应用程序在运行的话,它就会报错.)一般报错的内容都是某个窗口的显示类型设置错误,或某个控制面板的图片设置错误.等等.基本上每次都不一样.但是在2000或XP下重来没有报过错.
Win98的内存管理机制不及Win2000/WinXP完善!