Турбо Паскаль тілінің динамикалы байланысатын кітапханалары



Жұмыс түрі:  Материал
Тегін:  Антиплагиат
Көлемі: 11 бет
Таңдаулыға:   
Жоспар

Турбо Паскаль тілінің динамикалы байланысатын кітапханалары
І Кіріспе

ІІ Негізгі бөлім
а) Динамикалы қосылатын кітапханалар.
б) Динамикалы байланысатын кітапханаларды құру.
в) ДИ-ден процедуралар мен функцияларды импорттау.
г) Статикалық және динамикалық жүктеулер
д) Динамикалы байланысатын кітапханаға форманы енгізу
программасы

ІІІ Қорытынды

Қолданылған әдебиеттер

Динамикалы байланысатын кітапханалар

Динамикалы байланысатын кітапханалар – Dinamically Linked Libraries
(DLL) - Dos Windows режимдерімен жұмыс жасау кезінде енгізілге
программаларға қосымша мүкіндіктер береді. Және де олар компютердың тек BP.
EXE, BPC. EXE, BPW. EXE версияларымен ғана құралған болуы мүмкін.
Қазіргі таңда стандарттық динамикасы байланысатын кітапханалардың
(DLL) программамен жабдықтауды программистерге келешекте стандартты
программалармен қатар қолдануға мүмкіндік беретін өз динамикалы
байланысатын кітапханаларын (ДИ) құруға мүмкіндік береді, сондай
фирмалардың бірі – Borland Pascal With Object.
Алғашында динамикалы байланысатын кітапханалар Windows-тың
бөлімдерінде қолданылған. Borland Object динамикалы байланысатын
кітапханаларды Dos режимі үшін де жұмыс жасауға мүмкіндік жасады.
ДИ сияқты кітапханалардың құндылығы- олардың оперативті жадты
жүктегеннен кейін де енгізілген программалармен қатар, олар Ди-дің Windows
үшін жұмыс істеуімен бірдей болады. Бұл құрылым жұмыс жасаушыларға Dos-та
қалай жұмыс істесе Windows-та да дәл солай жұмыс істеуге де программалар
құруға мүмкіндік береді.
Сонымен қатар, ДИ көп тілді проекттерді қолдайды,
яғни: Borland Pascal With Object тілінде жазылған программаларда басқа
тілдерде жазылған ДИ, ал басқа тілдерде жазылған программаларда Borland
Pascal With Object тіліндегі ДИ қолданылады.

Динамикалы байланысқан кітапханалардың жазылу синтаксисі келесі түрге
ие:

Динамикалы байланысқан кітапхана -тілдің құрылымы бір жағынан
модуль құрылымының жалғасы мен өнімі болса, екінші жағынан онымен
салыстырғанда кейбір шектеулерге ие болып табылады.
ДИ –дің ерекшелігі келесі түрдегі белгілермен анықталады:
• Негізгі программадағы модульдердің компоненттері статистикалық
түрде тек компотентция кезінде ғана орындалады, ал ДИ –
программаның орындалу барысында динамикалы болып табылады. Бұның
өзі бір уақытта жұмыс істейтін бірнеше программалар үшін
әрқайсысынан қолданылған функциялар мен процедуралардың тек бір
ғана көшірмелерін оперативтік жадта ұстап тұруға мүмкіндік
береді.
• Модульді қоспағанда, ДИ-дің кодтары мен ресурстары оған
қолданылып отырған программада компанантталады, ДИ-типті арнайы
орынлатын файлда болады.
• Программа арқылы шақырылған ДИ-дің функциялары мен процедуралары
онымен тек динамикалы түрде ғана байланысады.
• ДИ-дің модульмен салыстырғандағы шектеулігі мынада, модульдер
шектеулігі тілдік бірліктерді (типтер, тұрақтылар, айнымалылар
және т.б) импорттай алады, ал ДИ тек қана функциялар мен
процедураларды ғана. Бірақ, ДИ тек айнымалыларды қамтамасыз ете
алад, ал модульдер болса, оларды қолдану үшін импорттай алмайды.
ДИ-дің айнымалыларына кез-клген байланыс процедуралық интерфейе
арқылы жасалынған болуы тиіс.
• Қолданылуы арқылы құрылып, компиляциялауға жіберілген
программаларға қолданылған ДИ модульдер сияқты автоматты түрде
компиляцияланбайды. Оны, яғни, ДИ-ді арнайы (жеке) компиляциялау
талап етіледі.

Динамикалы қосылатын кітапханалар
Динамикалы қосылатын кітапханалар (Dinamik Link Library) сіздің
программаңызға Object Pascal программалау тілінде басқа бір программистің
жазған функциялары мен процедураларын интегралдаудың әмбебап механизмін
ұсынады. ДИ жұмысқа дайын процедуралар, функциялар немесе ресурстардан
құралған жасанды модуль түрінде реакцияланады. Программисттердің
болжауынша, ДИ мен жай ғана Object Pascal модульдерінің арасында үлкен
ұқсастық болады, себебі бұлардың екеуі де программистерге программаның
басында өз кодтарын жазудан бас тартуға мүмкіндік береді. Бірақ,
принциптік айырмашылықтары да бар Бұлардың ішіндегі ең негізгісі ДИ-дің
программасын орнатуға мүмкіндігі жоқ айнымалылар, тұрақтылар және типтер
болып табылады. Себебі, Ди-ді жасаушылар программалау тілдерінің типсіз
түрін, ассамблерді қолдана алады. Нәтижеде, ДИ бүгінгі таңда программистер
үшін өте қажетті болып табылатын кластарды программаға экспорттай алмайды.
Бұл үшін тек пакеттер ғана қолданылады. Тағы бір негізгі айырмашылық болып
табылатыны – программаларының байланысу әдістері. Модульдер программамен
тек компоненттеу бөлімі арқылы байланысады. Егер бірдей модульді екі
программа іске қосылған болса, онда жадта бірдей прагменттегі кодтардың екі
данасы болады. Сонымен қатар ДИ программаға орындалу кезінде қосылады.
Егер тағы да екі программа бірдей кітапхана ДИ-ді қолданған болса, онда
программа арқыл кодтарды айырудың тек бір ғана данасы жадта сақталады. Бұл
компьютердің физикалық жады екендігін анықтауға тура келеді. Әрбір
программа өзінің орналасуына қарай белгілі бір орын алады да бұлар ДИ
кітапханаларының бейнесі ретінде көрінеді. Динамикалық қосылу ДИ-ге
модульдер арқылы мағынасы онша қажетті бола қймайтын мәліметтерді береді.
Олар: ДИ кітапханасының кез-келген өзгертулері қолданылып отырған
программаның міндетті түрде ауыспалы болуын талап етеді.

ДИ-ден процедуралар мен функцияларды импорттау
Borland Pascal With Object тілінде жазылған программалар мен модульдер ДИ-
ден процедуралар мен функцияларды үш тәсілмен импорттай алады.
1. Атауы бойынша
2. Жаңа Атауы бойынша
3. Ретті номері бойынша

Процедуралардың немесе функциялардың импорттаудағы фактілері оның
программаларына немесе модульдеріне сай келетін жазбаларында көрсетілген Ди-
ден импортталған процедуралар мен функциялар мына талаптарды
қанағаттандырулары тиіс.
• Міндетті түрде External процедуралық мәліметі қолданылуы
керек.
• ДИ-дің атауы External мәліметінен кейін көрсетіледі.
• Процедуралық far мәліметі арқылы немесе компилятордың {$ F
+} мәліметі арқылы орнатылған модель қолданылуы керек.
Атауы бойынша импорттау процедуралар немесе функциялар жазылуында
index және name мәліметтері бар болған жағдайда ғана өз атауларымен
импортталады.
Мысалы:

Бұл жазылымда MyProc процедурасы MYLIB динамикалы байланысқан
кітапханадан өз атауы бойынша, яғни MyProc деп импортталады.
Жаңа атауы бойынша импорттау.
Егер процедура немесе функция бөлімінде name мәліметі көрсетілген болса,
онда ол өз атауы бойынша емес name-ге көрсетілген атау бойынша
импортталады.
Мысалы:

Бұл жазылымда MyProc процедурасы MYLIB динамикалы байланысқан
кітапханадан өз атауы бойынша Яғни, MyProc бойынша емес, жаңа бір атау
NEWNAME бойынша импортталады. Бұл жаңа атау үшін кез-келген тұрақты шаманы
алуға болады.
Реттік номері бойынша импорттау
Егер процедура немесе функция бөлімінде index мәліметі көрсетілген болса,
онда ол өз атауы бойынша емес Іndex мәліметіне көрсетілгенмен импортталады.
Мұндай импорттау модульдік жүктелу уақытын азайтады.
Мысалы:

Бұл жазылымда MyProc процедурасы MYLIB динамикалы байланысқан
кітапханадан 7 индексі бойынша импортталады.

Статикалық жүктеу
type
TComplex = record
Re, Im : Real:
end:
function ADDC (x,y: TComplex): TComplex: stdcall: External “Cmp lx. dll” :
function Subc (x,y: TComplex): TComplex: stdcall: External “Cmp lx. dll”
:
function Mulc (x,y: TComplex): TComplex: stdcall: External “Cmp lx. dll”
:
function Divc (x,y: TComplex): TComplex: stdcall: External “Cmp lx. dll”
:
Procedure TfmExample. bbRunClick (Sender: TObject):
vai
x,y, z: TComplex
... ары қарай bbRunClick мәтінін қараша
Source (Chap - 02) Custom Variant Unit 1. Pas файлында
end:
end:
Cmplx ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Тілдің алфавиті
ZooM экрандық лупа Қосымша бағдарлама құру
Delphi ортасында жұмыс
Паскаль тілінде сызықтық бағдарлама құру
Паскаль тілінің алғашқы түсініктері
Паскаль программалау тілінің мүмкіншіліктері
Turbo Pascal программалау тілі туралы түсінік
Turbo Pascal - дағы енгізу және шығару операторлары
Паскаль тілінің функцияларымен процедураларын қолдану
Turbo Pascal тілінің операторлары
Пәндер