2009-10-01 57 views
4

According to Wikipedia,单有三个主要组件:每种Mono组件开发哪种语言?

  • 核心组件
  • 单声道/ Linux的/ GNOME开发堆栈
  • 微软兼容栈

我想知道什么是语言或技术各其中一个组件是开发出来的。

编辑:
我知道项目的某些部分是用C#开发的,尤其是旧的,但是我想知道整个项目是用C#开发还是不开发。

+1

就我所知,Mono完全是用C#实现的,尽管我可能是错的。 – 2009-10-01 11:33:59

+2

你错了:-) – Joey 2009-10-01 11:59:14

回答

-2

单声道是开源的 - 你为什么不看看源代码?看到这里http://www.go-mono.com/mono-downloads/

编辑:要少粗鲁

一个的第一件事单的根本是建立一个自我编译C#编译器。我会假设他们仍然在这个或者直接后裔中编写大部分的东西。

+2

这可能是几乎任何开源问题的答案,并不是特别有帮助 – 2009-10-01 11:34:32

+0

但它的确如此... – 2009-10-01 11:37:14

+2

如果你打算花时间回答,你可以至少张贴链接到SCM以帮助OP输出 – 2009-10-01 11:38:25

2

这是链接到单声道Subversion repository。从The Compiling Mono From SVN

这是假设你有一个工作单安装,有一个名为“MCS”一个C#编译器,以及所谓的“单”相应的IL运行。

所以我想它是在C#

+0

感谢您的链接和引用。 +1 – 2009-10-01 11:55:51

-2

Mono的编译器(MCS /的GMC)是用C++实现的。

类库(System,System.Web等)是用C#编写的。

一些在C#中无法完成的低级功能(例如:P/Invoke,本地窗口)也是用C++编写的。

+3

不,运行时在C中,C#编译器是用C#编写的。 – 2009-10-01 11:45:55

0

这是一个有教养的猜测,但vm,jit和所有运行时的东西都是用c或C++编写的。像gnome api,语言库等接口的开发堆栈很可能用c语言写成。

微软的兼容性堆栈很可能是用c sharp语言编写的,并且通过c sharp接口与本地的linux libaries实现。

这是一个猜测。你可以检查你自己。

3

您可以看到各种语言的代码行分解here

必须与较低级别的操作系统函数进行通信的核心本身主要用C语言编写,而类库主要用C#编写。

+0

这个链接太棒了,非常感谢。 +1 – 2009-10-01 11:52:27

+1

ohloh唯一的问题是它考虑了很多SVN中的东西,比如moonlight,但它不直接是Mono的一部分。 – 2009-10-01 11:53:36

+1

约翰内斯,他们都分享/树干/月亮,这是月光代码居住的地方。我有种线索你知道:) – 2009-10-01 12:00:33