作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您可以使用 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/
我是一名优秀的程序员,十分优秀!