gpt4 book ai didi

.net - 为什么 .NET 开发人员提供 32 位/64 位版本的 .NET 程序集?

转载 作者:行者123 更新时间:2023-12-04 13:45:46 25 4
gpt4 key购买 nike

Evey 时不时地看到 x86 和 x64 版本的 .NET 程序集。考虑以下 web part for SharePoint .为什么开发人员不只提供一个版本并让 JIT 编译器整理其余部分?当我看到这些类型的产品时,仅仅是开发人员决定使用像 ngen 这样的工具来创建原生图像。为了避免JIT?

有人请在这里帮助我,我觉得我错过了一些值得注意的东西。

更新

根据我在下面得到的信息,提供 x86 和 x64 版本是因为以下一个或多个原因:

  • 开发人员希望避免 JIT,并使用 ngen.exe 之类的工具针对给定架构创建了他的代码的 native 镜像。
  • 该程序集包含特定于平台的 COM 调用,因此将其构建为 AnyCPU 毫无意义。在这些情况下,针对不同平台的构建可能包含不同的代码。
  • 程序集可能包含使用 pinvoke 的 Win32 调用,它不会被 JIT 重新映射,因此构建应该以它绑定(bind)到的平台为目标。
  • 最佳答案

    如果他们使用特定的非.Net API,那么可能有两个代码库,一个完美的例子是COM控件。

    正如你所提到的,ngen 也是另一个很好的理由。

    关于.net - 为什么 .NET 开发人员提供 32 位/64 位版本的 .NET 程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/454306/

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