51090

ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ ИСПОЛЬЗОВАНИЯ DLL-БИБЛИОТЕК

Лабораторная работа

Информатика, кибернетика и программирование

Разработать два варианта приложения один со статическим вызовом dll-библиотеки другой с динамическим вызовом dll-библиотеки Путем физического замера или программным путем в разработанном приложении измерить Время работы приложения при статическом использовании dll-библиотеки Посчитать отношение периодов работы приложения с двумя типами dllбиблиотек в процентах Сделать вывод относительно преимуществ и недостатков использования dllбиблиотек с двумя типами связывания Краткие теоретические сведения DLL англ. Цели введения DLL...

Русский

2014-02-05

50.29 KB

2 чел.

Эмпирические методы

программной инженерии

ПЗАС-08-2

Швеца Дмитрия

Лабораторная работа №5

ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ ИСПОЛЬЗОВАНИЯ

DLL-БИБЛИОТЕК

Задание:

  1.  Ознакомиться с назначением, принципами построения и использования dll-библиотек
  2.  Ознакомиться со статическим и динамическим способами связывания с dll-библиотеками из приложений
  3.  Разработать две одинаковые dll-библиотеки (одну для статического связывания, другую для динамического связывания) с одной и той же экспортируемой функцией, которая выполняет следующее:
  4.  Читает из файла 100 целых чисел
  5.  Заполняет считанными числами массив из 100 элементов
  6.  Возводит элементы массива в квадрат
  7.  Сохраняет полученные значения в те же элементы массива
  8.  Сохраняет (переписывает) полученные значения в тот же файл
  9.  Разработать приложение, выполняющее только одно действие  вызов функции из разработанной dll-библиотеки в цикле (например из 100 проходов). Разработать два варианта приложения  один со статическим вызовом dll-библиотеки, другой  с динамическим вызовом dll-библиотеки
  10.  Путем физического замера или программным путем в разработанном приложении измерить Время работы приложения при статическом использовании dll-библиотеки
  11.  Посчитать отношение периодов работы приложения с двумя типами dll-библиотек в процентах
  12.  Сделать вывод относительно преимуществ и недостатков использования dll-библиотек с двумя типами связывания

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

DLL (англ. Dynamic-link library — библиотека динамической компоновки)  — динамическая библиотека, позволяющая многократное применение различными программными приложениями.

Цели введения DLL

Первоначально предполагалось, что введение DLL позволит эффективно организовать память и дисковое пространство, используя только один экземпляр библиотечного модуля для различных приложений.

Далее, предполагалось улучшить эффективность разработок и использования системных средств за счёт модульности. Замена DLL-программ с одной версии на другую должна была позволить независимо наращивать систему, не затрагивая приложений.

Исходные листинги dll-библиотеки и основного приложения

library MyDll;

procedure MyLib; stdcall;

var f:TextFile; i,j:byte; A:array [1..10,1..10] of integer;

begin

AssignFile(f,'Numb.txt'); rewrite(f);

randomize;

for i:=1 to 10 do begin

for j:=1 to 10 do

  write(f,random(50):5); writeln(f); end;

closeFile(f);  reset(f);

for i:=1 to 10 do begin

for j:=1 to 10 do begin

  read(f,A[i,j]); A[i,j]:=sqr(A[i,j]); end;

  readln(f); end;

closeFile(f);

rewrite(f);

for i:=1 to 10 do begin

for j:=1 to 10 do

  write(f,A[i,j]:10); writeln(f); end;

closeFile(f); end;

exports MyLib;

end.  

    

unit Unit1;  //Dynamic

var

 Form1: TForm1; H:Thandle=0;

 MyLib: procedure;

procedure TForm1.Button1Click(Sender: TObject);

var i,d1,d2,t:longint;

begin

d1:=GetTickCount;;

for i:=1 to 1000 do MyLib;

d2:=GetTickCount;; 

t:=d2-d1;

Edit1.Text:=intToStr(t)+' mc';

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

 MyLib;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

H:=LoadLibrary('MyDll.dll');

if H<>0 then begin

  MyLib:=GetProcAddress(H,'MyLib');

  end

  else showmessage('Не удалось загрузить библиотеку!');

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

FreeLibrary(H);

end;

end.

unit Unit1;  //Statyc

var  procedure MyLib; external 'MyDll.dll';

procedure TForm1.Button1Click(Sender: TObject);

var i,d1,d2:longint;

begin

d1:=GetTickCount;

for i:=1 to 1000 do MyLib;

d2:=GetTickCount;

edit1.Text:=inttostr(d2-d1)+' mc';

end;


 

А также другие работы, которые могут Вас заинтересовать

39299. Системно – динамическая модель маркетинга инновационной продукции 2.81 MB
  В настоящее время организации в своей деятельности сталкиваются со следующими проблемами в области маркетинга: необходимость быстрого получения подробной и достоверной информации о желаниях потребителей их требованиях к инновационному продукту с целью точного позиционирования продукции на рынке; определение цены по которой будет осуществляться возможная реализация новой продукции; настоятельная потребность в выделении наиболее важных функциональных характеристик и свойств продукта для потребителей; достоверное установление цены при...
39300. Работа в системе программирования TURBO-PASCAL 208 KB
  Лабораторный практикум состоит из шести лабораторных работ в которых приведены основные сведения о линейных алгоритмах и программах ветвления и циклах в программах и алгоритмах использованию структурированных типов данных таких как массивы комбинированные типы и файлы. Если оценка больше 2 то S := S N; иначе прекратить вычисления выход из цикла. Существует три типа операторов цикла: циклы со счетчиком; циклы с предусловием; циклы с постусловием. В таких циклах указывают переменную целого типа которая называется счетчиком...
39301. Проектирование производства работ по монтажу надземной части полносборного многоэтажного здания 1.3 MB
  Задачей курсовой работы является проектирование производства работ по монтажу надземной части полносборного многоэтажного здания. Монтаж надземной части одноэтажного промышленного здания рекомендуется вести маневренными стреловыми гусеничными кранами, кранами на пневмоходу или автокранами.
39302. ЛАНДШАФТЫ ЧЕРВЕНСКОГО РАЙОНА 1.21 MB
  В работе приведено описание природных компонентов территории Червенского района: геологического строения и рельефа, климата и поверхностных вод, почвенно-растительного покрова и животного мира. Дана классификация природных ландшафтов Беларуси и характеристика ландшафтов Червенского района.
39303. ЛАНДШАФТЫ ПУХОВИЧСКОГО РАЙОНА 953 KB
  Дана классификация природных ландшафтов Беларуси и характеристика ландшафтов Пуховичского района. Классификация ландшафтов Беларуси. Классификация ландшафтов Беларуси. ВВЕДЕНИЕ Изучение ландшафтов является актуальным в наше время и позволяет получить необходимую и полезную информацию о геологическом строении и рельефе данной территории климате водах почвеннорастительном покрове животном мире и других показателях.
39304. Финансы организаций (предприятий) 118 KB
  Практическая часть должна содержать аналитическую информацию анализ показателей деятельности предприятия в соответствии с темой работы. Рекомендательная часть должна содержать рекомендации по улучшению финансового состояния предприятия в части использования предмета исследования курсовой работы. НАПРАВЛЕНИЯ ОБЪЕКТОВ КУРСОВЫХ РАБОТ Предприятия различных организационноправовых форм. Предприятия отраслей: сельское хозяйство; пищевая и перерабатывающая промышленность; общественное питание; торговля; предприятия других отраслей не...
39305. Организация взаимодействия трехмерного редактора и визуализатора на основе трассировки лучей 3.93 MB
  Данная дипломная работа заключается в организации взаимодействия трехмерного редактора и визуализатора на основе трассировки лучей путем добавления в визуализатор возможности импорта информации о трехмерной сцене из XML-файлов и написания программы-модуля для трехмерного редактора, позволяющей экспортировать такого рода файлы.
39306. Расчет годовой производственной программы 105.3 KB
  Главная передача автомобиля предназначена для постоянного увеличения подводимого от двигателя крутящего момента и передачи его под прямым углом к ведущим колесам. Постоянное увеличение крутящего момента характеризуется передаточным числом главной передачи. На автомобилях КамАЗ в зависимости от назначения передаточное число главной передачи равно 543; 594; 653; 722. На модификациях автомобилей предназначенных для использования в качестве седельных тягачи передаточные числа главной передачи увеличены.
39307. Организация бухгалтерского учета на ООО «Мое солнце» 219 KB
  Учетная политика Объектом прохождения практики послужило предприятие – ООО Мое солнце. ООО МОЕ СОЛНЦЕ создано в соответствии с Гражданским кодексом Российской Федерации Федеральным законом Об обществах с ограниченной ответственностью другими действующими законодательными актами Российской Федерации. ООО МОЕ СОЛНЦЕ является юридическим лицом имеет круглую печать и штампы со своим наименованием свой торговый знак расчетный и иные счета в банках другие реквизиты необходимые для хозяйственной и иной деятельности. ООО МОЕ СОЛНЦЕ...