На каком языке разрабатывается каждый компонент Mono? - PullRequest
4 голосов
/ 01 октября 2009

Согласно Википедии , Mono состоит из трех основных компонентов:

  • Основные компоненты
  • Стек для разработки Mono / Linux / GNOME
  • стек совместимости Microsoft

Я хочу знать, на каком языке или технологии разработан каждый из этих компонентов.

EDIT:
Я знаю, что некоторые части проекта разрабатываются на C #, особенно старые, но я хочу знать, разрабатывается ли ВСЕ проект на C # или нет.

Ответы [ 6 ]

9 голосов
/ 01 октября 2009

Сама среда выполнения написана на C. Различные библиотеки и tools , а также компилятор C # полностью написано в C #.

Единственное исключение - это VB-компилятор и VB-библиотеки , написанные, ну, в общем, на VB.

3 голосов
/ 01 октября 2009

Вы можете увидеть разбивку строк кода на отдельных языках здесь .

Само ядро, которое должно взаимодействовать с низкоуровневыми функциями операционной системы, в основном написано на C, а библиотека классов в основном написана на C #.

2 голосов
/ 01 октября 2009

Вот ссылка на Mono Subversion репозиторий . От Компиляция Mono От SVN :

Это предполагает, что у вас есть работающая моно-установка и что есть компилятор C # с именем 'mcs' и соответствующая среда выполнения IL под названием 'mono'.

Так что я думаю, что это реализовано в C #

0 голосов
/ 01 октября 2009

Это обоснованное предположение, но, вероятно, vm, jit и все элементы времени выполнения написаны на c или c ++. Стек разработки, такой как интерфейсы для API-интерфейсов GNOME, языковые библиотеки и т. Д., Вероятно, написан на диезе.

Стек совместимости Microsoft, вероятно, написан на языке C Sharp, реализованном с помощью интерфейсов C Sharp к собственным библиотекам Linux.

Хотя это предположение. Вы можете проверить себя.

0 голосов
/ 01 октября 2009

Компилятор Mono (mcs / gmcs) написан на C ++.

Библиотеки классов (System, System.Web и т. Д.) Написаны на C #.

Некоторые из низкоуровневых функций, которые не могут быть выполнены в C # (например: P / Invoke, собственное оконное управление), также написаны на C ++.

0 голосов
/ 01 октября 2009

моно с открытым исходным кодом - почему бы вам просто не взглянуть на источник? см. здесь http://www.go -mono.com / mono-downloads /

Редактировать: Быть менее грубым

Одной из первых вещей, которые сделал mono, было создание самокомпилируемого компилятора C #. Я предположил бы, что они все еще пишут большую часть материала в этом или прямом потомке.

...