c++ - 静态成员销毁

标签 c++ windows dll static

我不喜欢静态,但我有一些代码:

除非周围有其他东西,否则静态破坏将会失败。 static 被声明为 DLL 类内部的成员。

可执行文件正在关闭,因此运行时调用 FreeLibary 来释放它在启动时加载的 DLL。

我知道静态将在我的程序终止期间被销毁(不保证销毁顺序,因为无法保证构造顺序)但是什么时候它准备好销毁?在我的DLLMain(对于加载的DLL)退出之后或者在运行时__DllMainCRTStartup之后甚至在此之后?

我只是想知道我是否有机会在销毁之前做一些事情,如果没有,我将需要考虑将静电消除到更合适的地方。

最佳答案

也许atexit函数会对您有所帮助。您给它一个回调函数,该函数将在进程分离期间由运行时执行。

DLL说明:http://msdn.microsoft.com/en-us/library/988ye33t.aspx

退出:http://msdn.microsoft.com/en-us/library/tze57ck3.aspx

关于c++ - 静态成员销毁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12496070/

相关文章:

c++ - MPI_Gather 的段错误

c++ - 具有成员变量的 Const 对象数组 = 先前索引成员变量的总和

c++ - 比较矩阵乘法

java - 本地代码深处的 FileDialog.open() 偶尔导致 JVM 崩溃

windows - 将 cordova 应用程序部署到真正的 Windows Phone 8.1 设备时出现问题

.net - Windows Azure 上的 AspPDF 和 AspJPEG

dll - 导出的函数符号名称修改

c++ - 看不懂具体的代码片段 : Is this a function, 只是一行还是什么?

sql-server - 缓冲区和缓存的区别?

c++ - MinGW隐藏dll中的方法名称