启动时加载DLL且缺失不中断的绑定及对应动态链接绑定名称是什么
两类动态链接绑定的专业名称解答
- 第一类:延迟加载动态链接(也可称延迟绑定)
属于隐式动态链接的特殊变种,Windows平台下通过链接器/DELAYLOAD选项开启。程序编译阶段就会写入目标DLL的导入信息,但启动阶段不会立刻完成DLL加载和符号绑定,也不会因为DLL缺失直接中断程序运行,只有首次调用该DLL的导出函数时才会触发加载逻辑,你也可以自行实现错误处理逻辑应对DLL不存在的场景。 - 第二类:显式动态链接(也可称运行时动态链接)
就是你示例代码中使用的绑定类型。程序编译时不会写入对应DLL的导入信息,完全由开发者在代码中手动调用LoadLibrary/GetModuleHandle加载DLL,再通过GetProcAddress获取目标函数的地址后调用,使用完成后还可手动卸载DLL,这种方式常被用来做跨Windows版本的API兼容,和你代码注释里的描述完全匹配。
内容的提问来源于stack exchange,提问作者user3161924
相关产品推荐
相关产品推荐

