我刚开始使用 C#。 net
编程,我读过的一本书说 FCL
有许多对许多任务有用的类。
我的问题是,这是否意味着微软为不同的 .net 兼容语言创建了不同版本的 FCL,或者 FCL 是编写 MSIL
(微软中间语言)以便只有一份 FCL需要吗?
最佳答案
没有,只有一种实现方式。 .NET 的一个重要设计目标是使框架实现可用于许多 语言。通过以独立于语言的格式对 .NET 程序集、元数据和代码的内容进行编码来强制执行。由 CLI 规范描述,Ecma-335 .每个 .NET 编译器都遵循该标准,因此您用一种语言编写的代码可以被任何其他 .NET 语言编译器使用。
还有平台独立性,由即时编译器实现,它将程序集中的 MSIL 转换为与机器使用的处理器类型相匹配的机器代码。不像语言独立性那样灵活,这确实需要能够在机器操作系统上执行的 CLR 版本。并且某些 FCL 功能可能不受支持,例如 WPF 只能在 Windows 上使用。
关于c# - 框架类库(FCL) 是分别为C# 和C++ 实现的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29159903/