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, ...), който е времето - потребители, сложно, frustrating, и може да доведе до крайни потребители избора за търсене на алтернативни програми и продукти.
В "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 не изисква installers за .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
В redistributable пакет се изисква от крайните потребители да изпълнява програми, построен за .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

В redistributable пакет се изисква от крайните потребители да изпълнява програми, построен за .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".
I често се използват и двата продукта, професионално и 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
Това profiler показва разпределението на паметта, както и други разпределения ресурс, че събирам .NET програма или устройство, докато прави изпълняващата.
В реално време графика дава възможност на дадено лице да видите по-подробно, как действията на програмата (например действия, пускани от приноса на потребителите или други събития) засяга разпределението на паметта и за събиране на отпадъци.
В реално време таблица регистрация оглед позволява човек да научите подробности за разпределението на паметта.
Това profiler мигновено, и драматично, разкри разточителното използване на паметта в реално време Direct3D програмата имах развита.
А тенденцията на повишаване на рампите и внезапно капки (поради "събиране на отпадъци)" в памет на графики удобно, съвпадащи с временни, много-кратки паузи в 3D съставяне на моята програма.
В profiler ми позволяваше да открием, че често разпределение на временни обекти е натрупване на много памет, пускащи често събиране на отпадъци, и като достатъчно време за събиране на отпадъци всеки да предизвика няколко съставяне периоди трябва да се пропуска.
В profiler на таблицата в реално време на разпределена обект видове разкри типове предмети, които консумират най-памет, както и отпуснатите средства, които се консумират паметта на най-високо ниво (байтове в секунда), както и отпуснатите средства, които са имали най-висок процент обезвреждане.
Обучение в реално време, графики, както и в реално време, маси, ми позволяваше да се съсредоточи върху изучаването на начина, по който някои типове данни са били използвани в моя код.
Промяната на код, за да се избегнат честите разпределението на временни обекти могат значително намаляване на общото ниво на разпределение на паметта и унищожаване, както и може да намали честотата на събиране на отпадъци задейства.
(Аз вярвам "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 е по мое мнение, доста awkward начин да се интегрира с Microsoft Visual C# 2005 IDE.
Въпреки това, след като той е създаден, FxCop произвежда едно много интересно и потенциално-ценен доклада.
Докладът съдържа подробни съвети за подобряване на оригиналния код.
Мисля, че е полезно да се анализира една програма използвате FxCop в периодичния основа.
Не бих се изненада, ако някои софтуерни проекти за развитие на бизнеса или изисква целия код, написани от разработчиците да не се добива предупреждения или критики от FxCop.
Правилата могат да се добавят или отстраняват от FxCop база данни, според нуждите.
FxCop е с отворен код, безплатна програма.
http://www.gotdotnet.com/team/fxcop

6.3 "Reflector for .NET": decompiler / анализатор

От 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" биха могли да бъдат полезни, когато документацията за библиотеката на метода се състои само няколко думи, като "определя стойността" или "събитие handler."
Ако библиотека функция позоваването е неуспешен за една неизвестна причина (когато всички параметри изглеждат валидни), а после използвайки "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 Speed сравнение с non-CLR C / C++

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