Платформа .NET независима? - PullRequest
6 голосов
/ 07 сентября 2010

.NET - это независимая от языка платформа.

Но так ли она независима от платформы?Как?

РЕДАКТИРОВАТЬ: Я слышал, .NET 4.0 разработан с учетом независимости от формы пластины!Что ж, надеюсь, что это может занять Java, если это так!

РЕДАКТИРОВАТЬ: Ответ зависит от того, как мы определяем «платформа», как .NET для платформы Windows и Mono для Java.

Но вопрос в том, разве у нас нет общей платформы разработки, которая не зависит от ОС!

Связана ли независимость ОС с независимостью платформы?

Ответы [ 14 ]

0 голосов
/ 12 мая 2014

.NET зависит от платформы, поскольку после написания кода он выполняется в коде Microsoft Intermediate Language (MSIL), который не зависит от платформы, но является наполовину скомпилированным кодом, затем Common Language Runtime (CLR) преобразует его в код, специфичный для устройства. то есть он зависит от платформы. (MSIL отправляется в JIT через CLR. Во время выполнения все выделение памяти выполняется JIT.)

0 голосов
/ 09 сентября 2012

.Net известен как частично независимый от платформы, не полностью независимый от платформы.Однако .Net поддерживает некоторые другие операционные системы, такие как win98, winnt, winserver 2000 и новая версия, а также linux.В той же ситуации clr недоступны для win95, что означает, что .net не может быть выполнен на win95.Таким образом, мы можем сказать, что .net является частично независимой от платформы, но не полностью независимой от платформы.

0 голосов
/ 07 сентября 2010

.NET не зависит от платформы, поскольку его можно запускать в более чем одной версии / разновидности ОС (например, MONO запускает различные версии .Net framework во многих популярных операционных системах. См. http://mono -project.com./ Совместимость )

0 голосов
/ 07 сентября 2010

Во время компиляции языков программирования .NET исходный код переводится в код CIL, а не в объектный код платформы или процессора.CIL - это независимый от процессора и платформы набор команд, который может выполняться в любой среде, поддерживающей инфраструктуру общего языка, например, среда выполнения .NET в Windows или кроссплатформенная среда выполнения Mono.Теоретически это устраняет необходимость распространения отдельных двоичных файлов для разных платформ и типов процессоров.Код CIL проверяется на безопасность во время выполнения, обеспечивая лучшую безопасность и надежность, чем встроенные двоичные файлы.Процесс выполнения выглядит следующим образом: исходный код преобразуется в общий промежуточный язык, эквивалентный CLI языку ассемблера для процессора.Затем CIL собирается в байт-код и создается сборка .NET.После выполнения сборки .NET ее байт-код передается через JIT-компилятор среды выполнения для генерации собственного кода.(Опережающая компиляция исключает этот шаг во время выполнения.) Собственный код выполняется процессором компьютера.Однако Microsoft сделала несколько улучшений, работающих на .NET, которые специально предназначены для окон, оставляя Mono (его аналог на основе Linux) намного дальше.

...