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;


 

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

85088. Организация гражданской обороны в общеобразовательных учреждениях 37.48 KB
  Главными задачами Гражданской обороны в школе считаются: обеспечение готовности школы к действиям по защите учащихся и постоянного состава администрация учителя и специалисты учебновспомогательный персонал в условиях чрезвычайной ситуации в мирное время; организованный переход с мирного на военное положение; приобретение знаний и практических навыков по сохранению жизни и здоровья в различных чрезвычайных ситуациях; увеличение запасов имущества Гражданской обороны и средств индивидуальной защиты. Начальником гражданской...
85089. Сохранение и укрепление здоровья — важная забота каждого человека и всего человечества 41.73 KB
  Что позволит сберечь его здоровье. Многие люди считают что здоровье гражданина дело сугубо личное. Отвечая на вопросы постарайтесь использовать свой жизненный опыт Как вы понимаете термин здоровье человека Есть ли какиелибо объективные показатели здоровья Если есть назовите их. Для чего нужно здоровье человеку с точки зрения личной жизни А с точки зрения общества Из чего складывается здоровье человека Есть ли какието показатели здоровья помимо физических Что такое общественное здоровье Как оно связано с личным здоровьем...
85090. Инфекционные заболевания, их классификация 53.65 KB
  Инфекционные болезни человека одно из проявлений такого загрязнения. Инфекция от средневекового латинского слова infectio заражение внедрение и размножение в организме человека или животного болезнетворных микроорганизмов сопровождающееся комплексом реактивных процессов; завершается инфекционным заболеванием бактерионосительством или гибелью микробов. Инфекционные болезни заболевания вызываемые болезнетворными микроорганизмами которые передаются от зараженного человека здоровому. Способность некоторых возбудителей длительное...
85091. Здоровый образ жизни, понятия и определения, составляющие ЗОЖ 39.74 KB
  Здоровый образ жизни понятия и определения составляющие ЗОЖ. Познакомить учащихся и закрепить имеющиеся знания о здоровом образе жизни роли питания как составляющей здорового образа жизни. Противостоять им может только одно средство здоровый образ жизни. Что такое здоровый образ жизни Из каких составляющих он состоит Какое место в здоровом образе жизни занимает правильное питание Что вы понимаете под правильным питанием Относится ли к этому понятию только определенное сочетание продуктов Попробуйте сформулировать понятие...
85092. Биологические ритмы. Общие понятия. Влияние биоритмов на работоспособность человека 37.05 KB
  Влияние биоритмов на работоспособность человека. Ответьте на вопросы: Что такое здоровый образ жизни Какую роль он играет в жизни человека От каких факторов он зависит Какие составляющие он в себя включает На что он направлен Какую роль играет в здоровом образе жизни здоровое питание В чем заключается здоровое питание Что такое культура питания К соблюдению каких правил она сводится Назовите основные правила здорового питания. Усталость особенно сильно влияет на человека если его повседневный ритм жизни не удобен для его...
85093. Увольнение с военной службы и пребывание в запасе 47.5 KB
  Увольнение с военной службы и пребывание в запасе. Изучить порядок увольнения с военной службы и прохождение службы в запасе. Согласно Федеральному закону О воинской обязанности и военной службе военная служба подразделяется на военную службу по призыву по контракту и военную службу в запасе. Военнослужащий запаса тот же гражданский человек так же работает занимается бизнесом получает от этого доход который дает ему средства к существованию на него не распространяется действие общевоинских уставов над ним нет командиров он не может...
85094. Общевоинские уставы Вооруженных сил Российской Федерации — закон воинской жизни 43.44 KB
  Общевоинские уставы Вооруженных сил Российской Федерации закон воинской жизни. Изучить структуру и содержание общевоинских уставов. Ознакомиться с историей создания уставов в России. О воин службою живущий Читай устав на сон грядущий И утром ото сна восстав Читай внимательно устав Конечно это типичный образец армейской сатиры но зерно истины в нем есть.
85095. Военная присяга — клятва воина на верность Родине — России 42.76 KB
  Изучить условия и порядок приведения военнослужащим к военной присяге. Студенты обучающиеся на военной кафедре университета проходят военные сборы в одной из воинских частей. Их он получает только после принятия военной присяги. В армии обычаев которые бы так четко разделяли солдат не принявших военной присяги от тех кто ее принял нет.
85096. Прохождение военной службы по контракту 44.58 KB
  Прохождение военной службы по контракту Цель: изучить порядок поступления на военную службу по контракту и её прохождения. В этих условиях количество военнослужащий по контракту в армии и на флоте должно возрасти в несколько раз а самое главное должно существенно повыситься их качество уровень образования состояние здоровья социальный статус до поступления на военную службу. Что такое служба по контракту Чем служба по контракту отличается от службы по призыву Кто может поступить на службу по контракту Происходит ли отбор граждан...