![]() |
1
3
当一个进程死掉时,它所做的一切都会死——包括它创建的线程、它加载到内存中的东西(例如DLL)、分配的内存等。操作系统之间存在一些差异,但这是它的一般要点——你的进程终止;它与它所做的一切一起消失了(除了sysv共享内存、其他可能已被操纵的全局资源等例外,但在大多数方面;当您的进程向上推时,就什么都没有了)。 |
![]() |
2
0
即使进程终止,Dll也可能保留在内存中。例如,它可能被加载到另一个进程中,或者只是被缓存。但是请注意,整个DLL状态,包括由DLL从代码处理的所有对象和数据,完全消失了,因为该状态是现在不存在的进程的一部分。 |
![]() |
3
0
为了澄清这一点,DLL是一个机器代码库,它用额外的代码(不多也不少)来扩充可执行文件。所有线程、文件和其他资源都属于可执行文件,即使它们是由DLL中的函数创建的。 所以当你的可执行文件死了,所有由你的可执行文件创建的东西都会死。 |
![]() |
AstralHex · 矩阵乘法代码工作不正常 5 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 5 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 5 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 6 月前 |