English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية 
.NET
Colin Fahey

1. Определение .NET

Термин «.NET» ссылается на следующее собрание технологий:
(1) Framework Class Library (FCL)
(2) Intermediate Language (IL)
(3) Common Language Runtime (CLR)

1.1 Framework Class Library (FCL)

Framework Class Library (FCL) имеет обширный набор классов для поддержки:
* Контейнеры (Array, String, List, ...)
* Многопоточность (нитки, нитки пулы)
* Сетей (сокеты, протоколы, клиенты, серверы)
* Операции с файлами
* Потоки данных
* Разборе (регулярными выражениями, XML обработки)
* Математические операции
* Обработка исключений
* Язык Характеристики (размышления, стек следа, динамический код)
Framework Class Library (FCL) реализуется на разных платформах ( Windows, Linux, MacOS, ...  ).
Таким образом, одной программы, которая использует Framework Class Library (FCL) могут быть разработаны без значительных знаний о различиях между целевой платформы.
Framework Class Library (FCL) содержит полезные модели фундаментальных концепций вычислительной техники (как, например, «нитки, розетка, поток» и т. д.).
В смысле, Framework Class Library (FCL) дает каждой поддерживаемой операционной системы, современные, на высоком уровне, в соответствии программный интерфейс.
Framework Class Library (FCL) является одной из самых передовых комплексных, равномерно продуманных, хорошо документированная коллекций функций и типов данных доступна для программистов.
К сожалению, следующие аспекты мультимедиа не являются частью Framework Class Library (FCL): аудио-запись, воспроизведение аудио-, видео-записи, воспроизведения видео, 3D-рендеринга, джойстик ввода, устройства контроля ( CD/DVD, ...  ) и т.д.
Microsoft имеет .NET версию DirectX библиотек для их Windows операционной системы.
Есть C# обертки для OpenGL, OpenAL, GLUT, SDL и т.д., но это не совсем удобно, как и в том случае, мультимедийные функции будут включены в основной Framework Class Library (FCL) и включены в конечного пользователя «во время выполнения» библиотек.
Одна из проблем разработки программ, использующих частности библиотеки заключается в том, что в набор конечных пользователей, требующих поддержки отдельных библиотек.
Если это не так удобно, чтобы загрузить и установить необходимые библиотеки, конечного потребителя, возможно, отказаться от использования программы, требующие этих библиотек.
Конечному пользователю, возможно, также не хотят ждать библиотеке для скачивания из сети компьютер.
Если разработчик программы требует конечного пользователя для поиска, приобретения и установки библиотек, всех, без помощи со стороны конкретной программе, а затем конечному пользователю, возможно, отказаться от использования программы.
Например, многие из открытых источников проекты требуют конечных пользователей, чтобы найти, скачать и установить, много различных библиотек из других открытых источников проектов (примеры: openssl, zlib, libpng, libjpg, glut, ...), который раз трудоемким, сложным, разочарование, и может привести к конечным пользователям выбор для поиска альтернативных программ или продуктов.
«Windows Update» службы по всей видимости, позволяет развертывать версия 1.1 из .NET время выполнения библиотеками Windows пользователей.
Это время выполнения библиотеки, включенные в Windows XP операционной системы.
Поэтому, создавая Windows программ, которые требуют .NET 1.1 кажется вполне разумным.
Кроме того, во время выполнения библиотеки для Microsoft's реализаций .NET Framework Class Library (FCL) могут быть перераспределены свободно, так что разработчики могут предоставлять эти библиотеки для конечных пользователей, которые еще не имеют библиотек.
Windows Vista операционная система поставляется с .NET 3.0 время выполнения библиотек (сочетание .NET Framework Class Libraries и несколько новых библиотек, таких, как «Windows Presentation Foundation» (WPF)).
Поэтому, развернув .NET 2.0 и .NET 3.0 программы для Windows Vista не требует установки на .NET время исполнения библиотек.

1.2 Intermediate Language (IL)

Intermediate Language (IL) является небольшой набор простых, процессор-независимый, операционной системой-независимые инструкции, которые являются достаточными, чтобы полностью выразить структур данных и функций разных высокого уровня языков программирования ( C++, C#, F#, Visual Basic, Java, Ocaml, ...  ).
Исходный код написан на высоком уровне языка может быть собран до «Intermediate Language» соответствующей форме.
Кодекс в «Intermediate Language» форма может быть легко сочетаться с другими кодами в «Intermediate Language» форме.
Компьютерная программа (также называется «программное обеспечение),» может включать в себя исходный код написан на нескольких различных высоком уровне языков (например, C#, C++ и Visual Basic).
Все исходный код может быть собран (в пересчете) в формате «Intermediate Language» для обеспечения легкого комбинирования с другими составлено кода.
Передачи в «Intermediate Language» форме, как правило, преобразуется в машинно-конкретные инструкции (например, CPU инструкции) очень незадолго до исполнения (например, «Just-In-Time» (JIT) конверсии IL к CPU инструкции).
Но программа также может быть выполнен в контексте Virtual Machine (VM) целью интерпретировать Intermediate Language (IL) инструкции.
Кода, написанного в различных высокого уровня, языков ( C#, F#, Ocaml, C++, Visual Basic, ...  ), может быть собран на Intermediate Language (IL) форме с использованием соответствующего компилятора на любой поддерживаемой платформы ( Windows, Linux, MacOS X, ...  ), и в результате файл, со встроенными Intermediate Language (IL) кода, является платформо-независимым и может выполнить на любой платформе, имеющих осуществление .NET Common Language Runtime (CLR).
Intermediate Language (IL) код сгенерирована компилятор в основном зависит от платформы, на которой компилятор был казнен.

1.3 Common Language Runtime (CLR)

Common Language Runtime (CLR) является механизм отвечает за исполнение код, представленный в Intermediate Language (IL) форме.
Common Language Runtime (CLR) предоставляет различные услуги.
Common Language Runtime (CLR) мая конвертировать Intermediate Language (IL) код с инструкциями, которые к родной платформе (например, CPU инструкции).
Переход от Intermediate Language (IL) для конкретной платформы (например, CPU специфику) инструкций может произойти в любой заранее исполнения (то есть, «Ahead-Of-Time» (AOT) преобразование), или может случиться так, постепенно, как выполняется программа (то есть, «Just-In-Time» (JIT) преобразование) .
Just-In-Time (JIT) переходов можно использовать статистические данные о меняющихся выполнения программы динамически оптимизировать код преобразуется (например: выявление часто используемых петель и филиалов, и оптимизировать их в соответствии со наблюдается поведение (которое, в свою очередь, зависит от текущих данных и событий)).
Common Language Runtime (CLR) управляет памятью, выделенных по имени программы.
Таким образом, CLR гарантирует, что программа вовсе не для доступа к памяти, выделенных в то время как ссылки на такую память сохраняется, и гарантирует, что память ассигнований отменяются, и что память становятся доступными для получения в будущем ассигнований после программы распоряжается все ссылки на такие ассигнования .
Common Language Runtime (CLR) определяет, когда программа уже не касается распределения памяти, и распределения памяти помечен для deallocation.
Common Language Runtime (CLR) использует любой из различных алгоритмов «сбора мусора» (пример: «mark-and-sweep») выявлять и проводить рекультивацию блоков памяти больше не доступна для программы.
Common Language Runtime (CLR) программа обрабатывает исключения.
Common Language Runtime (CLR) обеспечивает соблюдение политики безопасности.
Common Language Runtime (CLR) «P/Invoke» использует механизм для загрузки платформы конкретной библиотеки и ссылаться (звонок) функций в рамках этих библиотек.

2. .NET ( FCL, IL, CLR ) реализаций путем Microsoft

2.1 Введение

.NET парадигмы ( FCL, IL, CLR ) была осуществлена путем Microsoft.
Последняя версия «3.0», был освобожден в 2006.10.
.NET 3.0 состоит из .NET 2.0 Framework Class Libraries и несколько новых библиотек, как, например, «Windows Presentation Foundation» (WPF), связанных с «Silverlight» (бывший WPF/E, ранее Sparkle, ...) плагин для браузера Firefox и Internet Explorer.
Microsoft делит .NET 2.0 программного обеспечения в двух различных пакетов:
(1) .NET Framework Version 2.0 Redistributable Package
Распространяемых пакета требуется конечным пользователям запускать программы построены для .NET парадигмы.  Этот пакет должен быть также установлен разработчиками перед установкой и использованием .NET Software Development Kit (SDK), указанных ниже.
(2) .NET Framework Version 2.0 Software Development Kit
Разработка программного обеспечения комплект (SDK) требуется разработчикам C# компилировать исходный код Intermediate Language (IL) программные файлы.
Этот пакет содержит различные инструменты разработки и документация.

2.2 .NET Framework Version 2.0 Redistributable Package

Распространяемых пакета требуется конечным пользователям запускать программы построены для .NET парадигмы.
Этот пакет должен быть также установлен разработчиками перед установкой и использованием .NET Software Development Kit (SDK), указанных ниже.
Следующие Интернет-страница .NET главной странице загрузки:
http://msdn.microsoft.com/netframework/downloads/updates/default.aspx
Раздел называется «.NET Framework Version 2.0 Redistributable Package» есть ссылки на три аппаратные платформы: «Download x86 version», «Download x64 version», «Download IA64 version».
Например, после «Download x86 version» ссылка ведет на страницу под названием «Microsoft .NET Framework Version 2.0 Redistributable Package (x86)»
(Имя файла: dotnetfx.exe; Версия: RC1; Дата размещения: 3/22/2006; Язык: английский; Размер загружаемого файла: 22.4 MB)
Локально кэшированную версию (только для справки; потенциально устаревшие):
microsoft_dot_net_runtime_libraries_v2_0.exe
.NET Framework Version 2.0 Redistributable Package
23510720 байт
MD5: 93a13358898a54643adbca67d1533462
(Имя файла было изменено сюда из исходного файла имя «dotnetfx.exe», чтобы избежать путаницу с версии 1.1 установки также назначил «dotnetfx.exe».)

2.3 .NET Framework Version 2.0 Software Development Kit (SDK)

Разработка программного обеспечения комплект (SDK) требуется разработчикам C# компилировать исходный код Intermediate Language (IL) программные файлы.
Этот пакет содержит различные инструменты разработки и документация.
Следующие Интернет-страница .NET главной странице загрузки:
http://msdn.microsoft.com/netframework/downloads/updates/default.aspx
Раздел называется «.NET Framework Version 2.0 Software Development Kit» есть ссылки на три аппаратные платформы: «Download x86 version», «Download x64 version», «Download IA64 version».
Например, после «Download x86 version» ссылка ведет на страницу под названием «.NET Framework 2.0 Software Development Kit (SDK) (x86)»
(Имя файла: setup.exe; Версия: 2.0; Дата размещения: 11/7/2005; Язык: английский; Размер загружаемого файла: 354.0 MB)
Локально кэшированную версию (только для справки; потенциально устаревшие):
microsoft_dot_net_sdk_v2_0.exe
.NET Framework Version 2.0 Software Development Kit (SDK) (x86)
371230904 байт
MD5: 1a52cb6000c4390b6265671e031f9d64
(Имя файла было изменено сюда из исходного файла имя «setup.exe», чтобы избежать путаницу в его распоряжение все другие установки файлов с именами «setup.exe».)

3. Microsoft Visual C#: Integrated Development Environment (IDE) программа

3.1 Введение

Integrated Development Environment (IDE) программа позволяет разработчику изменять исходный код и выполнять различные инструменты (примеры: компилятор, отладчик, ...) в контексте единой, объединяющей программу, заполненные полезными визуальные признаки и контроля.
«Microsoft Visual C# 2005 Express Edition» это не затраты (оплата не требуется) IDE доступны для скачивания с Microsoft.
По не-создание баз данных, практически невозможно отличить-это не стоимость товара из розничной коллегой, «Microsoft Visual C# 2005».
Я часто использовать оба продукта, профессионально и recreationally, и я еще не заметили никакой практической разницы между продуктами.
microsoft_vcsharp_2005_express_ide.gif

3.2 Официальные ссылки

Интернет-сайт Главная страница:
http://msdn.microsoft.com/vstudio/express
Страница о «Visual C# Express Edition»:
http://msdn.microsoft.com/vstudio/express/visualcsharp
Нажмите кнопку «Download Now» на правой стороне страницы, чтобы выбрать опцию загрузки.
(Один из методов заключается в том, чтобы запустить программу установки, которая скачивает файлы из Microsoft в ходе каждой установки.
Второй способ заключается в том, чтобы скачать полный CD-ROM «ISO» изображения, что позволяет в будущем автономной установки.
ISO изображение, «VCS.iso» (451,837,952 байтов; CRC 55884F2C) для 32-битных x86 английском языке, может быть сожжена CD-ROM используя «Nero 7 Ultra», например.  )

4. .NET ( FCL, IL, CLR ) осуществления Mono Project

4.1 Введение

.NET парадигмы ( FCL, IL, CLR ) была осуществлена участниками группы, известной как Mono Project.

4.2 Официальные ссылки

Проект сайта:
http://www.mono-project.com
Программное обеспечение страницу загрузки:
http://www.mono-project.com/Downloads

4.3 Локально кэшированную версию

Локально кэшированной версией программы установки (только для справки; потенциально устаревшие):
mono-1.2.4-gtksharp-2.8.3-win32-3.exe
Mono 1.2.4 with Gtk# 2.8.3 Installer for Windows 2000 and above
51323790 байт
MD5: 95cbd476c0555a9a40f47e58e2283cbe

4.4 .NET 2.0 развития с Mono

«mcs» компилятор и документацию, по состоянию на ноябрь 2006, в основном относятся к C# 1.0 и FCL 1.1.
Вместе с тем, «mcs» компилятор способен составить C# 2.0 код, который не содержит генерические или на основе общих характеристик, но и ограничивает API к 1.0.
Чтобы сделать полный C# 2.0 развития с FCL 2.0 библиотек, использование «gmcs» компилятор.
Смотрите на следующей странице Mono сайте:
http://www.mono-project.com/CSharp_Compiler

5. SharpDevelop: с открытым исходным Integrated Development Environment (IDE) программа

5.1 Введение

Integrated Development Environment (IDE) программа позволяет разработчику изменять исходный код и выполнять различные инструменты (примеры: компилятор, отладчик, ...) в контексте единой, объединяющей программу, заполненные полезными визуальные признаки и контроля.
SharpDevelop является отличным, открытым исходным IDE программа для C# / .NET развития.
Это IDE тесно напоминает Microsoft Visual C# IDE, а в некоторых отношениях, SharpDevelop IDE улучшилось после Microsoft продукта.
Вместе с тем, Microsoft Visual C# имеет некоторые особенности (например: отладка), что SharpDevelop программа не имеет (на момент написания этой статьи).
sharp_develop_2_ide.gif

5.2 Официальные ссылки

Интернет-сайт простой главной странице:
http://www.sharpdevelop.com
Страница о «The Open Source Development Environment for .NET»:
http://www.sharpdevelop.com/OpenSource/SD/Default.aspx
Загрузить страницу, которая имеет сведения о 1.1 и 2.0 версии SharpDevelop:
http://www.sharpdevelop.com/OpenSource/SD/Download

5.3 Локально кэшированную версию

Локально кэшированной версией программы установки (только для справки; потенциально устаревшие):
SharpDevelop2_2.0.1.1710_Setup.exe
SharpDevelop2 (2.0.1.1710)
4338287 байт
MD5: 6626832c202a6c25a399c9e9081f20d4

6. Полезные C# / .NET / IL инструменты

6.1 SciTech Software «.NET Memory Profiler»

dot_net_memory_profiler_graph.gif
dot_net_memory_profiler_table.gif
Это показывает профайлер памяти ассигнований и других ресурсов, которые составляются .NET программу или сборки делает в то время как исполнителями.
В реальном времени график позволяет видеть лицо, в деталях, каким образом действия программы (такие, как меры вызваны, вводимого пользователем или иных событий) влияют выделения памяти и сбора мусора.
В реальном времени просмотреть список таблица позволяет лицу, чтобы узнать подробности о памяти ассигнований.
Это профайлер мгновенно, и резко, показало, расточительного использования памяти в реальном масштабе времени Direct3D программу я разработал.
Модель вертикального пандусы и неожиданных капель (из-за «вывоз мусора)» в памяти графиков соответствует абсолютно с периодическим, очень кратко-паузы в 3D чертеж моей программе.
Профайлер позволили мне узнать о том, что частые выделения временных объектов накапливаются много памяти, вызвав сбора мусора часто, и принимая достаточно времени для каждого сбора мусора наносить рисунок несколько периодов будет упущена.
Профайлер в режиме реального времени таблицы выделенных типов объектов показало, типы объектов, которые потребляются самые память, и какие ассигнования потребляемой памяти на высокой ставкой (байт в секунду), и которые ассигнования были высокие темпы утилизации.
Обучение в режиме реального времени графики, и в режиме реального времени столы, позволили мне сосредоточиться на изучении того, каким образом определенных типов данных, используются в моем коде.
Изменение кода, чтобы избежать частых выделении временных объектов может значительно снизить общий уровень выделения памяти и удаления, и поэтому может снизить частоту сбора мусора вызывает.
(Я считаю, «Bytes/sec» является очень раскрывая статистику в реальном масштабе времени использования памяти, в дополнение к «Live instances».
) Видя все это время обновляется очень быстро в табличном формате, а также возможность выбирать, каким образом строки будут упорядочены и изменение параметров сортировки в любой момент, делает опыт обучения в режиме реального времени программа очень интересным и содержательным.
Память распределение ответов на взаимодействие с пользователем работает программа может быть изучено, и тестирование может быстро адаптироваться к обратной связи сузить наиболее интересный аспект.
http://memprofiler.com/download.aspx
(Например, 2006 July версия имеет следующие атрибуты: версия 2.6.89; 4.3 MB; USA $127.00; Скачать 14 дней ограничить версию, без каких-либо затрат для оценки.)

6.2 FxCop: .NET код анализатор / критик

FxCop анализирует программу составлено .NET (или составлено собраний) и генерирует доклад перечень возможных проблемах, связанных с первоначальным исходным кодом.
Возможные проблемы эффективности и безопасности, проблемы выявлены.
Возможные кодирования конвенции нарушения выявлены.
FxCop не требует доступа к оригиналу кода для выполнения анализа.
Только составлено .NET программы (которая содержит IL) обязательна.
Тем не менее, FxCop доклад содержит гиперссылки на конкретные номера строк в первоначальный исходный код.
Если Microsoft Visual C# 2005 IDE активен, нажав на ссылку в FxCop доклад вызовет IDE на деформацию к соответствующим исходного файла и номер строки.
FxCop имеет, на мой взгляд, довольно неловко способа интеграции с Microsoft Visual C# 2005 IDE.
Однако, как только он будет создан, FxCop производит очень интересные и потенциально ценный доклад.
Доклад содержит подробные рекомендации о том, как улучшить первоначальный исходный код.
Я думаю, что это целесообразно проанализировать программу, используя FxCop на периодической основе.
Я бы не удивляйтесь, если некоторые программы и проекты в области развития бизнеса требует от всех кода, написанного разработчиками не давать предупреждения или критические замечания по FxCop.
Правила могут быть добавлены или удалены из базы данных FxCop, в зависимости от потребностей.
FxCop является открытым исходным кодом, бесплатная программа.
http://www.gotdotnet.com/team/fxcop

6.3 «Reflector for .NET»: декомпилятор / анализатор

С Lutz Roeder's Интернет-сайт:
"Reflector is the class browser, explorer, analyzer and documentation viewer for .NET. Reflector allows to easily view, navigate, search, decompile and analyze .NET assemblies in C#, Visual Basic and IL."
«Reflector» может помочь человеку изучить, каким образом сторонних библиотек написаны.
Иногда это было бы очень полезно знать, как именно метод сборки выполнена.
Если метод ведет себя неожиданным образом или таинственное, а затем «Reflector» может быть использован, чтобы осуществление.
К увидеть осуществление, программист может обойти проблемы, порожденные конкретной реализации библиотеки методов.
Друг рассказал мне о том, что «Reflector» помог ему получить дополнительную информацию о поведении плохо документированных методов в Microsoft осуществления Framework Class Libraries (FCL).
«Reflector» может быть полезна при документации для библиотеки метода состоит только несколько слов, как, например, «определяет ценность» или «события.»
Если библиотечные функции вызова не удается по неизвестной причине (когда все параметры, как действительной), а затем, используя «Reflector» взглянуть на осуществление функции библиотеки могут выявить причину неудачи.
«Reflector» выполняет некоторые «обратной инженерии» .NET программу или собраний.
Прочие коммунальные услуги, включая, возможно, «Reflector» себя, можно получить исходный код программ или собраний построен на основе obfuscated исходным кодом.
Это, безусловно, источником беспокойства для некоторых разработчиков, и их инвесторов.
http://www.aisto.com/roeder/dotnet
(2006 July: Reflector.zip была версия 4.2.45.0)

7. Интернет-форумах

Google поиска файлов, лучший способ найти ответы на конкретные вопросы на любую тему, но многократно ниже сайты появляются в результатах поиска по C# и .NET вопросы.
Сайты ниже огромная для изучения многих вещей здорово люди сделали с C# и .NET.
«The Code Project» сайт тысячи интересные и полезные статьи, для C#, C++, и другими языками программирования и парадигмы.
http://www.codeproject.com
«MSDN Code Gallery» сайте много интересных статей и образцы кодов, связанных с Microsoft технологий.
http://code.msdn.microsoft.com
Другие Интернет-сайтов, связанных с C# и .NET:
http://www.c-sharpcorner.com
http://www.dotnetfun.com
http://www.programmersheaven.com

8. Общие замечания

8.1 Платформа независимости

Intermediate Language (IL), как Java «байт-код,» платформо независимым.
Любое .NET-совместимый компилятор сгенерирует платформы Intermediate Language (IL) код в виде программ или ассамблей.
Передачи Упаковка исполняемых файлов (файлы «*.exe») должен иметь некоторые платформы в зависимости от конкретного кода для операционной системы, для целей время правильно толковать и запущен в качестве исполняемого программного обеспечения в контексте операционной системы.
Тем не менее, родной части исполняемый файл только программное обеспечение служит для вызова .NET CLR двигателя, представив IL код, содержащийся в файл для программного обеспечения исполнения CLR двигателя.
Microsoft предлагает осуществление .NET коммунальные услуги (компилятор, ...), и осуществления Framework Class Library (FCL), то только для Windows операционной системы.
Mono Project предлагает реализаций .NET коммунальные услуги (компилятор, ...), и реализации Framework Class Library (FCL), для следующих операционных систем: Windows, Linux, MacOS X и BSD.

8.2 Скорость по сравнению с non-CLR C / C++

Common Language Runtime (CLR) аспект .NET является контекст, в котором C# программа выполняется.
CLR осуществляет «сбор мусора» и программ позволяет ссылаться на функции в «неуправляемых» библиотек (всех библиотек не были осуществлены в Intermediate Language (IL)).
Любая функция делает больше, чем чистая математика, чистая строка манипуляции, или чистая память копирования, будет ссылаться на «неуправляемых» функций в библиотеках.
Все операции с файлами, розетка операции, используя операции, операции ввода (мышь, клавиатуру), вывода операций (консоль), платформа нить операции, точность таймера операций, операций по оконной и т.д., будут ссылаться на «неуправляемых» функций в «библиотеках.»
К сожалению, механизм применения «неуправляемых» функций из CLR требует значительного времени.
Таким образом, общая скорость исполнения программы в контексте CLR является noticably медленнее, чем программа, которая может ссылаться на «неуправляемых» функций напрямую.
Для некоторых типов программного обеспечения, скорость может быть важным.
Для некоторых типов программного обеспечения, скорость может внести важные различия в субъективных или психологический опыт для лица с использованием программного обеспечения.
Для некоторых типов программного обеспечения, скорость может внести разницу между достижением цели, и неудачи.
Многопоточность, увеличивая CPU скоростью, и улучшения в CLR генерации кода объекта, поможет программное обеспечение исполнения в контексте CLR выполнять быстрее.
Однако любой код, который выполняется вне CLR, и ссылается на платформе библиотек напрямую, неизбежно будет выполнять значительно быстрее, чем программное обеспечение, которое выполняет в контексте CLR.
Заверений, сделанных CLR к C# программного обеспечения, таких как безопасное преодоление разрыва между управляемый код и неуправляемых код, заходит на расходы, которые вряд ли будут сокращены.
Таким образом, любая программа, которая очень интенсивные платформы (примеры: 3D моделирования или игры, файл процессоров, сетевых серверов и т. д.) может выполнить порядок быстрее, вне CLR, чем тогда, когда исполнение в течение CLR.
Разница огромна.
Кроме того, любая программа, которая выполняет значительный объем низкого уровня манипулирования данными будет выполнять значительно быстрее за CLR чем в течение CLR.
Передачи исполнителями в контексте CLR выполнить достаточно быстро, чтобы быть полезным для многих практических целей.
Как CPU скоростью увеличиваться, и принимает код, как лучше использовать несколько CPUs, программ-исполнителей в контексте CLR можно будет использовать для более задач, которые требуют высокого уровня вычислений.
Однако в середине 2008 CLR до сих пор не подходят для 3D игр любой сложности, если только очень агрессивные усилия по уменьшению числа звонков с функцией 3D библиотеки (OpenGL или Direct3D), возможно, используя такие понятия, как «шейдеров программ» и «отображения списков;» ничего сократить число функций звонков.
colinfahey.com
контактная информация
English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية