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;


 

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

82412. Философия языка (М. Хайдеггер, Г.-Г. Гадамер, Л. Витгенштейн, М. Фуко и др.) 41.05 KB
  Важное место в философии Хайдеггера занимает проблема понимания и языка. Хайдеггер отмечал что хотя язык изучается многими науками языкознанием логикой психологией и другими науками они не способны проникнуть в сущность языка. Они не могут этого сделать поскольку совершают грубую ошибку не понимая монологического характера языка.
82413. Неокантианство 36.93 KB
  Ничто в рамках мыслительных потенций университетской философии не указывало на возможность какойлибо продуктивной кооперации между Гегелем и скажем Г. Налицо оказывалась двоякая угроза: научно несостоятельной философии с одной стороны и философски беспризорной науки с другой. Если опасность научно не фундированной философии лежала в ее открытости мистическим соблазнам то опасность философски не защищенной науки заключалась в стихийных порывах наивно материалистического толкования. спор о материализме в результате которого...
82414. Неогегельянство 29.04 KB
  Стерлинга впервые познакомившего англичан с философией Гегеля Э. внеэмпирической реальности Брэдли; в тенденция к преодолению крайностей абсолютного идеализма Брэдли стремление отстоять права индивидуальности ее свободу: эта тенденция проявилась в умеренном персонализме Бозанкета и радикальном персонализме МакТаггарта которые пытались сочетать гегелевское учение об Абсолюте с утверждением метафизической...
82415. Неомарксизм 32.06 KB
  Первое что предлагают сделать неомарксисты это отказаться от положения марксизма о всемирноисторической роли пролетариата в качестве субъекта социалистической революции и могильщика капитализма. При господстве одномерного сознания одномерный человек этого общества не способен ни выработать ни даже воспринять то революционное социалистическое сознание которое согласно марксизмаленинизма является непременным условием и предпосылкой пролетарской социалистической революции. Второе субъектом революции могут стать лишь те кто еще...
82416. Философия жизни 46.62 KB
  Сознание дух только средства и орудия на службе у жизни. Метафизика это проектированиетотальности жизни на бытие. Все метафизические истолкования и интерпретации мира покоятся напереживании жизни.
82417. Психоанализ З. Фрейда. Фрейдизм, неофрейдизм 28.64 KB
  Классическая психология до Фрейда изучала явления сознания как они проявлялись у здорового человека. Фрейд как психопатолог исследуя характер и причины неврозов натолкнулся на ту область человеческой психики которая раньше никак не изучалась но которая имела большое значение для жизнедеятельности человека бессознательное. Особое значение Фрейд придает психосексуальному развитию человека влиянию его инстинктивной сексуальнобиологической энергии либидо на жизнь его чувств и поведение. В дальнейшем поведение ребенка а затем юноши и...
82418. Феноменология Э. Гуссерля: идейно-теоретические истоки, основные идеи, понятия, этапы развития 38.34 KB
  Феноменология Гуссерля широкое в потенции бесконечное поле методологических а также гносеологических онтологических этических эстетических социальнофилософских исследований любой темы философии через возврат к феноменам сознания и их анализу. Результатом исполнения феноменологической редукции является перемещение на исследовательскую почву чистого сознания; 4 чистое сознание есть смоделированное феноменологией сложное единство структурных элементов и сущностных взаимосвязей сознания. Оригинальность и теоретическая значимость...
82419. Особенности восприятия феноменологии Э. Гуссерля в современной зарубежной философии 34.99 KB
  Гуссерля в современной зарубежной философии Возникновение феноменологии как философского течения связано с творчеством Эдмунда Гуссерля 1859 1938. Однако постепенно происходит изменение его научных интересов в пользуфилософии. Гуссерль изложил в следующих работах: Логические исследования 1901 Философия как строгая наука 1911 Идеи чистой феноменологии и феноменологической философии 1913 Трансцендентальная логика и формальная логика 1921 Картезианские размышления 1931. Особенность философии Э.
82420. Немецкая философия экзистенциализма 29.08 KB
  Основная работа Бытие и время 1927 подчинена трем задачам: 1 выявить фундаментальную структуру здесьбытия как бытиявмире; 2 показать что бытиевмире является временным и историчным; 3 на основе временности здесьбытия осознать необходимую принадлежность времени к смыслу бытия. здесьбытие выступает основой его экзистенциальной онтологии. ставит вопрос о том что есть бытие само по себе и решает его через рассмотрение человеческого бытия поскольку только оно наделено возможностью понимания бытия. Человеческое бытие...