【问题标题】:In what language is C# compiled [closed]C#用什么语言编译[关闭]
【发布时间】:2012-01-19 02:54:38
【问题描述】:

自从我一直在 c# 上进行开发以来,这就是我的好奇心。有人知道吗

【问题讨论】:

  • C# 是一种语言,所以它没有被编译,甚至没有被编写(编程)。顺便问一下,我想你提到了 C# 编译器是用什么语言编写的?
  • Was C# compiler written in C++? 的可能重复项
  • 版本 4 之前的 C# 编译器是用 C++ 编写的。下一个版本将用 C# 编写。 Anders Hejlsberg 在我相信的最后一次 BUILD 活动中提到了它。

标签: c#


【解决方案1】:

你到底是什么意思?如果您的意思是编译器是用什么编写的,那么我不确定,但最终 C# 和任何 .NET 语言都编译为中间语言 (IL),它提供了一种通用语言,然后在通用语言运行时 (CLR) 虚拟中运行机器。 IL 和 CLR 的结合使 .NET 语言可以无缝地互操作。

然后将其编译为目标机器的字节码。

如果您使用ILDASM,那么您可以检查 C# 等编译成的 IL 代码。

也可以使用System.Reflection.Emit 命名空间和ILGenerator 类编写您自己的IL 代码。它对于生成运行时代理很有用。

【讨论】:

【解决方案2】:

CLR - 公共语言运行时。然后将 JIT 编译为本地机器字节码。

更多信息请看这里:http://en.wikipedia.org/wiki/Common_Language_Runtime

请注意,您还可以使用 Mono 编译 C#,它是 .NET 的替代品。见这里:http://www.mono-project.com/Main_Page

【讨论】:

  • 请注意,您可以关闭 javascript,或在页面加载时点击转义键以避免停电。
  • 感谢您的提示,Dessus - 今天的停电真是令人讨厌...
  • CIL 确实是我想要提供的链接。它在这里:en.wikipedia.org/wiki/Common_Intermediate_Language
【解决方案3】:

我假设 .Net 运行时和 C# 编译器是用 C/C++ 编写的

【讨论】:

猜你喜欢
  • 2017-07-31
  • 2013-01-18
  • 2017-01-29
  • 2012-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-23
  • 1970-01-01
相关资源
最近更新 更多