C# используется где-нибудь помимо программирования.NET?

Именно мое понимание, что C#, хотя создано Microsoft, является языком программирования, может использоваться или реализовываться для вещей кроме программирования.NET. Например, я мог создать компилятор для C# для предназначения для собственного x86 или других процессоров или даже JVM. Действительно ли мое понимание является неправильным? Кто-либо знает, используется ли C# для чего-нибудь помимо.NET?

14
задан 2 revs, 2 users 100% 8 August 2010 в 13:12
поделиться

9 ответов

Есть несколько решений, если вы хотите получить полное решение, проверьте этот пост на kickingtyres . Это базовая комбинация хранимой процедуры, обрабатывающей анализ и создание разделов (с некоторым протоколированием!).

Все, что вам нужно сделать, это настроить его в соответствии с типом раздела (в примере используется bigint-раздел) и запланировать выполнение процедуры с планировщиком событий MySQL.

-121--2419746-

Попробуйте увеличить размер кучи для tomcat. Известно, что Spring 3,0 использует больше памяти, чем 2 .X

https://jira.springsource.org/browse/SPR-6775

-121--2486586-

Вы правы, что он может использоваться для других вещей. Это спецификация языка... вы можете скомпилировать его в все, что вам нравится, если вы занимаете время, но это будет огромными усилиями.

Я не знаю ни одного другого использования, кроме Mono, как сказал jrcs3, но, надеюсь, Эрик Липперт уколется и даст вам точку зрения компилятора на C #

2
ответ дан 1 December 2019 в 14:32
поделиться

C # используется для экспериментальной операционной системы, называемой « особенностью », которая написана на управляемом уровне с нуля. Интересный проект, чтобы посмотреть!

Редактировать: Спасибо Jörg W Mittag для его комментариев - Helios - это фактически модифицированная форма особенности для поддержки спутниковых ядер, чтобы цитировать из бумаги, я читаю прямо сейчас » Helios Операционная система, предназначенная для упрощения задачи письма, развертывания и настройки приложений для гетерогенных платформ. Helios вводит спутниковые ядра, которые экспортируют единый равномерный набор абстракций ОС через процессор разрозненных архитектур и характеристик производительности. Спутниковые ядра позволяет разработчику писать приложения против знакомых API и абстракций операционной системы. '... интересно ...

Надеюсь, это поможет, С наилучшими пожеланиями, Том.

6
ответ дан 1 December 2019 в 14:32
поделиться

Вы правы, что он может использоваться для других вещей. Это спецификация языка... вы можете скомпилировать его в все, что вам нравится, если вы занимаете время, но это будет огромными усилиями.

Я не знаю о каких-либо других применениях, кроме Mono, как сказал jrcs3, но, надеюсь, Эрик Липперт уколется и даст вам точку зрения компилятора на C #

-121--1858954-

Насколько мне известно, все существующие в настоящее время реализации C # build to CIL и запущенные в среде .NET CLR или совместимой среде, и единственная альтернатива .NET CLR, о которой я знаю, это Mono.

Другими словами, все текущие версии C # build должны выполняться в .NET или Mono.

.NET и Mono используют одни и те же «двоичные файлы», поэтому фактически все текущие компиляторы C # имеют только одну цель.

-121--1858957-

Действительно, существуют инструменты для преобразования сборки .NET в автономный исполняемый файл или библиотеку, чтобы клиентам не требовалась рамка .NET. Это также в некоторой степени защищает ваш код от обратного проектирования - вы не можете использовать Reflector для просмотра источника .NET в собственном двоичном файле.

См., например, Remotesoft Salamander .NET Protector .

Но, это не строго C # - > native; Salamander преобразует MSIL в собственный код.

С другой стороны, существует по крайней мере один академический проект по созданию собственного компилятора C # - > с использованием LLVM, называемого LLVM #.

0
ответ дан 1 December 2019 в 14:32
поделиться

Есть несколько решений, если вы хотите получить полное решение, проверьте это сообщение на kickingtyres . Это базовая комбинация хранимой процедуры, обрабатывающей анализ и создание разделов (с некоторым протоколированием!).

Все, что вам нужно сделать, это настроить его в соответствии с типом раздела (в примере используется bigint-раздел) и запланировать выполнение процедуры с планировщиком событий MySQL.

-121--2419746-

Попробуйте увеличить размер кучи для tomcat. Известно, что Spring 3,0 использует больше памяти, чем 2 .X

https://jira.springsource.org/browse/SPR-6775

-121--2486586-

Программу C # можно скомпилировать на Mono . Но это, вероятно, не считается.

Mono является альтернативной реализацией общей языковой инфраструктуры (CLI), которая работает в Linux и различных других операционных системах. Как упоминалось в других местах, как C #, так и CLI являются стандартами ECMA и могут быть реализованы любым, кто заботится об этом.

Ротор является еще одной реализацией, отличной от .NET.

0
ответ дан 1 December 2019 в 14:32
поделиться

Вы можете использовать его на приложениях iPod, если вы используете Monotouch.

0
ответ дан 1 December 2019 в 14:32
поделиться

C # сам по себе является спецификацией, определенной ECMA , которая «определяет форму и устанавливает интерпретацию программ, написанных на языке программирования C #». как CLR . Самая популярная их реализация в настоящее время предоставляется Microsoft, это известный вам C # .net. C # и CLR являются открытыми стандартами, что означает, что каждый может реализовать их самостоятельно, отсюда и создание mono, компилятора C # для mac / linux. Сравните это с java, единственная реализация которого предоставляется sun. Это не открытый стандарт, поэтому вы не можете создавать свои собственные реализации.

из википедии :

Mono «Кросс-платформенная реализация C # и CLR с открытым исходным кодом, двоичная совместимая с Microsoft.NET»

DotGNU «является частью проекта GNU, цель которого - предоставить бесплатную замену Microsoft .NET Framework»

Dot Net Anywhere - это интерпретатор .net CIL для встроенных систем.

2
ответ дан 1 December 2019 в 14:32
поделиться

Насколько мне известно, все существующие в настоящее время реализации C # строятся на CIL и работают в .NET CLR или совместимой среде, и единственная известная мне альтернатива .NET CLR - Mono.

Другими словами, все текущие версии сборки C # должны работать в .NET или Mono.

.NET и Mono используют одни и те же «двоичные файлы», поэтому фактически все текущие компиляторы C # имеют только одну цель.

1
ответ дан 1 December 2019 в 14:32
поделиться

Еще одна область использования - разработка приложений для iPhone (и, я полагаю, теперь и для iPad) с помощью MonoTouch.

Что такое MonoTouch?

MonoTouch позволяет разработчикам создавать приложения на основе C # и .NET, которые работают на устройствах Apple iPhone и iPod Touch, при этом пользуясь преимуществами API iPhone и повторно используя как код, так и библиотеки, созданные для .NET, а также существующие навыки.

Грубо говоря, это выглядит так:

MonoTouch -> MonoDevelop / C # -> написать приложение для iPhone -> скомпилировать в собственный код -> приложение для iPhone.

Соответствующие ссылки:

1
ответ дан 1 December 2019 в 14:32
поделиться

Обратите внимание, что Unity 3D также позволяет « C # Scripts » и компилируется для Mac, Windows, Web , Wii и iPhone (и, следовательно, iPad).

1
ответ дан 1 December 2019 в 14:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: