代码之家  ›  专栏  ›  技术社区  ›  Mike

进程结束后的DLL支持[关闭]

c++
  •  0
  • Mike  · 技术社区  · 7 年前

    3 回复  |  直到 7 年前
        1
  •  3
  •   Jesper Juhl    7 年前

    当一个进程死掉时,它所做的一切都会死——包括它创建的线程、它加载到内存中的东西(例如DLL)、分配的内存等。操作系统之间存在一些差异,但这是它的一般要点——你的进程终止;它与它所做的一切一起消失了(除了sysv共享内存、其他可能已被操纵的全局资源等例外,但在大多数方面;当您的进程向上推时,就什么都没有了)。

        2
  •  0
  •   user7860670    7 年前

    即使进程终止,Dll也可能保留在内存中。例如,它可能被加载到另一个进程中,或者只是被缓存。但是请注意,整个DLL状态,包括由DLL从代码处理的所有对象和数据,完全消失了,因为该状态是现在不存在的进程的一部分。

        3
  •  0
  •   doron    7 年前

    为了澄清这一点,DLL是一个机器代码库,它用额外的代码(不多也不少)来扩充可执行文件。所有线程、文件和其他资源都属于可执行文件,即使它们是由DLL中的函数创建的。

    所以当你的可执行文件死了,所有由你的可执行文件创建的东西都会死。