由于我一直在开发c#,这是我的好奇心。有人知道吗
答案 0 :(得分:2)
你到底是什么意思?如果您的意思是编写的编译器是什么,那么我不确定,但最终C#和任何.NET语言都编译成中间语言(IL),它提供了一种通用语言,然后在公共语言运行时(CLR)虚拟语言中运行机。 IL和CLR的结合使.NET语言可以无缝地互操作。
然后将其编译为目标机器的字节代码。
如果您使用ILDASM,那么您可以检查C#等编译成的IL代码。
也可以使用System.Reflection.Emit命名空间和ILGenerator类编写自己的IL代码。它对于生成运行时代理非常有用。
答案 1 :(得分:0)
CLR - 公共语言运行时。然后将JIT编译为本地机器字节代码。
有关详细信息,请参阅此处:http://en.wikipedia.org/wiki/Common_Language_Runtime
请注意,您也可以使用Mono编译C#,它是.NET的替代品。见这里:http://www.mono-project.com/Main_Page
答案 2 :(得分:0)
我认为.Net运行时和C#编译器是用C / C ++编写的