【问题标题】:What does the option "Fast ABI" do?“快速 ABI”选项有什么作用?
【发布时间】:2020-05-01 05:34:21
【问题描述】:

我找不到有关此选项的任何文档。 它有什么作用?有没有缺点或者为什么默认不使用?

编辑:

根据此 CppWinRT NuGet 包 readme,C++/WinRT 编译器的 CppWinRTFastAbi 选项默认值为 false。我推断这也将在我的项目中使用,因为它似乎没有在这里继承值。

【问题讨论】:

  • 关于“快速 ABI” 功能的公开信息非常少。在 Kenny Kerr 和 Scott Jones 的 Build 2019 演讲中简短地提到了它,标题为 Meet C++/WinRT 2.0。最终,它完成的是摆脱许多(或全部)QueryInterface 电话。我的猜测是,这是通过将接口层次结构组合成单个 v-table 来实现的。同样,这方面的信息很少。我发现的唯一提示是在同一位演讲者的 CppCon 2017 谈话C++/WinRT and the Future of C++ on Windows
  • 使用 "Fast ABI" 是一项重大更改,这可以解释为什么默认情况下它是关闭的。如果它确实完全关闭。 UI 将值显示为“未设置”,这意味着它被继承了。

标签: c++-winrt


【解决方案1】:

fastabi 是一项主要面向具有大量版本和/或层次结构的大型 API 的功能。如果您的 API 没有版本化或分层,那么它可能不会增加太多价值。但是它是向后兼容的,因此您可以在以后决定需要它时将其打开。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-11
    • 2015-12-10
    • 2016-10-31
    • 1970-01-01
    • 2020-01-18
    • 2016-11-02
    • 1970-01-01
    • 2012-02-17
    相关资源
    最近更新 更多