2012-01-19 2 views
-4

Поскольку я развиваюсь на C#, это любопытство, которое у меня есть. Кто-нибудь знает, чтоНа каком языке C# составлен

+2

C# является язык, поэтому он не соблюдается, или даже написано (запрограммировано). Кстати, я думаю, что вы на каком языке написаны компилятор C#? – 000

+0

Возможный дубликат [был компилятор C# написан на C++?] (Http://stackoverflow.com/questions/631059/was-c-sharp-compiler-written-in-c) – ChrisWue

+0

Компилятор C# до версии 4 был написан в C++. Следующая версия будет написана на C#. Андерс Хейлсберг упомянул об этом на последнем событии BUILD, которое я считаю. –

ответ

0

CLR - Общий язык Runtime. Это значит, что JIT скомпилирован в байт-код локальных машин.

Смотрите здесь для получения дополнительной информации: http://en.wikipedia.org/wiki/Common_Language_Runtime

Обратите внимание, что вы можете также компилировать C# с Mono, которая является альтернативой .NET. См. Здесь: http://www.mono-project.com/Main_Page

+0

Обратите внимание, что вы можете отключить javascript или нажать escape, пока страница загружается, чтобы избежать затемнения. – Dessus

+0

Спасибо за подсказку, Dessus - это затемнение стало настоящей неприятностью сегодня ... –

+0

CIL - это действительно ссылка, которую я хотел дать. Его здесь: http://en.wikipedia.org/wiki/Common_Intermediate_Language – Dessus

2

Что именно вы имеете в виду? Если вы имеете в виду то, что написано в компиляторе, то я не уверен, но в конечном итоге C# и любой из .NET-языков скомпилируются до промежуточного языка (IL), который предоставляет общий язык, который затем запускается в среде CLR (Common Language Runtime) машина. Комбинация IL и CLR позволяет .NET-языкам беспрепятственно взаимодействовать.

Это затем скомпилировано в байтовый код целевой машины.

Если вы используете ILDASM, тогда вы можете проверить код IL, который C# и т.д. скомпилированы.

Также можно написать свой собственный код IL, используя пространство имен System.Reflection.Emit и класс ILGenerator. Он полезен для создания прокси-серверов.

+1

Информация о реализации компилятора здесь: http://stackoverflow.com/questions/631059/was-c-sharp-compiler-written-in-c –

+0

+1 Приятно, я перепутал свои условия. – Dessus

0

Я хотел бы предположить, что среда .Net и C# компилятор написаны на C/C++

+0

http://stackoverflow.com/questions/631059/was-c-sharp-compiler-written-in-c –

+0

Существует версия .net (неофициальная) здесь: http://blogs.msdn.com/b/ jmstall/archive/2005/02/06/368192.aspx. Я также слышал на конференции, что исследования Microsoft пишут версию компилятора на C#. Я не могу найти ссылки для этого. – Dessus

Смежные вопросы