标签: c linux dll
在Windows上,当进程加载或卸载动态库时,将使用DLLMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)函数。 因此,当应该卸载DLL时,我可以使用lpvReserved参数来确定是否调用了FreeLibrary,或者只是进程终止是DLL卸载的原因。
但是在Linux上我有没有任何上下文的析构函数(例如“fini”函数)。 问题是,如何在Linux上确定是否由于进程终止而未通过手动库卸载或其他原因触发了库终结?