C# - Shared Source CLI 2.0 source code

本文详细介绍了SharedSourceCLI2.0(Rotor)的源代码公开版本,覆盖了CLI、C#编译器、System namespace下的class library等内容。深入探讨了泛型、Lightweight Code Generation、静态实例委托、放松的委托加载器和反射等特性,提供了SSCLI2.0本质论的链接和下载地址。
部署运行你感兴趣的模型镜像

Intorduction

Shared Source CLI (开发代号Rotor) 是CLI的源代码公开版本 , 是微软.NET Framework 2.0的Shared Source实现版本。

sscli的代码覆盖cli、c#语言编译器、System namespace下面的一些class library等等,内容非常丰富。毫不夸张地说,sscli是大家深度研究.net的最佳利器。


Freature
  • Generics(泛型)公开generics的代码实在是太让人兴奋了
  • Lightweight Code Generation (LCG)
  • Open static and closed instance Delegates
  • Relaxed Delegates
  • Loader and System.Reflection re-writes
  • Metadata format updates
  • New C# features like Anonymous Methods, Anonymous Delegates and Generics support
  • Numerous BCL additions
  • Stub based dispatch support (in supported callsites)
  • Numerous bug fixes

see

Shared Source CLI 2.0 Internals(SSCLI2.0本质论

http://setting.iteye.com/blog/251061


Shared Source CLI 2.0 (Rotor) 源码研究)

http://blog.youkuaiyun.com/tanliyoung/article/details/1596636



http://www.cnblogs.com/lbq1221119/category/117124.html


下载地址:

http://www.microsoft.com/downloads/details.aspx?FamilyId=8C09FD61-3F26-4555-AE17-3121B4F51D4D&displaylang=en


源码目录说明

vm - 包含了 CLI 核心实现,包括垃圾收集器、类装入器、类型系统、错误报告系统、应用程序域、配件、代理支持、反射、安全性和代码管理器。
csharp - 包含了使用 C++ 编写的 C# 编译器(csc.exe)和配件连接器。
classlibnative - 包含了公共类型和国际化例程。
ipcman - 包含跨进程通讯系统的源代码。
managedlibraries - 包含Remoting 和 SoapSerializer 的源代码。
utilcode - 包含被运行时、工具和 C# 编译器使用的核心例程,例如路径处理和分析、数组和散列表管理、C 运行库、字符大小写支持、库和配件载入、调试和日志支持、同步机制,还包括字符串格式化、GUID创建、错误处理、注册表以及配置访问等。
md - 包含元数据的读取器和编写器。
fjit - 包含 sscli JIT 编译器和验证器。
fusion - 包含配件绑定、策略检查和全局配件缓存的实现代码。
bcl - 包含 ECMA 基础类库的 C# 代码,包括大部分 System 名字空间下的代码。
debug - 包含运行时调试器的源代码。
ilasm - 包含 CIL 汇编器的源代码。
ildasm - 包含 CIL 反汇编器的源代码。
tools - 包含 PEVerify、clix.exe、metainfo.exe、托管调试器符号的读写器以及其它工具的源代码。
toolbox - 包含 caspol、strike 等其它工具的源代码。
dlls - 包含在构建过程中所需要的本机共享库。
xmlparser - 包含 XML 分析器的源代码。
fx - 包含主要名字空间中类的实现,包括正则表达式、XML和网络等。
jscript - 包含了使用 C# 编写的 JScript 编译器。
pal - 包含了平台适配层(PAL)的实现,包括 unix 和 win32 两个平台。
palrt - 包含 PAL 运行时的实现。
samples - 示例。
tests - 大量的测试用例和套件。

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

http://blog.csdn.net/atfield/article/details/1471465 Introduction Shared Source CLI 2.0 (开发代号Rotor) 是微软.NET Framework 2.0Shared Source实现版本。Shared Source是微软推出的源代码共享计划,可以在一定限制的情况下获得/使用源代码,详情可以参考Microsoft Shared Source Initiative主页:http://www.microsoft.com/resources/sharedsource/。Rotor的代码可以在非商业行为的前提下可以自由修改和发布,只需保留License声明即可。Rotor包含了下面的内容: 1. CLI的运行时(CLR)的符合ECMA标准的实现 2. C# & Jscript编译器 3. .NET Framework中的部分工具,如ilasm, ildasm, cordbg, gacutil, sn等 4. Build工具,如Build, Binplace, NMake等 5. PAL (Platform Adaptation Layer),支持其他平台 6. 自动化回归测试 7. Samples 由此可见,Rotor是研究.NET Framework实现的最佳材料。 Rotor的全部源代码可以在微软的MSDN网站上下载:http://msdn.microsoft.com/net/sscli/ 下载后解压缩,可以看到如下的目录结构: 目录 内容 Binaries.x86*.rotor Build出来的可执行文件和Symbols。这个目录在Build之后才会出现 clr CLI和BCL(Base Class Library)的实现 csharp C#编译器的实现就在这里了 Docs 文档 Env Build时所需的一些文件 Fx 类库的实现 Jscript Jscript编译器的实现 Pal Platform Adaptation Layer的实现。PAL是Rotor对Windows和Unix的一些基本API的封装 Palrt Platform Adaptive Layer Runtime的实现。PAL中的和操作系统平台无关可重用的部分 prebuilt 存放着build所需的一些事先用工具生成好的文件 Samples Samples Tests Regression Test Suite Tools Build工具,包括binplace, build, cppmunge等 Vscommon 公共头文件,主要是微软内部使用的一些产品有关的公用的宏定义 总共大概有150MB左右。 本人先发在优快云上做个备份。
ii udev 249.11-0ubuntu3.16 amd64 /dev/ and hotplug management daemon ii udisks2 2.9.4-1ubuntu2.2 amd64 D-Bus service to access and manipulate storage devices ii ufw 0.36.1-4ubuntu0.1 all program for managing a Netfilter firewall ii unattended-upgrades 2.8ubuntu1 all automatic installation of security upgrades ii uncrustify 0.72.0+dfsg1-2 amd64 C, C++, ObjectiveC, C#, D, Java, Pawn and VALA source code beautifier ii unixodbc-common 2.3.9-5ubuntu0.1 all Common ODBC configuration files ii update-inetd 4.51 all inetd configuration file updater ii update-manager 1:22.04.22 all GNOME application that manages apt updates ii update-manager-core 1:22.04.22 all manage release upgrades ii update-notifier 3.192.54.8 amd64 Daemon which notifies about package updates ii update-notifier-common 3.192.54.8 all Files shared between update-notifier and other packages ii upower 0.99.17-1 amd64 abstraction for power management ii usb-creator-common 0.3.13 all create a startup disk using a CD or disc image (common files) ii usb-creator-gtk 0.3.13 all create a startup disk using a CD or disc image (for GNOME) ii usb-modeswitch 2.6.1-3ubuntu2 amd64 mode switching tool for controlling "flip flop" USB devices ii usb-modeswitch-data 20191128-4 all mode switching data for usb-modeswitch ii usrmerge 25ubuntu2 all Convert the system to the merged /usr directories scheme ii va-driver-all:amd64 2.14.0-1 amd64 Video Acceleration (VA) API -- driver metapackage ii vdpau-driver-all:amd64 1.4-3build2 amd64 Video Decode and Presentation API for Unix (driver metapackage) ii vtk9 9.1.0+really9.1.0+dfsg2-3build1 amd64 Binaries for VTK9 ii wamerican 2020.12.07-2 all American English dictionary words for /usr/share/dict ii wbritish 2020.12.07-2 all British English dictionary words for /usr/share/dict ii wget 1.21.2-2ubuntu1.1 amd64 retrieves files from the web ii whiptail 0.52.21-5ubuntu2 amd64 Displays user-friendly dialog boxes from shell scripts ii whoopsie-preferences 23 amd64 System preferences for error reporting ii wireless-regdb 2024.10.07-0ubuntu1~22.04.1 all wireless regulatory database ii wireless-tools 30~pre9-13.1ubuntu4 amd64 Tools for manipulating Linux Wireless Extensions ii x11-common 1:7.7+23ubuntu2 all X Window System (X.Org) infrastructure ii xbrlapi 6.4-4ubuntu3 amd64 Access software for a blind person using a braille display - xbrlapi ii xcvt 0.1.1-3 amd64 VESA CVT standard timing modelines generator ii xdg-dbus-proxy 0.1.3-1 amd64 filtering D-Bus proxy ii xdg-desktop-portal 1.14.4-1ubuntu2~22.04.2 amd64 desktop integration portal for Flatpak and Snap ii xdg-desktop-portal-gnome 42.1-0ubuntu2 amd64 GNOME portal backend for xdg-desktop-portal ii xdg-desktop-portal-gtk 1.14.0-1build1 amd64 GTK+/GNOME portal backend for xdg-desktop-portal ii xdg-user-dirs 0.17-2ubuntu4 amd64 tool to manage well known user directories ii xdg-user-dirs-gtk 0.10-3build2 amd64 tool to manage well known user directories (Gtk extension) ii xdg-utils 1.1.3-4.1ubuntu3~22.04.1 all desktop integration utilities from freedesktop.org ii xfonts-encodings 1:1.0.5-0ubuntu2 all Encodings for X.Org fonts ii xfonts-utils 1:7.7+6build2 amd64 X Window System font utility programs ii xinput 1.6.3-1build2 amd64 Runtime configuration and test of XInput devices ii xkb-data 2.33-1 all X Keyboard Extension (XKB) configuration data ii xml-core 0.18+nmu1 all XML infrastructure and XML catalog file support ii xorg 1:7.7+23ubuntu2 amd64 X.Org X Window System ii xorg-docs-core 1:1.7.1-1.2 all Core documentation for the X.org X Window System ii xorg-sgml-doctools 1:1.11-1.1 all Common tools for building X.Org SGML documentation ii xserver-xorg 1:7.7+23ubuntu2 amd64 X.Org X server ii xserver-xorg-core 2:21.1.4-2ubuntu1.7~22.04.15 amd64 Xorg X server - core server ii xserver-xorg-input-all 1:7.7+23ubuntu2 amd64 X.Org X server -- input driver metapackage ii xserver-xorg-input-libinput 1.2.1-1 amd64 X.Org X server -- libinput input driver ii xserver-xorg-input-wacom 1:1.0.0-3ubuntu1 amd64 X.Org X server -- Wacom input driver ii xserver-xorg-legacy 2:21.1.4-2ubuntu1.7~22.04.15 amd64 setuid root Xorg server wrapper ii xserver-xorg-video-all 1:7.7+23ubuntu2 amd64 X.Org X server -- output driver metapackage ii xserver-xorg-video-amdgpu 22.0.0-1ubuntu0.2 amd64 X.Org X server -- AMDGPU display driver ii xserver-xorg-video-ati 1:19.1.0-2ubuntu1 amd64 X.Org X server -- AMD/ATI display driver wrapper ii xserver-xorg-video-fbdev 1:0.5.0-2build1 amd64 X.Org X server -- fbdev display driver ii xserver-xorg-video-intel 2:2.99.917+git20210115-1 amd64 X.Org X server -- Intel i8xx, i9xx display driver ii xserver-xorg-video-nouveau 1:1.0.17-2build1 amd64 X.Org X server -- Nouveau display driver ii xserver-xorg-video-qxl 0.1.5+git20200331-3 amd64 X.Org X server -- QXL display driver ii xserver-xorg-video-radeon 1:19.1.0-2ubuntu1 amd64 X.Org X server -- AMD/ATI Radeon display driver ii xserver-xorg-video-vesa 1:2.5.0-1build4 amd64 X.Org X server -- VESA display driver ii xserver-xorg-video-vmware 1:13.3.0-3build1 amd64 X.Org X server -- VMware display driver ii xtl-dev 0.7.2-2 all basic tools (containers, algorithms) used for xtensor and xeus ii xwayland 2:22.1.1-1ubuntu0.19 amd64 X server for running X clients under Wayland ii xxd 2:8.2.3995-1ubuntu2.24 amd64 tool to make (or reverse) a hex dump ii yaru-theme-gnome-shell 22.04.5 all Yaru GNOME Shell desktop theme from the Ubuntu Community ii yaru-theme-gtk 22.04.5 all Yaru GTK theme from the Ubuntu Community ii zenity 3.42.1-0ubuntu1 amd64 Display graphical dialog boxes from shell scripts ii zenity-common 3.42.1-0ubuntu1 all Display graphical dialog boxes from shell scripts (common files) ii zlib1g:amd64 1:1.2.11.dfsg-2ubuntu9.2 amd64 compression library - runtime ii zlib1g-dev:amd64 1:1.2.11.dfsg-2ubuntu9.2 amd64 compression library - development ii zstd 1.4.8+dfsg-3build1 amd64 fast lossless compression algorithm -- CLI tool bash: 未预期的记号 "newline" 附近有语法错误 ubuntu@Ubuntu01:~/桌面$
最新发布
07-13
源码简介:Microsoft 发布了 sscli 2.0,所谓的 sscli 就是 Shared Source CLI。基本上是 .NET Framework 2.0 的 Microsoft 实现,当然是实际发布的 .NET Framework 2.0 的一个简化版本。 sscli 2.0 中包含很多有趣的东西,包括: 01、vm - 包含了 CLI 核心实现,包括垃圾收集器、类装入器、类型系统、错误报告系统、应用程序域、配件、代理支持、反射、安全性和代码管理器。 02、csharp - 包含了使用 C++ 编写的 C# 编译器(csc.exe)和配件连接器。 03、classlibnative - 包含了公共类型和国际化例程。 04、ipcman - 包含跨进程通讯系统的源代码。 05、managedlibraries - 包含Remoting 和 SoapSerializer 的源代码。 06、utilcode - 包含被运行时、工具和 C# 编译器使用的核心例程,例如路径处理和分析、数组和散列表管理、C 运行库、字符大小写支持、库和配件载入、调试和日志支持、同步机制,还包括字符串格式化、GUID创建、错误处理、注册表以及配置访问等。 07、md - 包含元数据的读取器和编写器。 08、fjit - 包含 sscli JIT 编译器和验证器。 09、fusion - 包含配件绑定、策略检查和全局配件缓存的实现代码。 10、bcl - 包含 ECMA 基础类库的 C# 代码,包括大部分 System 名字空间下的代码。 11、debug - 包含运行时调试器的源代码。 12、ilasm - 包含 CIL 汇编器的源代码。 13、ildasm - 包含 CIL 反汇编器的源代码。 14、tools - 包含 PEVerify、clix.exe、metainfo.exe、托管调试器符号的读写器以及其它工具的源代码。 15、toolbox - 包含 caspol、strike 等其它工具的源代码。 16、dlls - 包含在构建过程中所需要的本机共享库。 17、xmlparser - 包含 XML 分析器的源代码。 18、fx - 包含主要名字空间中类的实现,包括正则表达式、XML和网络等。 19、jscript - 包含了使用 C# 编写的 JScript 编译器。 20、pal - 包含了平台适配层(PAL)的实现,包括 unix 和 win32 两个平台。 21、palrt - 包含 PAL 运行时的实现。 22、samples - 示例。 23、tests - 大量的测试用例和套件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值