用VC8编译方案,之前连接的时候,出现Libcmt 和其他一些C的实时运行库冲突,没有重视.但后来才发现那些全局对象根本没有析构.比如,在Debug模式下,一个子工程使用静态链接库(MTd),另一个使用动态库(MDd),则最后连接在一起时,会出现一大堆警告:库冲突.而且程序运行结束之后,全局对象根本没有析构(在析构函数中下断点). 最后将C链接库统一之后,全局静态对象可以正常析构了.因为在main函数结束之后,C库会自动析构静态对象(好像是在atexit()函数里面执行).但是库冲突之后,可能就出现这样的问题.即使显示调用exit()或者_cexit()来做后期清理,但是结果是,全局对象没有析构.