关于dll里全局变量的构造和析构的问题, 程序退出时(main return), 到DLL的全局变量析构之间, 主要执行了些什么操作??
我在一个DLL里有一个全局的变量, 这个变量的构造函数做一些初始化的操作, 析构函数做一些清理的工作. 但是有一个奇怪的问题, 如果我把这个不做成DLL而是LIB的话, 程序运行是很正常的.
但是我做成DLL后, 析构函数的某操作却死锁了, 调用程序无法退出.而我如果在DLL导出一个函数, 来做那个析构函数做的事情, 然后在调用程序最后调用, 则可以正常退出. 为什么会这样呢?
我是想问, 程序退出时(main return), 到DLL的全局变量析构之间, 到底可能是什么操作, 使我的那些清理操作无法正常执行???
为什么我早些执行就不会出现问题呢?