gpt4 book ai didi

.net - NGEN 和平台的目标是同一件事吗?

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

您可以使用 NGEN.EXE 将 MSIL 程序集编译为 native 程序集。但是当您有源代码时,您也可以在项目选项中选择“平台目标”。如果我在那里选择 x64,那与在 x64 机器上运行 NGEN.EXE 是否相同?

最佳答案

不,这不是一回事。
平台目标仅在 PE header 中设置一点,告诉运行时它更喜欢在 x86 或 x64 版本的 CLR 上运行(或中性,如果您指定“任何 CPU”)。编译仍会产生MSIL代码; AFAIK,不可能告诉 MS 编译器直接发出 native 代码(目前)。

该标志很有用,例如,当您 PInvoking 只有 x86 版本的 native DLL 时。

事实上,你也可以稍后修改这一点,使用 CorFlags

相反,NGEN 会将 IL 编译为汇编代码( native )。它也被称为 AOT(Ahead Of Time)编译,而不是 JIT(Just In Time)

关于.net - NGEN 和平台的目标是同一件事吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15523308/

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