Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Компиляция CIL-кода с помощью ilasm.exe
Компиляция CIL-кода с помощью ilasm.exe
Сохранив измененный файл *.il, вы можете скомпилировать новый компоновочный блок .NET, используя для этого утилиту ilasm.exe (компилятор CIL). Возможно, вы удивитесь тому, что компилятор CIL имеет гораздо меньше опций командной строки, чем компилятор C#. В табл. 15.1 приводятся их описания.
Таблица 15.1. Опции командной строки ilasm.exe
Опция | Описание |
---|---|
/debug | Включает информацию отладки (такую как имена локальных переменных и аргументов, а также номера строк) |
/dll | Создает выходной файл" *.dll |
/exe | Создает выходной файл *.exe. Это значение устанавливается по умолчанию, поэтому его можно опустить |
/key | Компилирует компоновочный блок со строгим именем, используя заданный файл *.snk |
/noautoinherit | Запрещает автоматическое наследование типов класса из System. Object, когда конкретный базовый класс не определен |
/output | Указывает имя и расширение выходного файла. Если флаг /output не используется, имя выходного файла будет соответствовать имени первого исходного файла |
Чтобы откомпилировать обновленный файл simplehelloclass.il в .NET-файл *.exe, в командном окне Visual Studio 2005 выполните следующую команду.
ilasm.exe HelloProgram.il
Если все пройдет без сбоев, вы должны получить вывод, подобный показанному на рис. 15.1.
Рис. 15.1. Компиляция файлов *.il с помощью ilasm.exe
После этого вы сможете выполнить свое новое приложение. Достаточно очевидно, что теперь вместо сообщения в окне консоли вы должны увидеть окно Windows с вашим сообщением (рис. 15.2).
Рис. 15.2. Результат челночной технологии
- Роль CIL
- Роль peverify.exe
- Компиляция CIL-кода с помощью SharpDevelop
- Компиляция CIL-кода с помощью ILIDE#
- Повышение производительности приложений с помощью хранимых процедур
- Тестирование Web-сервиса XML с помощью WebDev.WebServer.exe
- Организация пользователей в группы с помощью ролей
- Глава 5 Агрессивные формы кода и борьба с ними
- Стиль написания исходного кода
- Обработка запросов с помощью PHP
- 9.1.4.2. Функции-оболочки: execl() и др.
- Анализ CIL-кода