2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

微软开源.NET Core 的执行引擎 CoreCLR

  • 2015-02-05
  • 本文字数:1085 字

    阅读完需:约 4 分钟

继去年 12 月宣布.NET Core 开源之后,微软拥抱开源的决心又向前迈了一步,Microsoft 于昨日在 .NET Framework Blog 上 宣布开源.NET Core 的执行引擎 CoreCLR ,同时该项目将继续托管在 Github 上。

CoreCLR 是.NET Core 的执行引擎,负责垃圾收集、机器码编译等方面的工作,此次开源的是CoreCLR 最新、最完整的代码实现,包含RyuJIT、.NET GC、本地互操作以及很多其他的.NET 运行时组件。Microsoft 表示,.NET Core 目前能够构建并运行在Windows 平台上,在未来的几个月内会增加Linux 和Mac 平台的支持。

从大小上看,CoreCLR 库大约有260 万行的代码,其中JIT 的代码大约有32 万行,GC 的代码大约有5.5 万行,而之前发布的 CoreFX 库大约有 50 万行代码,只占该库最终大小的 25%,如果.NET Core 完全开源,那么总共大约会有 500 万行代码。不同的是,CoreFX 全部是 C#代码,而 CoreCLR 包含大量的 C#和 C++ 代码,要构建这些代码需要多个工具集,而有些工具 Visual Studio 并没有提供,如果你想构建 CoreCLR,那么可以查看 CoreCLR 开发指南

CoreCLR 的开源在社区上引发了广泛的讨论, HackerNews 上的 JeremyMorgan 评论说:

“是好是坏取决于你如何看待这件事情,虽然在盖茨时代之后 Microsoft 对开发者一直都很好,但是与之前相比最大的不同也仅仅是人们不需要再付费了而已,因为这之前只有相关的付费用户才能得到良好的服务。”

对此 klibertp 则发表了不同的观点:

“这不仅仅是一个财务问题。Microsoft 开源自己的类库对开发者而言好处非常多,因为现在他们能够查看自己日常使用的类库的源码,这使得调试更加容易,同时也能够帮助开发者理解当他们调用某些函数的时候其内部到底做了什么。十年之前我离开了 Microsoft 阵营,那时候我非常愿意付费查看相关 Microsoft 工具的源码,但是却找不到门路,现在 Microsoft 提供了相关的源码,并且是开源的,这非常好,也非常重要。”

brudgers 在评论中写道:

“我认为开源非常伟大,我非常钦佩 Stallman(自由软件之父),因为他广阔的胸襟。但是我并不认为 Windows 闭源有问题,因为 Windows 能够通过 Microsoft 商业模式的优势非常有效地解决一组特定的问题,但是无论如何开源的选择是好的。”

最后,Microsoft 表示自己在开源和跨平台的.NET 计划上依然有很多事情要做,具体内容或许会在今年将会举行的.NET Conf 上透露,该虚拟网络会议的召开时间为2015 年的3 月18 日和19 日。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2015-02-05 00:345555
用户头像

发布了 321 篇内容, 共 132.4 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

ConstraintLayout 2,android双击事件响应

android 程序员 移动开发

如何打造实时性的弹窗?

神策技术社区

UI sdk Android;

BAT同系列公司面试总结,哪些你所不知道的,学习android的好书

android 程序员 移动开发

DialogFragment探索与实现,音视频编解码技术

android 程序员 移动开发

Chameleon跨端框架——壹个理想主义团队的开源作品,旧版android模拟器

android 程序员 移动开发

Context那些你不知道的事?,张口就来

android 程序员 移动开发

Dart Flutter 1,flutter页面跳转动画

android 程序员 移动开发

EventBus核心原理其实保存这三张图就可以弄懂了,收藏一下

android 程序员 移动开发

(完整版)直播回顾:2021 MAXP 无服务器赛题讲解

亚马逊云科技 (Amazon Web Services)

人工智能 云计算 创新大赛

BAT资深面试官-带你破解Android高级面试,渣本逆袭大厂面经分享

android 程序员 移动开发

BAT面试有关散列(哈希)表的面试题详解,flutter图片压缩上传

android 程序员 移动开发

Dart _ 什么是Stream,安卓开发不得不会

android 程序员 移动开发

FART:ART环境下基于主动调用的自动化脱壳方案,androidndk开发教程

android 程序员 移动开发

Flutter RichText支持图片显示和自定义图片效果,经典Android开发教程

android 程序员 移动开发

Coroutine 基本原理,Android开发大佬的百度美团快手等大厂Offer收割之旅

android 程序员 移动开发

filter、interceptor、aspect不知如何选择,移动应用开发案例教程

android 程序员 移动开发

Flutter Android 工程结构及应用层编译源码深入分析,Android面试题及答案2020

android 程序员 移动开发

下一代信息技术论坛云操作系统介绍

架构 操作系统

BroadcastReceiver源码分析,一线互联网大厂中高级Android面试真题收录

android 程序员 移动开发

ButterKnife被弃用,ViewBinding才是findView的未来?,秀出天际

android 程序员 移动开发

ConstrainLayout 基础教程2,2021Android精选面试实战总结整理

android 程序员 移动开发

Butterknife源码分析,android开发环境搭建实验报告

android 程序员 移动开发

Dart 层如何 兼容 Android 和iOS平台特性 (1),Android开发面试技巧

android 程序员 移动开发

Flutter Android 端 FlutterInjector 及依赖流程源码分析

android 程序员 移动开发

ConstraintLayout 1,flutterrow换行

android 程序员 移动开发

DateUtils(一个日期工具类),androidauto百度地图

android 程序员 移动开发

Flutter Candies 一桶天下,kotlin编程软件

android 程序员 移动开发

JMH实践记录

Clarke

JMH性能基准测试

BAT常见Android面试20题详解,985研究生入职电网6个月

android 程序员 移动开发

BroadcastReceiver官方概览,【面试总结

android 程序员 移动开发

ByteDance张一鸣:抖音很多年轻人,出色的都有这些闪光点

android 程序员 移动开发

微软开源.NET Core的执行引擎CoreCLR_.NET_孙镜涛_InfoQ精选文章