导入库是否跨 dll 版本工作?
Do import libraries work across dll versions?
假设该功能仍然存在,导入库是否仍然适用于其他版本的dll?
如果不是:
a) 什么时候会坏,哪些部分会坏
b) 有没有办法确保它在没有 LoadLibrary()
和 GetProcAddress()
的情况下跨版本工作?
是的,导入库将适用于不同版本的 DLL。当然,您将无法使用它来调用存在于 DLL 中但未在导入库中定义的函数(例如,在较新版本的 DLL 中添加的函数)。
请注意,我假设不同版本的 DLL 没有修改过的函数名称 and/or 序号(以导入库使用的为准)或修改过的函数签名。换句话说,我假设 DLL 的开发人员遵循公认的良好做法来维护 DLL 版本之间的兼容性。
假设该功能仍然存在,导入库是否仍然适用于其他版本的dll? 如果不是:
a) 什么时候会坏,哪些部分会坏
b) 有没有办法确保它在没有 LoadLibrary()
和 GetProcAddress()
的情况下跨版本工作?
是的,导入库将适用于不同版本的 DLL。当然,您将无法使用它来调用存在于 DLL 中但未在导入库中定义的函数(例如,在较新版本的 DLL 中添加的函数)。
请注意,我假设不同版本的 DLL 没有修改过的函数名称 and/or 序号(以导入库使用的为准)或修改过的函数签名。换句话说,我假设 DLL 的开发人员遵循公认的良好做法来维护 DLL 版本之间的兼容性。