【问题标题】:.NET : How to use JIT compiler.NET:如何使用 JIT 编译器
【发布时间】:2010-06-22 09:27:46
【问题描述】:

我想直接使用.NET JIT Compiler,可以吗?

我的意思是,我想做这样的事情:

?> jit.exe myfile.msil myfile.exe

或者在 c# 代码中?

【问题讨论】:

  • 那么您要做的是生成一个不再解释的可执行文件(即本机代码)?
  • 是的!但使用 clr 在执行时使用的相同编译器
  • @Abel,那是 4 分之 0... 还不如这里 100 多个人中的 0 分那么糟糕。
  • @Matthew:真的,有那么糟糕吗?但实际上,四个 q.,这是一个小列表。
  • @Able 我希望不会……我通常不看,直到有人指出。 :o)

标签: .net compilation jit


【解决方案1】:

我认为您正在寻找的是大致 ngen

请注意,虽然这会生成本机代码:

  • 它仍然在 CLR(托管运行时)中运行
  • 原始 IL 仍然保留(因此如果处理器发生更改或类似情况,可以重新编译)
  • ngen 和 JIT 执行的优化可能不同

IMO,ngen 通常不合适......你想做什么?

【讨论】:

  • 嗯不确定这是一个好方法,因为我想做的是测试 JIT 编译器......(模糊测试、性能等......)
  • @Thomas:究竟你想达到什么目标?您需要检查 JIT 编译的代码吗?仅通过运行代码并让 JIT 在执行时完成其工作,您不能做什么?
  • @Thomas:如果你的代码格式不正确,那会不会也弄乱 JIT?从格式错误的代码开始听起来不是一个好计划。同样,如果您能提供更多上下文,这将非常有帮助。
  • @Thomas:鉴于我们正在努力帮助您,您可能希望提供的不仅仅是单个单词的回复。编辑您的问题以提供您正在尝试做的事情的完整背景,为什么,为什么需要 JIT 编译才能使其工作,以及为什么您认为 JIT 编译会成功但仅仅运行它不会成功。 “fuzzing”这个词在这里可能有多种不同的含义——你能提供的细节越多,我们误解你的可能性就越小。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-21
  • 1970-01-01
  • 2011-07-17
  • 1970-01-01
  • 2013-09-01
  • 2019-03-06
相关资源
最近更新 更多