Динамическая библиотека. DLL для Visual C#

Страницы работы

Содержание работы

Порядок выполнения л/р.

1. Изучить:

-  Харт, Глава 6

2. Ознакомиться

1.  MSDN Library - Windows Development - DLL, Processes, and Threads - SDK Documentation - Dynamic-Link Libraries

2.  MSDN. – Visual C++. – Adding Functionality. - Technologies and Techniques. – DLLs

3.  Джеффри Рихтер, Главы 19, 20. Созданиние эффективных приложений для Win32

4.  Джеффри Рихтер. Глава 1,2,3. Программирование на платформе .Net

3. Выполнить письменно ответы на подготовительные вопросы

4. Получить и выполнить индивидуальное задание. Задание включает:

Часть 1. Динамическая библиотека

-  разработать DLL, в которой содержится исполняемая функция

-  написать приложение, использующее возможность вашей DLL

-  привести выдержку из таблицы импорта

-  привести выдержку из таблицы экспорта

В отчёте привести основную часть из ключевых исходных файлов, выдержки из таблицы импорта, экспорта.

Часть 2. DLL для Visual C#

создать библиотеку с исполняемой функцией:

1)  File  - New - Project – Visual C# Project – Class Library

2)  добавить свою функцию в класс

3)  в результате компиляции получить myclass.dll

создать новое приложение и включить в него myclass.dll (операция проделывается на закладке Solution -> References, добавьте свою библиотеку)

В отчёте отразить ключевой исходный код библиотеки и код, использующий библиотеку.


Примечание:

·  Лабораторная работа выполняется индивидуально

·  Срок выполнения 1 недели

·  Защита группой 2-4 человек

Вопросы (письменно):

  1. Структура исходного файла DLL
  2. Механизм явной связи
  3. Механизм неявной связи.
  4. Структура функции входа/выхода.

Для защиты (устно):

  1. Перечислите недостатки монолитной модели исполняемого файла (3-4)
  2. Преимущества динамических подключаемых библиотек (5-10)
  3. Соотношение адресного пространства и динамической библиотеки.
  4. Этапы создания динамической библиотеки для неявной связи (load-time dynamic linking).
  5. Этапы создания динамической библиотеки для явной связи (run-time dynamic linking).
  6. Понятие отложенной загрузки динамической библиотеки.
  7. Способы экспорта функций (2 варианта) в среде Visual C++.
  8. Модификатор __declspec (2 варианта).
  9. Библиотека импорта (.lib). Примеры библиотек импорта.
  10. Процедура подготовки файла определения модуля (.def) и получения библиотеки импорта (.lib).
  11. Таблица экспорта. Понятие. Структура. Способ получения.
  12. Таблица испорта. Понятие. Структура. Способ получения.
  13. DLL_PROCESS_ATTACH & DLL_PROCESS_DETACH.
  14. DLL_THREAD_ATTACH & DLL_ THREAD _DETACH.
  15. Понятие C Run-time Library. Управление точкой входа исполняемого модуля.
  16. Сценарий исполнения кода для среды CRT.
  17. Функция  _DllMainCRTStartup.
  18. Функция [w]mainCRTStartup, [w]WinMainCRTStartup.
  19. Локальная память потока (TLS).
  20. Понятие и структура сборки в среде CLR.

Похожие материалы

Информация о работе

Тип:
Задания на лабораторные работы
Размер файла:
167 Kb
Скачали:
0