Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
моя записка.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
681.98 Кб
Скачать

35

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 5

1 АНАЛИТИЧЕСКИЙ ОБЗОР СОСТОЯНИЯ ВОПРОСА 6

1.1 Краткие сведения о DLL 6

1.2 Общие сведения о bmp - файлах 6

1.3 DIB и DDB файлы 7

1.4 Обзор структуры файла 7

1.4.1 BITMAPFILEHEADER 8

1.4.2 BITMAPINFOHEADER 8

1.4.3 Палитра 10

1.4.4 Данные изображения 10

1.5 Дамп памяти 11

2 ПОСТАНОВКА ЗАДАЧИ 12

3 ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 13

3.1 Выбор среды разработки динамической библиотеки 13

3.2 Проектирование структуры Dll 14

3.3 Макет интерфейса 14

3.4 Проектирование алгоритмов 15

4 РЕАЛИЗАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 17

4.1 Физическая структура проекта 17

4.2 Разработанный интерфейс приложения 17

4.3 Реализация алгоритма отображения структуры bmp-файла 18

4.4 Реализация алгоритма сохранения данных в файл 20

5 ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 22

5.1 Сравнение выводимых данных 22

5.2 Тест на корректность работы диалогов 23

ЗАКЛЮЧЕНИЕ 25

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 26

СПИСОК ЛИСТОВ ГРАФИЧЕСКОЙ ЧАСТИ 27

ПРИЛОЖЕНИЕ А 28

ПРИЛОЖЕНИЕ Б 35

Введение

Программисты всех стран уже более 30 лет борются с проблемой многоразового использования однажды написанного кода. Так уж повелось, что 30-50% кода в простых офисных приложениях схожи между собой или решают одни и те же задачи. Ни один программист не захочет каждый раз снова писать один и тот же код. Как хорошо, когда можно использовать один раз написанный код многократно. Самым первым решением этой проблемы стало модульное кодирований или создание библиотек динамических. Ты пишешь какой-то кусок кода, оформляешь его в виде DLL, а потом просто используешь в своих программах. Все прекрасно и удобно, а главное, что все довольны[8].

Частным случаем является создание DLL для просмотра структуры файла формата bmp, что и стало темой моего курсового проекта.

Записка курсового проекта имеет 5 разделов. Структура и описание данных разделов:

  1. «Аналитический обзор состояния вопроса» - в данном разделе размещены краткие теоретические сведения;

  2. «Постановка задачи» - в данном разделе находятся цели курсового проекта с описанием поставленных задач;

  3. «Проектирование программного обеспечения» - в данном разделе описывается разработка программного продукта: разработка интерфейса программы, схемы алгоритмов, архитектура приложения;

  4. «Реализация программного обеспечения» - в данном разделе описана программная реализация работы со структурой bmp - файла, перечислены основные функции программы, а также приведены коды реализации с их описанием;

  5. «Тестирование программы» - в данном разделе описана работа программы, проведена проверка на правильность работы функций.

1 Аналитический обзор состояния вопроса

1.1 Краткие сведения о dll

DLL(Dynamic Link Library) – часть основной программы, которая загружается в ОС по запросу работающей программы в ходе её выполнения (Run-time), т.е. динамически. Один и тот же набор функций (подпрограмм) может быть использован сразу в нескольких работающих программах, из-за чего они имеют ещё одно название — библиотеки общего пользования (Shared Library). Если динамическая библиотека загружена в адресное пространство самой ОС (System Library), то единственная копия может быть использована множеством работающих с нею программ, что положительно сказывается на степени использовании ресурса ОЗУ. Динамические библиотеки могут содержать в себе как критические для работы программы части, так и дополнительные функции. Дополнительным плюсом такого подхода является то, что динамическая библиотека может быть использована в качестве плагина (Plug-ins), расширяющего функциональность программы. Минусом является то, что в случае, если модуль, который содержит в себе критическую часть, отсутствует, программа не сможет продолжить работу.

Динамические библиотеки хранятся обычно в определенном месте и имеют стандартное расширение. Например, файлы .library в логическом томе Libs: в AmigaOS; в Microsoft Windows и OS/2 файлы библиотек общего пользования имеют расширение .dll; в UNIX‐подобных ОС — обычно .so; в Mac OS — .dylib.

При написании программы программисту достаточно указать транслятору (компилятору или интерпретатору) языка программирования, что следует подключить нужную библиотеку и использовать функцию из неё. Ни исходный текст, ни исполняемый код функции в состав программы на данном этапе не входит[3].