Исполнение кода сборки в платформе NET

в 18:19, , рубрики: Песочница, метки:

Как говорилось, управляемые модули содержат метаданные и программный код, написанный на языке IL. Это не зависящий от процессора машинный язык, разработанный компанией Microsoft после консультаций с несколькими коммерческими и академическими организациями, специализирующимися на разработке языков и компиляторов. IL — язык более высокого уровня по сравнению с большинством других машинных языков. Он позволяет работать с объектами и имеет команды для создания и инициализации объектов, вы­ зова виртуальных методов и непосредственно го манипулирования элементами массивов. В нем даже есть команды выбрасывания и перехвата исключений для обработки ошибок. IL можно рассматривать как объектно-ориентированный машинный язык. Обычно разработчики программируют на высокоуровневых языках, таких как С#, C++/CLI или Visual Basic. Компиляторы этих языков генерируют IL-код. Однако такой код может быть написан и на языке ассемблера, так, Microsoft предоставляет ассемблер IL (ILAsm.exe), а также дизассемблер IL (ILDasm.exe). Имейте в виду, что любой язык высокого уровня, скорее всего, использует лишь часть возможностей, предоставляемых CLR. При этом язык ассемблера IL открывает доступ ко всем возможностям CLR. В случае если выбранный вами язык программирования не дает доступа именно к тем функциям CLR, которые необходимы, можно написать часть программного кода на языке ассемблера IL или на другом языке программирования, позволяющем их задействовать. Единственный способ узнать о возможностях CLR, доступных при ис­ пользовании конкретного языка, — изучить соответствующую документацию. В этой книге сделан акцент на возможностях среды CLR и на том, какие из этих возможностей доступны при программировании на С#. Можно сделать предположение, что в других книгах и статьях среда CLR рассмотрена с точки зрения других языков и разработчики получат представление лишь о тех ее функциях, которые доступны при использовании описанных там языков. По крайней мере, если выбранный язык решает поставленные задачи, такой под­ ход не так уж плох.

Поделиться

* - обязательные к заполнению поля