我下载了wpp16,编译dll和ex之后,发现退出时会崩溃(xp系统),经过研究,发现问题出在内存释放上。在datafile里用static WDataFile _WDF[MAXDATAFILE];作为文件句柄然后依赖于WDataFile 的析构函数来保证释放文件所占用资源(内存和句柄?)但memory那边,也用静态函数内的静态变量的析构来保证释放内存,这里面就有了一个先后顺序问题,在我的机器上,memory那边先释放了,导致WDataFile析构函数崩溃(引用已释放的内存)。解决方案很简单,在static WDataFile _WDF[MAXDATAFILE];前加入以下几行:class firstinitMemery{ public :firstinitMemery(){ WDelete(WNew(1));}};static firstinitMemery _nouse;当然,调整代码顺序之类会有更好的解决方法:)我这只是临时使之能够工作。另外,在vc7下编译,需要注释掉两行代码//class WINDSOUL_API memory<WObject>::manager;//template class WINDSOUL_API memory<WObject>;望你能够加入针对编译器的选项到目前为止,此代码指出现了两处