gpt4 book ai didi

c - visual studio c 库的 ABI 兼容性

转载 作者:太空狗 更新时间:2023-10-29 15:08:45 26 4
gpt4 key购买 nike

据我了解,(从 VS2015 到 VS2017 的切换是一个明显的异常(exception))Microsoft 在每个版本的 Visual C++ 工具链之间进行了 ABI 重大更改。因此,如果我想分发一个库的二进制版本,我必须为我想要支持的每个新版本的 VS 分发一个单独的版本。

现在我的问题是:

  • 纯 c 库也是如此吗?
  • dll 和静态库的答案是否不同?
  • MS 是否有关于他们 future 目标的官方政策?

(特别是考虑到 refactoring and stabilization of the crt )

如果这是相关的,我会满足于特定于 Win10 的答案,但我也对自 Win7 以来(包括)的所有 Windows 版本感兴趣。我感兴趣的 VS Studio 版本是 VS2013/15/17 和 - 就可以做出的任何预测而言 - future 版本。

最佳答案

纯C的ABI肯定是稳定的。您可以混合使用不同 VisualStudio 版本制作的 DLL,只要您还具有正确的 MSVCRT* 依赖项(如果您使用静态 libc 构建它们,则显然不适用)。

但是在传递指针时必须特别小心(参见 http://siomsystems.com/mixing-visual-studio-versions/Library ABI compatibility between versions of Visual Studio)

关于c - visual studio c 库的 ABI 兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41975672/

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