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;


 

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

39353. Проектирование прямозубого редуктора 738 KB
  Материал для шестерни и колеса: для шестерни – сталь 40 термообработка – улучшение твёрдость НВ192228 ; среднее значение принимаем: НВ1210 для колеса – сталь 35 термообработка – нормализация твердость НВ163192 ; среднее значение принимаем НВ2178; условие выполняется. то для дальнейшего расчета зубчатых колёс принимаем меньшее значение т. Межосевое расстояние из условия контактной выносливости активных поверхностей зубьев где коэффициент передачи для прямозубых колёс; коэффициент ширины зубчатого венца по отношению к...
39354. Модели макроэкономического равновесия 85.5 KB
  Совокупный спрос – это все реальные объемы внутреннего производства, которые все потребители в национальной экономике (домохозяйства, фирмы, государство и внешний мир) готовы и могут приобрести при каждом из возможных уровней цен в определенный период времени.
39355. Расчет цилиндрического редуктора 745.5 KB
  При этом марки сталей выбирают с учетом наибольших размеров пары: диаметра для валашестерни и толщины сечения для колеса с припуском на механическую обработку после термообработки. Сочетание шестерни закаленной при нагреве ТВЧ и улучшенного колеса дает большую нагрузочную способность чем улучшенная пара с той же твердостью колеса. Такая пара хорошо прирабатывается; ее применение предпочтительно если нельзя обеспечить высокую твердость зубьев колеса.2 [1] Для шестерня выбираем Сталь 40Х для колеса выбираем Сталь 45 3.
39356. Проектирование цилиндрического редуктора 364.5 KB
  Объектом курсового проектирования является одноступенчатый редуктор-механизм, состоящий из зубчатой передачи, выполненный в виде отдельного агрегата и служащий для передачи вращения от вала двигателя к валу рабочей машины.
39357. Проблема макроэкономической нестабильности 637.5 KB
  Экономические циклы. Среднесрочный цикл, его причины и фазы. Концепция длинных волн конъюнктуры. Безработица и её формы. Социально-экономические последствия безработицы. Инфляция: сущность, причины, последствия.
39358. Управление основными средствами предприятия 70.97 KB
  Провести анализ основных фондов, в том числе. Проанализировать динамику и структуру основных фондов. Проанализировать показатели эффективности использования основных средств. Выявить резервы по увеличению эффективности использования основных фондов
39359. Силовой расчет механизмов с учетом трения в кинематических парах 119.5 KB
  Способность контактирующих поверхностей звеньев сопротивляться их относительному движению называется внешним трением. Трение обусловлено неидеальным состоянием контактирующих поверхностей (микронеровности, загрязнения, окисные пленки и т.п.)
39360. Роль кросс-культурных исследований в изучении психического развития ребенка 51.05 KB
  Предмет кросс-культурной психологии – изучение сходства и различий психологических переменных в различных культурах и этнических общностях. Кросс-культурные исследования проводятся в рамках разных отраслей психологии: общая психология изучает особенности восприятия, памяти, мышления
39361. Распределение доходов. Заработная плата. Бюджет семьи 80.5 KB
  Доходы – это распределенный продукт, который субъекты экономических отношений получают для личного и производственного потребления. Доходы бывают натуральные (материальные блага и услуги) и денежные.