这个问题是这样的,在大多数场合,Delphi生成的程序代码其实是一样的,
但操作系统装载它的机制是不同的。对于Windows NT/2000/XP,每个Win32进程都具有
自己独立的4GB地址空间(包含了2GB/1GB系统地址空间);而在Win 9X/Me下,所有进程
共享同样的4GB地址空间。操作系统在装载程序映像时会区分它们,而对于编译程序而言,
这种区分没有必要。既然所有跳转地址都是进程内部的(即程序代码所引用的地址都是
相对而不是绝对的,Object Pascal的absolute关键字最好不要用),编译器对进程调度
的影响已经降低到接近最小限度(之所以说接近是因为Windows操作系统不像Linux那样
是严格遵循位置无关代码规范的)。
如果您的程序确实调用了某些只在Windows NT/2000/XP中实现的函数,例如那些具有
安全描述符参数的内核对象创建函数,则编译出来的程序在Windws 9X/Me上似乎有所差别,
但这种差别其实与您的程序无关,而只与操作系统有关。