11. Исполняемые файлы. Динамические библиотеки (DLL) - структура, использование. Смешанные сборки (mixed DLL).
Исполнимый (исполняемый) модуль, исполняемый файл (англ. executable file) — файл, содержащий программу в виде, в котором она может быть исполнена компьютером. Перед исполнением программа загружается в память, и выполняются некоторые подготовительные операции (настройка окружения, загрузка библиотек).
Обычно, в исполняемом файле данные (информация) хранятся в каком-либо формате (например, ELF; см. список) и состоят из нескольких частей:
- заголовки;
- инструкции (код);
- другое.
DLL (англ. Dynamic Link Library — «библиотека динамической компоновки», «динамически подключаемая библиотека») в операционных системах Microsoft Windows и IBM OS/2 — динамическая библиотека, позволяющая многократное использование различными программными приложениями. K DLL относятся также элементы управления ActiveX и драйверы. В системах UNIX аналогичные функции выполняют так называемые общие объекты (англ. shared objects).
Формат файлов DLL придерживается тех же соглашений, что и формат исполняемых файлов, сочетая код, таблицы и ресурсы, отличаясь лишь интерпретацией некоторых полей.
Смешанные сборки могут содержать как инструкции неуправляемого машинного кода, так и инструкции языка MSIL.Это позволяет им вызывать и быть вызванными компонентами .NET и при этом оставаться совместимыми с полностью неуправляемыми компонентами.С помощью смешанных сборок разработчики могут создавать приложения, используя сочетание функциональных возможностей управляемого и неуправляемого кода.Благодаря этому смешанные сборки являются идеальными для переноса существующих приложений Visual C++ на платформу .NET.