调用进程退出后是否可以将DLL保留在内存中?

Sha*_*awk 5 c++ dll qt

我有一个需要5到10秒加载的DLL,这意味着每次编译和运行使用它的可执行文件时我都要等待那么长时间.有没有办法将DLL加载到内存中,以便每次编译相应的可执行文件时都可以立即访问它?我正在编译QT MinGW的程序,如果这是相关的.

编辑:到目前为止没有运气.在另一个程序上加载DLL似乎没有任何效果(原始程序仍然加载DLL,并且需要这么长时间).我猜我需要加载DLL及其功能,如果它们已被加载到另一个程序,但我不知道如何做到这一点.现在我正在使用LoadLibrary和GetProcAddress.

MSa*_*ers 1

最简单的解决方案是(假设是 MSVC++)延迟加载 DLL。当然,权衡是初始化仍然必须发生,但这将不再延迟程序的其他部分。例如,您可以在后台线程上执行此操作。