![从 system32 目录中删除 .dll 文件是否会释放 RAM?](https://linux22.com/image/1509315/%E4%BB%8E%20system32%20%E7%9B%AE%E5%BD%95%E4%B8%AD%E5%88%A0%E9%99%A4%20.dll%20%E6%96%87%E4%BB%B6%E6%98%AF%E5%90%A6%E4%BC%9A%E9%87%8A%E6%94%BE%20RAM%EF%BC%9F.png)
删除 dll 永远不是一个好主意,但我在 System32 目录中显示了一些前缀为“QT”的 dll 文件。三个月前我卸载了 QT Creator,所以我认为这些在这里是没用的(尽管我将所有这些 dll 移到了另一个驱动器中,以防将来使用 qt 构建的其他应用程序需要它们。)。现在我想知道,这样做是否有任何内存优势。它释放了 RAM 吗?
答案1
这样做对内存有什么好处吗?这会释放 RAM 吗?
不。没用过磁盘上的文件不使用任何 RAM。
这假设它们未被使用。您的操作系统(未指定的 Windows 版本)可能也有以 QT 开头的文件,删除它们会破坏您的设置。
我卸载了QT Creator
这应该已经清理了所有文件,尽管有些卸载程序脚本写得不好。您可以尝试使用第三方卸载程序进行清理,但由于未使用的文件不占用任何 RAM,我建议不要管它们。
答案2
答案是否定的。DLL 仅在需要时调用,否则不使用。它们位于 SYSTEM32 文件夹中的原因是该文件夹已专用为共享 dll 文件夹。基本上因为许多程序可以使用相同的库,如果这些程序一遍又一遍地安装相同的库,则会占用大量空间。为了解决这个问题,Microsoft 专门开辟了一个存储库的地方,以便可以共享它们。
通常,卸载程序在卸载时会知道某个库是否被其他软件使用,如果是,卸载程序会将该库保留。不幸的是,情况并非总是如此,因为这取决于开发人员是否正确编写卸载程序代码,而且有许多卸载程序向导,但有些实际上并没有正确执行此操作。
也就是说,它所做的只是占用磁盘空间,并且只有当它们实际上首先被软件加载时才会出现在内存中。