-->
Главная » Статьи » Информатика

Өңдеу уақытын және өлшемін оптимизациялау. Аспаптар мен әдістер.

Өңдеу уақытын және өлшемін оптимизациялау. Аспаптар мен әдістер.

 

Программаны орныдау уақыты мен өлшемін оптимизациялау. Өңдеудегі DLL модулдерді ерекшелеу және орындалатындарды анықтау. Модульдік диаграммалар құру. Орындау периодын басқару құралдары және олардың қолданылуы.

Өңдеуді орындау уақытын және өлшемін оптимизациялау. Аспаптар және әдістер. Программаны орындау уақытын және өлшемін оптимизациялау. Өңдеу кезіндегі орындалатын модулдерді анықтау және DLL модулдерді ерекшелеу. DLL және EXE құрудың ерекшеліктері. Қолданудағы ерекшелігі.Бастамастан бұрын APP және DCT –тердің резервтік көшірмелері жасалған. Егер сіз жаңа APP құрғыңыз келсе онда процедураларды оның бастапқы көшірмесінен импортировать етуіңіз керек. Мақсаты негізгі APP басқа қосымша бірнеше қосымшаларға бөлу, ол бірнеше жетістіктерге жетуге мүмкіндік береді:

·   Өңдеудің жылдам циклын ұйымдастыру: Бастапқы жобалау фазасынан кейін, өңдеу әдетте бірнеше кішірек АPP-лерге бөлінеді. Өйткені APP –де барлық программа болмайды (процедуралар және файлдар),  генерация және компиляция уақыты қысқартылады.

·   Көппайдаланушы өңдеуі: Әртүрлі APP- лерді өңдеушілер арасында бөліп тастаған дұрыс.

·   Таратудың жеңілдігі: кішірек өзгертулер кішірек апгрейдтерді талап етеді (мысалы, өзгертулер тек бір ғана  DLL-ге қатысты болады).

Әрбір APP орындалатын программаны немесе процедуралар және деректер кітапханасын өзі құрадыКітапханалардың екі негізгі типтері бар: 1)Статикалықбарлық деректер мен процедуралар бір файл кітапханасына жиналады (.LIB), ол керек кезінде (бүтіндейбасқа қосымшаларға қосыла алады.  2)Динамикалықбарлық деректер мен процедуралар динамикалық кітапханаларға жиналады (.DLL), олар тәелсіз бірлік болып табылады да программаның EXE-файлымен бірге жүредіЕСКЕРТУ: (.LIB) кітапханаларының файлдары бұл кезде де құрылуы мүмкінбірақ олар процедуралар жіне деректерден құрылмайды, онда тек DLL жайындағы ақпараттар болады (процедураға кіру нүктесі және т.б.).  Айталықпрограмма келесі бөліктерден тұратын болсын (әрбір бөліктің сәйкесінше APP болады):

·   Глобальды DLL (тек біреу ғана)

·   Программалық  DLL (бірнеше)

·   Негізгі  EXE (тек біреу ғана)

DLL және EXE әртүрлі типтерін құру үшін , қосымша ақпараттар беру қажет:

·   Қосымша  DLL немесе EXE болып табылады ма (жоба параметрлері)

·   Қосымшада қандай элементтер (деректер/класстар/процедураларлинктелетіндігін көрсетіңіз (тәртібі үнсіздікпен алынады)

·   Басқа қосымшаларда қолданылатын қандай элементтер (деректер /класстар/ процедуралар) публикацияланатындығын (экспорталатындығын) для көрсетіңізБұл ақпарат модулді анықтауда немесе экспорттық файлда көрсетіледіоның қосымшадағы кеңейтілуі EXP боладыжәне ол барлық файл кітапханаларының кіріс нүктелерінен тұрады.

·   Қосымшада қандай элементтер (деректер/класстар/процедураларбасқа қосымшаларда орналасқандығын көрсетіңізБұл EXTERNAL жәнеDLL атрибуттарының көмегімен жасаладыСәйкес кітапханалық файл да жобаға кіруі керек.

Глобальды DLL. Деректердің көрініп отыратын аймағы мульти-DLL қосымшаларында өте маңыздыНегізі қандай деректер программаның глобальдыдеректеріне жататындығын  білу керек және олардың қайсысы барлық  APP программаларынан көрінуі тиіс, ал қайсысы бір ғана APP-де болтындығын анықтап алу керек.

Глобальды DLL құру үшін келесі қадамдар орындалады:  Қадам 1: шаблондарға глобалды деректерді дұрыс генерациялауға мүмкіндіктер беру үшін, олар деректер секциясынан (Global Propertiesглобалды деректер файлына Dictionary ауыстырылуы керек. Кейінірек кез – келген Dictionary-ды қолданатын APP керекті атрибуттағы глобалды деректерді генерациялау алады.  Қадам 2: Жаңа APP құру, бар DCT қолдана отырып.  Қадам 3: Proect Editop|Global Options дилогында Target Type –ты  "DLL" орнату керек. Бұл компилятор/линкерге  DLL құру керек екендігін хабарлайды, және қосымшадағы EXP файлын оқу кезінде қандай элементтерді анықтау керек екендігін анықтайды.  Қадам 4: Global Properties диалогының  General қосуынGenerate Templates Globals and ABC's As External күйін қосылған күйге орналастыруГенерация кезіндебарлық глобальды деректер шаблондары жәнеABC-кітапханалардың атрибуттары External немесе DLL БОЛМАЙДЫҚадам 5: Global Properties диалогындағы  File Control қосуының  параметріGenerate All File Declarations қосылған екендігіне көз жектізіңізFile Attributes/Export files/Export all file declarations –ды қосылған күйде ұстаңызБұл қадам 4–ке ұқсас.  

Программлық DLLs. Программлық DLLs –тер программа денесінен тұрадыбраузерлерформалар және отчеттарМұндағы  DLL сандары программа өлшемімен анықталадыПрограммнлық DLLs-ті құру үшінҚадам 1Әрбір DLL үшінжаңа APP құрамыз және барлық керек процедураларды оригиналь АРР –ден импорттаймыз да "Глобальды DLL"-дегі  қадам 3 –ті орындаймыз. Қадам 2:  Application менюінен Insert Module таңдаймыз және модул типін ExternalDLL етіп орналастырамызБұл Module Properties диалогын шақырады.  Name полесінен глобалды DLL-дің Lib-файлының атын енгіземіз.  Қадам 3: Global Properties диалогындағы General қосылуның келесі параметрлерін орнатамыз:  1) Generate Template Globals and ABC's as External қосамызНәтижесінде генерациялағын кезде барлық  глобальды деректердің шаблондары және класстардың берілуіндегі  ABC-кітапханаларының  атрибуттары External және DLL болады. 2)External Globals and ABC's Source Module -ты Dinamic Link Library түріне орнату.  Қадам 4: Global Properties диалогындағы File Control қосылуының келесі  параметрлерін орнату керек: 1) Generate All File Declarations ауыстырғышын қосыңыз. 2) File Attributes/External ты  All External түріне келтіріңізБұл қадам –ке ұқсас. 3) File Attributes/External files/All files are declared in another app ауыстырғышын қосыңызҚадам 5қандай процедураларды экспорттау керек екендігін анықтаңызProcedure Properties диалогындағы Export Procedure ауыстырғышын қосыңыз.  Қадам 6Компиляция.

Негізгі EXE. Негізгі EXE әдетте Application Frame және Splash және About процедураларынан тұрадыexe-файл бола отырыпол процедураныэкспорттай алмайды және процедураларды Процедуралық DLLs –тан шақырадыҚадам 1Жаңа APP құрыңыз және керек процедураларды APPоригиналынан импорттаңыз (Frame, Splash и т.д.). Қадам 2: 2, 3 және 4 қадамдардағы  программалық DLLs бөлімдерін қайталаңызҚадам 3БірнешеToDo процедуралар баролардың әрқайсысы меню пунктеріне жатадыжәне олардың арқайсысы осы процедураларды шақырадыОсыпроцедураларды шақыру үшіноған сәйкес DLL/Lib файлдары модулдер тізіміне қосылуы керек (бұл сыртқы процедураларды линктің шықыра алуына мүмкіндік береді).  Әрбір  DLL үшін программлық DLLs-тегі Қадам 2 қайталаймыз.  Қадам 4Әрбір ToDo процедуралар үшін  External процедуралық шаблонын қайталаймыз және Module Name аймағында дұрыс кітапхана таңдалғанына көз жеткіземіз (Lib-файл). Бұл процедураларды глобальды Map-қа қосадыяғни дұрыс модулге.  Қадам 5Негізгі  EXE-ні компиляциялаймыз.

Егер бір нәрсе дұрыс орындалмаса ондакөптеген қате жайындағы хабарламалар шығадыБұл хабарламалардан қорықпаңызолардың негізгілері келесі үшеуіUnresolved External XXX in YYY.objБұл кейбір элементтер External түрінде беріліп кеткенбірақ линковщик оларды қосылған кітапханалардың ешқайсысынан таба алмады.  XXX Is unresolved for exportКейбір элементтер EXP-файлда көрсетіліп кетілгенбірақ линковщик оларды  APP-ден таба алмадыXXX is duplicated (dll)Бұл егер XXX берілген кітапханалардың бірнешеуінде қосылған немесе ағымдағы APP-де көрсетіліп кеткен болса шығады.

Модульдік диаграммалар құруБерілген модулдердің шаблондары- нотацияларМодулдер және компоненттер. ПакеттерКомпонент деталдарын анықтауКомпоненттер арасындағы  байланыстар. Диарграмманың орналасуын көрсету.

Орындау периодын басқару құралдары және олардың қолданылуы. Орындалатын программаның периодының кітапханалары.

 

 

Бақылау сұрақтары:

1.      Қандай класстарды немесе компоненттерді бөлек модулдерге ерекшелеу керек?

2.      Класстардың (компоненттердің) модулдерде орналасуын қалай анықтау керек?

3.      Модулдерді  exe және dll қалай бөлуге болады?

4.      Асатолған ехе модулдерді қалай бөлеміз?

5.      Модулдер диаграммасын салу үшін қандай аспаптар қолданылады?

6.      run-time кітапханасы не үшін керек?

7.      Аспаптық ортада салынған модулдер жұмысы құру аспабымен жасалған орындау        ортасымен айырмашылығы неде?

 

Категория: Информатика | Добавил: admin_ (01.12.2013)
Просмотров: 1118 | Теги: Өңдеу уақытын және өлшемін оптимиза | Рейтинг: 0.0/0
Всего комментариев: 0

Имя *:
Email:
Код *: