Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Отличие CLR от Win32


Автор: 666TEHb666 23.11.2008, 10:17
Задал этот вопрос в теме для новичков,но спустя несколько дней ответа не последовало,поэтому прошу извинить за дубляж.Попытаю счастья в этом разделе.

Не могу разобраться чем принципиально отличаются приложения CLR и Win32. Например,существуют массивы среды CLR с совершенно другим синтаксисом чем в Win32. Да и вообще, синтаксис отличается от стандартного. Зачем это нужно?Какие преимущества, если они есть?Помогите разобраться с терминами,а то путаница какая-то,на места бы все расставить))

P.S. Надеюсь хоть кто-нибудь поможет..

Автор: jonie 23.11.2008, 13:09
встречный вопрос: чем отличается носорог от велосипеда ?

я даже не удивлен что вам не ответили... вы не понимаете что такое CLR и что такое бинарный код для процессора? почитайте книжки про .NET - глава 1 (или введение). там все подробно расписано.

Автор: SABROG 23.11.2008, 14:37
Форматом исполняемого файла. В нем содержатся не команды процессору, а команды, которые придумала microsoft для виртуальной машины, которая в итоге преобразует их в команды процессору и вызовы API ОС.

Эмуляторы приставок - яркий пример. Они эмулируют работу микропроцессоров приставок, вместо того, чтобы подсовывать процессору машинные коды, предназначенные не для процессоров семейства PC.

На мой взгляд это тоже самое что:
- пишем текстовый файл с исходником
- компилируем
- запускаем скомпилированную программу

Текстовый файл - байткод. Компилятор - виртуальная машина. С той лишь разницей, что скомпилированная программа может запускаться на машинах без компилятора/виртуальной машины, в то время как программы для CLR - нет. Также как и swf (флеш) файлы не будут работать без плагина adobe.

Автор: Tobuk 23.11.2008, 14:49
Используя CLR можете забыть о кроссплатформенности.

Автор: 666TEHb666 24.11.2008, 19:51
Цитата

я даже не удивлен что вам не ответили

jonie, я потому и задал вначале вопрос в разделе для новичков,потому что первый раз столкнулся с технологией .NET.Начав изучать,немного запутался и попросил всего лишь объяснить принципиальное отличие. Если вас так задел мой вопрос могли проигнорировать его,как это делал другие.. 

SABROG,спасибо что не сочли этот вопрос унизительным и ответили достаточно понятно.

Если еще не затруднит,то хотелось бы уточнить,что 
Цитата

В нем содержатся не команды процессору, а команды, которые придумала microsoft для виртуальной машины
 этот язык называется Microsoft Intermediate Language (MSIL) и создавался он в первую очередь для совместимости различных языков программирования,поддерживающихся платформой VS .NET?Это так?

Автор: Annihilator 24.11.2008, 20:23
Цитата(Tobuk @  23.11.2008,  18:49 Найти цитируемый пост)
Используя CLR можете забыть о кроссплатформенности.

Это ещё почему?

Автор: Alexeis 24.11.2008, 21:07
Цитата(Tobuk @  23.11.2008,  13:49 Найти цитируемый пост)
Используя CLR можете забыть о кроссплатформенности. 

  Очень спорно. Mono это CLR на нем пишутся кросплатформенные проги. Кроме того переносимо на CF2 (Compact Framework WinCE). Кроме того разные версии винды побоку, главное какая версия фреймворка. 

Автор: 666TEHb666 28.11.2008, 15:48
Всем спасибо за ответы - вопрос решен

Автор: mrbrooks 28.11.2008, 16:48
Цитата(Tobuk @  23.11.2008,  14:49 Найти цитируемый пост)
Используя CLR можете забыть о кроссплатформенности. 

ммм. обоснуй.

Автор: dark_religion 30.11.2008, 10:12
Шас получу - 1 очко опять) Обожаю праграмистав) Вместа атвета на вапрос) Они гаварят - иди учись, а на вапрос кто отвечать будет???? 

Цитата

вы не понимаете что такое CLR и что такое бинарный код для процессора? 


По моему именно об этом он и говорит и просит объяснить? Вам, что надо повторять вопрос по два раза ? Где ответ? почитайте книжки??? Книжки он и без вас почитает! По моему если кому-то и надо учится так это вам) ПОнимать вапросы)

ЗЫ. АЙПИ ДИНАМ) НИК РОЛИ НЕ ИГРАЕТ) 

Автор: MAKCim 30.11.2008, 11:40
Цитата(SABROG @  23.11.2008,  14:37 Найти цитируемый пост)
Форматом исполняемого файла. В нем содержатся не команды процессору, а команды, которые придумала microsoft для виртуальной машины, которая в итоге преобразует их в команды процессору и вызовы API ОС.

формат как раз PE
только в качестве динамического компоновщика (аналог ld.so в Linux) в нем указыватся dll, которая реализует CLR
т. е на вход ядро получает PE, отображает dll и передает ей управление
тут полная аналогия со скриптом и интерпретатором

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)