我在这里阅读了此线程,并提供了一个简单的示例,说明如何使用FreeLibrary卸载dll:
How to Unload DLL from memory in C++?
我想知道FreeLibrary是否适用于缓存的.dll。我正在编写一个程序,该程序是另一个程序的性能的两倍。定时执行的程序第一次执行命令的速度比后续时间慢,因为dll是在第一次执行命令时加载的,并且会为以后的调用而缓存。
我目前必须重新启动计算机以清除dll,才能“从冷启动”获得准确的性能时间。如果我可以卸载该程序的所有缓存dll,则可以消除重新启动步骤。
FreeLibrary会这样做吗?
是否可以从任何给定程序中识别和删除缓存的dll?
谢谢, 史蒂夫