Главная » Просмотр файлов » Нэш Трей - C# 2010. Ускоренный курс для профессионалов (2010)

Нэш Трей - C# 2010. Ускоренный курс для профессионалов (2010) (1160865), страница 7

Файл №1160865 Нэш Трей - C# 2010. Ускоренный курс для профессионалов (2010) (Нэш Трей - C# 2010. Ускоренный курс для профессионалов (2010)) 7 страницаНэш Трей - C# 2010. Ускоренный курс для профессионалов (2010) (1160865) страница 72019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 7)

Ковариантность такого типа всегда поддерживалась для массивов, однако, она нарушена. В главе 11 содержится раздел, в котором детально рассматриваются сложности, связанные с поддержкой ковариантности и контравариантности в С№ 4.0. Резюме В этой главе я коснулся высокоуровневых характеристик программ, написанных на С№: весь код компилируется в 1Ь вместо "родных" машинных инструкций определенной платформы. Вдобавок в СЬК реализован сборщик мусора ГОС) для управления распределением и освобождением памяти, избавляя программистов от необходимости беспокоиться о наиболее распространенных ошибках при разработке программного обеспечения, связанных с неправильным управлением памятью.

Однако, как в большинстве инженерных компромиссов, возникают и другие аспекты 1читай: сложности) управления памятью и ресурсами, которые может привнести ОС в определенных ситуациях. На традиционном примере программы "Не!1о йГог!сИ" было кратко продемонстрировано удобство применения пространств имен, народу с тем фактом, что язык С№ лишен любого рода синтаксиса включения, который имеется в С++. Вместо этого все внешние типы включаются в компиляцию через метаданные, представляющие в развитом описательном формате типы, содержащиеся внутри сборки. Таким образом, метаданные и скомпилированные типы всегда находятся в одном пакете. Обобщения открыли огромную новую область разработки, с которой вам придется иметь дело, изучая и разрабатывая искусные трюки ее применения в течение нескольких следующих лет. Некоторые из этих трюков могут быть позаимствованы из мира шаблонов С++, но не все, поскольку эти две концепции фундаментально отличаются.

Итераторы и анонимные методы предоставляют лаконичный способ выражения распространенных идиом, таких как перечисления и методы обратного вызова, а поддержка объявления частичных типов внутри С№ облегчает работу с кодом, автоматически генерируемым инструментальными средствами. Версии С№ З.О и С№ 4.0 предлагает множество новых впечатляющих средств, позволяющих очень легко испольэовать приемы функционального программирования с минимальными накладными расходами. Некоторые из этих новых средств увеличивают удобство программирования на С№.

Язык Ыг1Я предоставляет гладкий механизм, играющий роль моста между миром хранилищ данных и объектно-ориентированным миром. В следующей главе кратко раскрываются некоторые детали, касающиеся процесса компиляции,ЛТ. Дополнительно будет описана внутренняя организация сборок и содержащиеся в них метаданные. Сборки — это базовые строительные блоки приложений С№, аналог ОЬЬ-библиотек из мира "родных" приложений 1Ч1пбо~чз. глдвА 2 си и сьев К ак упоминалось в предыдущей главе, управляемые приложения и "родные" приложения имеют много различий — главным образом потому, что управляемые приложения выполняются внутри М!сгоэой СЬН. Среда СЬН (Сошпюп Ьапяцаяе Ешппше— общеязыковая исполняющая среда) — это виртуальная исполняющая система (тгьтца) Ехесццоп Зузтеш — Ъ'ЕБ).

реализующая СЫ. В СЬН предоставляется множество удобных средств для управляемых приложений, включая, помимо прочего, четко налаженный сборщик мусора для управления памятью, уровень безопасности доступа к коду, развитую самоописательную систему типов. В этой главе будет показано, как среда СЬЯ компилирует, упаковывает и выполняет программы С№. На заметку! Углубленное изучение СЬВ выходит эа рамки тематики настоящей книги, поскольку внимание здесь сосредоточено в основном на концепциях и использовании С№. Тем не менее, рекомендуется изучить СЬН более потзэобно. Всегда лучше знать и понимать целевую платформу, и в случае управляемых приложений на С№ такой платформой выступает .НЕТ СЬЯ. Для углубленного изучения СЬВ и всего, о чем будет говориться в настоящей главе, обратитесь к книге Дона Бокса (Ооп Вох) и Криса Селлса (Слпз Зе1)з) Евзепба) .ИЕТ, 1Го)игле 1: Тпе Сотглол Ьалдиаде Вил!зле (Або)зоп-ууез)еу Рго!езвюпа1, 2002 г.), а также к книге Эндрю Троелсена Язык программирования С№ 2008 н платформа .ИЕТ 3.5, 4-е издание (ИД "Вильямс", 2010 г).

Впоследствии вы сможете найти и много других, более специфичных и информативных книг по СЬВ. За полным освещением уровня СЬЯ, обеспечивающего полную функциональную совместимость с "родными" средами, такими как объекты СОМ и лежащая в их основе платформа, рекомендуется обратиться к книге Адама Натана (Абагп Иаулап) .ИЕТ апд СОМ: ТЬе Соглр(еге )пгегорегаЬ)!1(у йи)г(е (Вагпз, 2002 г). Тематике безопасности доступа кода .

НЕТ посвящена книга . ИЕТ Ргаглеиюг№ Весигйу, написанная Брайаном А. Ла Маччиа (Впал А. 1аМассща) и др. (Реагзоп Ебисабоп, 2002 г.). Поскольку ни один разработчик не должен игнорировать безопасность платформы при разработке новых систем, рекомендуется почитать книгу Кейта Брауна (Ке!ДЬ Вгоап) ТЬе .ИЕТ Оегеlорегз 6и(г!е !о И !пдоктз Весит!)у (Абфзопздез(еу Ргоlезэ(опа!, 2004 г). В настоящей главе предлагается высокоуровневое беглое описание механизмов, участвующих в процессе компиляции С№ и загрузке кода на выполнение. Как только код загружен, он должен быть скомпилирован в "родной" машинный код платформы, на которой он выполняется.

Поэтому очень важно четко понимать концепцию д!Т-компиляции. ЛТ-компилятор и С~В Код С№ компилируется в код на языке 1Ь, а 1Ь вЂ” это то, что обрабатывает СЬВ. Спецификация П. включена в стандарт СЫ. Чтобы посмотреть, как выглядит код 1Ь, можно загрузить приложение "Пе11о Утог!й!" (из главы 1) в программу дизассемблера 30 Глава 2 1п1еппед(а1е Ьапйиаде Р!ваззепгЫег (!ЬРАБМ], входящую в состав .

НЕТ БРК'. 1ЬРАБМ покажет древовидное представление типов данных иэ сборки. Кроме того, можно открывать индивидуальные методы и просматривать код 1Ь, который для них сгенерировал компилятор СЗ. Как видно в листинге 2.1, П. выглядит подобно языку ассемблера; по сути, это и есть язык ассемблера СЬК. Он называется 1Ь.

потому что является промежуточным шагом между определенным языком и определенной платформой. Листинг 2.1. Метод Ма1п в не11оИог16. еке нв замке 11. .еегсоо рггтаге ЬгдеЬуягд ясасгс тоад Ма1п О с11аапасеа .епггурогпт. 1/ Соае ягге 13 (Охо) .еахягасл 8 10 ОООО: пор 1Ь 0001: 1йясг "Не11о Иог1С!" 1Ь 0006: са11 тоге (аясог11Ь!Оуясеа.Сопяо1е::НгггеЬ1пе(ясггпд> ЬЬ ОООЬ: поР ЬЬ Ооос: гег !/ епо сг аегьос Епггуро1пг::Ма1п Среда СЬК вЂ” это не интерпретатор. Она не производит повторную трансляцию кода !Ь при каждом его выполнении.

Хотя на основе интерпретаторов существует немало гибких решений (таких, например. как интерпретатор дБсг(р! для сервера сценариев ЪЧпдотаз (1Ч пдогчз Бог(рцпя Ноз1)), обычно они не являются эффективными исполняющими платформами. СЬК в действительности компилирует код П. в машинный код, прежде чем выполнять его, те. осуществляет ЛТ-компиляцию. Этот процесс требует некоторого времени, но для каждой части программы это обычно означает лишь одноразовое понижение производительности на весь процесс. Как только код скомпилирован, СЬК сохраняет его и просто выполняет скомпилированную версию всякий раз, когда этот код понадобится вновь — почти так же быстро, как код, скомпилированный традиционным образом.

Хотя фаза ЛТ-компиляции добавляет сложности и изначально отражается на производительности, все же преимущества компилятора ЛТ в паре с СЬК могут перевесить затраты времени на ЛТ-компиляцию и в действительности соадать более аффективный код, чем у "родных" скомпилированных приложений. Ниже описаны причины. ° Управляемые приложения могут погпреблять меньше памялпа В общем случае (Ь код занимает меньше места в памяти, чем "родной" машинный код. Другтпш словами, рабочий набор управляемых приложений, те, количество страниц памяти, потребляемых приложением, обычно меньше, чем у "родных" приложений.

Приложив определенные усилия, мсокно сократить рабочий набор родного приложения до размеров. сравнимых с управляемыми приложениями, но благодаря СЬК это получается бесплатно. Получаемый вьппрыш может варьироваться из-за дополнительных расходов на управление структурами С!Я, метаданными сборок и прочими конструкциями, загружаемыми в память. Для небольших приложений управляемый код вместе с СЬК может потребить больше памяти, чем его "родной" аналог.

° о!Т-компиляции подвергается тполько пют код, который выполняегпсл. !Ь-код обычно более компактен, чем машинный код, поэтому сокращение компилируемого кода до минимума уменьшает образ памяти приложения. Средство 1ЬРАЯМ.ехе можно легко запустить в сеансе командной строки Ч(эиа( Б(иапо 2010. сз и с).)) 31 ° В результате ЛТ-компиляции получается высоко оппшмизироэанный код.

Характеристики

Тип файла
DJVU-файл
Размер
8,22 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Нэш Трей - C# 2010
Accelerated_C_2010-4565
3_syntax_overview
3_generics_1.cs
as_1.cs
boxing.cs
conversions_1.cs
implicit_type_1.cs
is_1.cs
references_1.cs
references_2.cs
references_3.cs
values_1.cs
4_classes_structs
4_abstract_classes_1.cs
4_beforefieldinit_1.cs
4_box_1.cs
4_box_2.cs
4_box_3.cs
4_box_4.cs
4_box_5.cs
4_class_definition_1.cs
4_compareto_1.cs
4_containment_example_1.cs
4_containment_example_2.cs
4_containment_example_3.cs
4_ctor_struct_1.cs
4_ctor_struct_2.cs
4_ctor_struct_3.cs
4_destructor_1.cs
4_destructor_2.cs
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7054
Авторов
на СтудИзбе
259
Средний доход
с одного платного файла
Обучение Подробнее