博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对.NET跨平台的随想
阅读量:6628 次
发布时间:2019-06-25

本文共 715 字,大约阅读时间需要 2 分钟。

是在这篇博文的评论中写的,在此记录一下:

.NET Core CLR是技术含量最高,但却是最容易实现跨平台的。因为微软的CLR是C或C++写的,没有GUI,对Win32 API依赖很少,JIT与GC的代码估计都是从头写的。跨平台只需要将CLR的C/C++代码拿到其他平台上重新编译,然后改改就行了。可以说跨平台的.NET Core CLR已经就位,现在大家只是等微软开源出来取取经,真正能为CLR贡献代码的人少之又少。

.NET Core Framework(跨平台的.NET基础类库)就完全不一样了,虽然微软手上也有,但却是.NET Framework基础类库的严重阉割版,只要对Windows有依赖的类库都得干掉。而.NET平台有三件宝:第1个是C#语法,这是天生跨平台的;第2个是Visual Studio,这是天生不能跨平台的;剩下的就是.NET Framework基础类库。如果.NET Framework基础类库不能跨平台,没人鸟.NET的跨平台。所以微软手上的.NET Core Framework只是个摆设,微软不得不投入大量精力去开发全新的.NET Core Framework(就是现在github上的corefx),一边将.NET Framework中有用的代码搬过来,一边根据跨平台的需求重新实现,看看corefx中System.Console的实现代码就能一窥端倪。这才是.NET跨平台的最大障碍,由此也可以看出.NET基础类库的重要性。所以要了解.NET跨平台的进展,只要看corefox的开源代码就行了。

转载于:https://www.cnblogs.com/dudu/p/4257106.html

你可能感兴趣的文章
短信发送状态报告(Status Report)的处理
查看>>
oracle第一章
查看>>
在一台Mac上不同平台同时使用多个Git账号
查看>>
leetcode-868-Binary Gap
查看>>
总结Android规范(参考阿里规范, 仅用于公司内部)
查看>>
How to extend size of LVM
查看>>
黑马程序员---java基础------------------String类
查看>>
什么是Date对象一个内置对象Date:
查看>>
Activity.this和getApplicationContext()的差异
查看>>
用“倍增法”求最近公共祖先(LCA)
查看>>
何不食肉糜 | 机器学习自学指南
查看>>
jq 点击按钮换图运动
查看>>
体验JAVA 11新特性
查看>>
js 中编码(encode)和解码(decode)的三种方法
查看>>
C#文件拖到TextBox中获取文件显示文件路径
查看>>
Java中普通代码块,构造代码块,静态代码块区别及代码示例
查看>>
<%@ page import=""%>的用法
查看>>
myeclipse2014下卸载,安装maven插件。
查看>>
jq获取路径参数的方法
查看>>
使用sql追踪
查看>>