According to Wikipedia,单有三个主要组件:每种Mono组件开发哪种语言?
- 核心组件
- 单声道/ Linux的/ GNOME开发堆栈
- 微软兼容栈
我想知道什么是语言或技术各其中一个组件是开发出来的。
编辑:
我知道项目的某些部分是用C#开发的,尤其是旧的,但是我想知道整个项目是用C#开发还是不开发。
According to Wikipedia,单有三个主要组件:每种Mono组件开发哪种语言?
我想知道什么是语言或技术各其中一个组件是开发出来的。
编辑:
我知道项目的某些部分是用C#开发的,尤其是旧的,但是我想知道整个项目是用C#开发还是不开发。
runtime本身是用C语言编写的。不同的class libraries和tools以及C# compiler完全是用C#编写的。
唯一的例外是在VB中编写的VB compiler和VB libraries。
感谢您的详细信息。 +1 – 2009-10-01 11:54:22
单声道是开源的 - 你为什么不看看源代码?看到这里http://www.go-mono.com/mono-downloads/
编辑:要少粗鲁
一个的第一件事单的根本是建立一个自我编译C#编译器。我会假设他们仍然在这个或者直接后裔中编写大部分的东西。
这可能是几乎任何开源问题的答案,并不是特别有帮助 – 2009-10-01 11:34:32
但它的确如此... – 2009-10-01 11:37:14
如果你打算花时间回答,你可以至少张贴链接到SCM以帮助OP输出 – 2009-10-01 11:38:25
这是链接到单声道Subversion repository。从The Compiling Mono From SVN:
这是假设你有一个工作单安装,有一个名为“MCS”一个C#编译器,以及所谓的“单”相应的IL运行。
所以我想它是在C#
感谢您的链接和引用。 +1 – 2009-10-01 11:55:51
Mono的编译器(MCS /的GMC)是用C++实现的。
类库(System,System.Web等)是用C#编写的。
一些在C#中无法完成的低级功能(例如:P/Invoke,本地窗口)也是用C++编写的。
不,运行时在C中,C#编译器是用C#编写的。 – 2009-10-01 11:45:55
这是一个有教养的猜测,但vm,jit和所有运行时的东西都是用c或C++编写的。像gnome api,语言库等接口的开发堆栈很可能用c语言写成。
微软的兼容性堆栈很可能是用c sharp语言编写的,并且通过c sharp接口与本地的linux libaries实现。
这是一个猜测。你可以检查你自己。
您可以看到各种语言的代码行分解here。
必须与较低级别的操作系统函数进行通信的核心本身主要用C语言编写,而类库主要用C#编写。
这个链接太棒了,非常感谢。 +1 – 2009-10-01 11:52:27
ohloh唯一的问题是它考虑了很多SVN中的东西,比如moonlight,但它不直接是Mono的一部分。 – 2009-10-01 11:53:36
约翰内斯,他们都分享/树干/月亮,这是月光代码居住的地方。我有种线索你知道:) – 2009-10-01 12:00:33
就我所知,Mono完全是用C#实现的,尽管我可能是错的。 – 2009-10-01 11:33:59
你错了:-) – Joey 2009-10-01 11:59:14