According to Wikipedia,Mono有三个主要组成部分:
我想知道每个组件的语言或技术是在哪里开发的。
修改
我知道项目的某些部分是用C#开发的,尤其是旧的,但我想知道整个项目是用C#开发的,还是不用。
答案 0 :(得分:9)
runtime本身是用C语言编写的。不同的class libraries和tools以及C# compiler完全是用C#编写的。
唯一的例外是VB compiler和VB libraries,这些都是用VB编写的。
答案 1 :(得分:3)
您可以查看各种语言here的代码行细分。
必须与低级操作系统函数通信的核心本身大多用C语言编写,而类库大多用C#编写。
答案 2 :(得分:2)
以下是Mono Subversion repository的链接。来自The Compiling Mono From SVN:
这假设您有一个有效的单声道安装,并且有一个名为'mcs'的C#编译器,以及一个名为'mono'的相应IL运行时。
所以我猜它是用C#实现的
答案 3 :(得分:0)
这是一个有根据的猜测,但vm,jit和所有运行时的东西很可能用c或c ++编写。像gnome api,语言库等接口的开发堆栈很可能用c sharp编写。
Microsoft兼容性堆栈很可能是用c sharp实现的,它使用了与本机linux库的简洁接口。
但这是猜测。你可以自己检查一下。
答案 4 :(得分:-2)
mono是开源的 - 你为什么不看源?见http://www.go-mono.com/mono-downloads/
编辑:不那么粗鲁
mono所做的第一件事就是构建一个自编译的C#编译器。我认为他们仍然会写出大部分内容或直接后代。
答案 5 :(得分:-2)
Mono编译器(mcs / gmcs)是用C ++编写的。
类库(System,System.Web等)是用C#编写的。
在C#中无法完成的一些低级功能(例如:P / Invoke,本机窗口)也是用C ++编写的。