gpt4 book ai didi

c++ - 是否可以对 dll 进行更改,同时保持与预编译的可执行文件的兼容性?

转载 作者:可可西里 更新时间:2023-11-01 13:51:33 26 4
gpt4 key购买 nike

我们有很多可执行文件引用了我们的一个 dll。我们在我们的一个 dll 中发现了一个错误,不想重新编译和重新分发我们所有的可执行文件来修复它。我的理解是,只要您不更改头文件中的任何内容,dll 就会保持与其可执行文件的兼容性。所以没有新的类成员,没有新的函数,等等......但是对函数内的逻辑进行更改应该没问题。这个对吗?如果它是特定于编译器的,请告诉我,因为这可能是个问题。

最佳答案

你的理解是正确的。只要更改逻辑而不更改接口(interface),就不会遇到兼容性问题。

您必须注意 DLL 的接口(interface)是否不仅仅是函数签名。例如,如果原始 DLL 接受一个 int 参数,但新的 DLL 强制执行此参数的值必须为正的约束,那么您将破坏旧程序。

关于c++ - 是否可以对 dll 进行更改,同时保持与预编译的可执行文件的兼容性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7614972/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com