是为C#和C ++单独实现的框架类库(FCL)?

时间:2015-03-20 05:18:52

标签: c# c++ .net fcl

我刚开始使用C# . net编程,我读过的一本书指出FCL有许多用于许多任务的有用类。

我的问题是,这是否意味着微软为不同的.net兼容语言创建了不同版本的FCL,或者FCL是用MSIL(微软中间语言)编写的,因此只需要一份FCL副本?

1 个答案:

答案 0 :(得分:1)

不,只有一个实现。 .NET中一个强大的设计目标是使框架实现可用于许多语言。通过以独立于语言的格式对.NET程序集,元数据和代码的内容进行编码来实现。由CLI规范Ecma-335描述。每个.NET编译器都遵循该标准,因此您用一种语言编写的代码可以被任何其他.NET语言编译器使用。

通过即时编译器实现了平台独立性,它将程序集中的MSIL转换为与机器使用的处理器类型相匹配的机器代码。不像语言独立那样灵活,这需要一个能够在机器操作系统上执行的CLR版本。并且可能不支持某些FCL功能,例如WPF只能在Windows上使用。

相关问题