51090

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

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

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

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

Русский

2014-02-05

50.29 KB

3 чел.

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

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

ПЗАС-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;


 

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

71641. История развития методов преподавания изобразительного искусства в России и Белоруссии 90 KB
  Для приобретения четкого и уверенного почерка и навыков в рисунке рисовали главным образом пером, инструментом, требующим особенно твердой и уверенной руки. Однако метод обучения рисованию строился главным образом на копировании образцов.
71642. Методы психологии 128 KB
  Вторая самая многочисленная группа включает в себя эмпирические методы наблюдение и самонаблюдение эксперимент тесты; анкеты социометрия интервью и беседы приемы анализа процессов и продуктов деятельности хронометрия циклография профессиографическое описание оценка изделий...
71643. Менеджмент в предпринимательстве 284 KB
  Свидетельством существования практического менеджмента являются и достижения древних организаций. Так, сооружения, известные как «семь чудес света», можно было создать только хорошо скоординированными усилиями людей.
71644. Рим превращается в мировую державу 217 KB
  Римская армия имела хорошо обученных командиров. Центурию возглавлял центурион, когортой командовал военный трибун. Начальником легиона был легат. Каждая центурия, когорта и легион имели свои эмблемы. Их несли впереди воинского подразделения. Знаком легиона был серебряный орел.
71645. Валютні рахунки та міжнародні банківські кореспондентські відносини 185.5 KB
  В Україні валютні операції регулюються Декретом Кабінету Міністрів Про систему валютного регулювання і валютного контролю та низкою інших документів уряду і Національного банку які визначають: основні принципи здійснення валютних операцій; види валют і валютних цінностей...
71646. Методы эргономики 113 KB
  По способу получения данных о деятельности оператора определяют следующие эргономические методы: психологические наблюдение эксперимент анкетирование физиологические психофизиологические электрофизиологические биотелеметрия математические имитационные статистические методы.
71647. Специфика защитных мероприятий на РОО 54 KB
  Особенности радиационных загрязнение при авариях на АЭС При разрушении ядерного реактора процесс выделения ядерного топлива не прекращается и он превращается в постоянный источник ядероактивных продуктов.
71648. Защита населения и территории при авариях на химически опасных объектах 56.5 KB
  Аварии на химически опасных объектах химическое загрязнение окружающей среды контроль химической обстановки. Химическиопасные объекты: Производящие использующие хранящие химически отравляющие вещества при аварии на которых возможно поражение людей животных растительности.
71649. ІСТОРІЯ РОЗВИТКУ ГІМНАСТИКИ 174.5 KB
  Під гімнастикою стародавні греки розуміли всі вправи, які застосовувались для фізичного розвитку. Безумовно, зміст древньогрецької гімнастики відрізняється від змісту гімнастики сучасної.