在C++中禁用自动DLL加载

2 c++ dll loadlibrary dynamic-loading delay-load

我的场景如下:我的应用程序依赖于某个DLL(我在链接时使用它的lib).但是,当我的应用程序执行时,我想使用LoadLibrary显式加载该DLL.但是,默认情况下,当代码到达需要该DLL的范围时,环境会自动查找,然后加载它.我想要禁用此行为,并且对于我所关心的所有内容,如果应用程序达到了它想要执行属于该DLL的代码的程度,我更喜欢它会崩溃而不是自动加载它(因此DLL将只加载因为我明确地调用了LoadLibrary).
同时,我正在使用延迟加载能力(因此只有在实际需要加载DLL时才会发生加载触发).但是,如果DLL尚未加载,我希望应用程序崩溃.

也许是否有人熟悉实现这一目标的方法?

Cat*_*lus 6

如果要使用LoadLibrary,请不要将应用程序与导入库链接.PE格式不支持无法解析的外部,让你无论是使用页眉和dllimport,或者LoadLibrary,GetProcAddress和函数指针.