导入库文件是否包含可以在更新时破坏我的应用程序的信息?

Do import library files contain information that can break my application on updates?

我正在使用动态-link 库,所以我不需要每次都重新编译我的主应用程序。我想知道导入库文件是否包含可能破坏我的应用程序的信息。

如果我正在编译我的库的更新版本并仅替换动态-link 库,那么导入库和动态-link 库之间是否存在不匹配?由于该应用程序仍然引用 compiled/linked 使用的旧导入库。

您有责任部署向后兼容旧 dll 的新 dll。如果您有一个 void foo (bool) 并且新的 dll 实现了 void foo(bool,int),您的应用程序将继续调用 foo(TRUE)。这意味着您必须保留 void foo(bool) 实施并创建一个从 void foo(bool) 调用的新 void foo(bool,int)int 参数的值为 default/secure。