某个进程静态调用某dll
本人一直以为只有进程主动退出的时候,才会触发到dll中dllmain的DLL_THREAD_DETACH
原因是在dll退出的时候,本人会在DLL_THREAD_DETACH中做线程退出的操作
结果现在进程运行过程中就触发了DLL_THREAD_DETACH,导致执行了线程退出,逻辑出错
想问下到底是什么时候回触发到DLL_THREAD_DETACH呢?
本人一直以为只有进程主动退出的时候,才会触发到dll中dllmain的DLL_THREAD_DETACH
原因是在dll退出的时候,本人会在DLL_THREAD_DETACH中做线程退出的操作
结果现在进程运行过程中就触发了DLL_THREAD_DETACH,导致执行了线程退出,逻辑出错
想问下到底是什么时候回触发到DLL_THREAD_DETACH呢?
解决方案
20
MSDN 上写得很明白啊,线程销毁时触发,给 DLL 清理 TLS 的机会。