我一直想问但一直不敢问的问题是 - .NET Framework是用什么语言编写的? 我的意思是指它本身的库。
我认为主要是用C和C++编写的。(我希望Jon Skeet能看到这个问题,听听他对此的看法会很有趣)
我一直想问但一直不敢问的问题是 - .NET Framework是用什么语言编写的? 我的意思是指它本身的库。
我认为主要是用C和C++编写的。(我希望Jon Skeet能看到这个问题,听听他对此的看法会很有趣)
CLI/CLR是用C/C++和汇编语言编写的。几乎所有.NET框架类都是用C#编写并编译成运行于CLR的IL代码。当您在反编译器中查看框架库的类时,您可能会看到一个属性,例如[MethodImpl(MethodImplOptions.InternalCall)],它将调用委托给了CLI。
.NET是完全使用C和C++编写的,因为其基础是汇编语言。将汇编语言与C集成比较新的语言要容易得多。
微软.NET Framework被分为许多部分。
CLR: C++
IO/Signal Processing: Assembly
Baseclass Library: C#
System.Threading: C#
Complex Data Structure: C++
Example: GetHashCode
有些.NET Framework的部分是开源的,比如ASP.NET MVC,它是用C#编写的。
由于.NET Framework表示许多程序集,我认为不同的库可能是用不同的语言编写的。只要语言符合CLR规范,就可以用来构建框架的各个部分。
总的来说,我认为大部分.NET Framework都是用C++和C#编写的。
CLR / 编译器 - Visual C++
基类库 - 简单托管 C (SMC)
http://blogs.msdn.com/b/jasonz/archive/2007/11/23/couple-of-historical-facts.aspx