Rev 7597 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7597 | Rev 7693 | ||
---|---|---|---|
Line 15... | Line 15... | ||
15 | "gui" - Windows GUI |
15 | "gui" - Windows GUI |
16 | "dll" - Windows DLL |
16 | "dll" - Windows DLL |
17 | "kos" - KolibriOS |
17 | "kos" - KolibriOS |
18 | "obj" - KolibriOS DLL |
18 | "obj" - KolibriOS DLL |
19 | "elfexe" - Linux ELF-EXEC |
19 | "elfexe" - Linux ELF-EXEC |
- | 20 | "elfso" - Linux ELF-SO |
|
20 | 4) íåîáÿçàòåëüíûå ïàðàìåòðû-êëþ÷è |
21 | 4) íåîáÿçàòåëüíûå ïàðàìåòðû-êëþ÷è |
21 | -stk |
22 | -stk |
22 | -base àäðåñ çàãðóçêè èñïîëíÿåìîãî ôàéëà â êèëîáàéòàõ |
23 | -base àäðåñ çàãðóçêè èñïîëíÿåìîãî ôàéëà â êèëîáàéòàõ |
23 | -ver |
24 | -ver |
24 | -nochk <"ptibcwra"> îòêëþ÷èòü ïðîâåðêè ïðè âûïîëíåíèè (ñì. íèæå) |
25 | -nochk <"ptibcwra"> îòêëþ÷èòü ïðîâåðêè ïðè âûïîëíåíèè (ñì. íèæå) |
Line 142... | Line 143... | ||
142 | Ïàìÿòü[a] := x; |
143 | Ïàìÿòü[a] := x; |
143 | Åñëè x: BYTE èëè x: WCHAR, òî çíà÷åíèå x áóäåò ðàñøèðåíî |
144 | Åñëè x: BYTE èëè x: WCHAR, òî çíà÷åíèå x áóäåò ðàñøèðåíî |
144 | äî 32 áèò, äëÿ çàïèñè áàéòîâ èñïîëüçîâàòü SYSTEM.PUT8, |
145 | äî 32 áèò, äëÿ çàïèñè áàéòîâ èñïîëüçîâàòü SYSTEM.PUT8, |
145 | äëÿ WCHAR -- SYSTEM.PUT16 |
146 | äëÿ WCHAR -- SYSTEM.PUT16 |
Line 146... | Line 147... | ||
146 | 147 | ||
147 | PROCEDURE PUT8(a: INTEGER; x: INTEGER, BYTE, CHAR, WCHAR) |
148 | PROCEDURE PUT8(a: INTEGER; x: INTEGER, SET, BYTE, CHAR, WCHAR) |
Line 148... | Line 149... | ||
148 | Ïàìÿòü[a] := ìëàäøèå 8 áèò (x) |
149 | Ïàìÿòü[a] := ìëàäøèå 8 áèò (x) |
149 | 150 | ||
Line 150... | Line 151... | ||
150 | PROCEDURE PUT16(a: INTEGER; x: INTEGER, BYTE, CHAR, WCHAR) |
151 | PROCEDURE PUT16(a: INTEGER; x: INTEGER, SET, BYTE, CHAR, WCHAR) |
151 | Ïàìÿòü[a] := ìëàäøèå 16 áèò (x) |
152 | Ïàìÿòü[a] := ìëàäøèå 16 áèò (x) |
152 | 153 | ||
Line 356... | Line 357... | ||
356 | Ìîäóëü RTL |
357 | Ìîäóëü RTL |
Line 357... | Line 358... | ||
357 | 358 | ||
358 | Âñå ïðîãðàììû íåÿâíî èñïîëüçóþò ìîäóëü RTL. Êîìïèëÿòîð òðàíñëèðóåò |
359 | Âñå ïðîãðàììû íåÿâíî èñïîëüçóþò ìîäóëü RTL. Êîìïèëÿòîð òðàíñëèðóåò |
359 | íåêîòîðûå îïåðàöèè (ïðîâåðêà è îõðàíà òèïà, ñðàâíåíèå ñòðîê, ñîîáùåíèÿ îá |
360 | íåêîòîðûå îïåðàöèè (ïðîâåðêà è îõðàíà òèïà, ñðàâíåíèå ñòðîê, ñîîáùåíèÿ îá |
360 | îøèáêàõ âðåìåíè âûïîëíåíèÿ è äð.) êàê âûçîâû ïðîöåäóð ýòîãî ìîäóëÿ. Íå |
361 | îøèáêàõ âðåìåíè âûïîëíåíèÿ è äð.) êàê âûçîâû ïðîöåäóð ýòîãî ìîäóëÿ. Íå |
361 | ñëåäóåò ÿâíî âûçûâàòü ýòè ïðîöåäóðû, çà èñêëþ÷åíèåì ïðîöåäóðû SetDll, |
362 | ñëåäóåò ÿâíî âûçûâàòü ýòè ïðîöåäóðû, çà èñêëþ÷åíèåì ïðîöåäóð SetDll è SetFini |
Line 362... | Line 363... | ||
362 | åñëè ïðèëîæåíèå êîìïèëèðóåòñÿ êàê Windows DLL: |
363 | åñëè ïðèëîæåíèå êîìïèëèðóåòñÿ êàê Windows DLL èëè Linux SO, ñîîòâåòñòâåííî: |
363 | 364 | ||
364 | PROCEDURE SetDll |
365 | PROCEDURE SetDll |
365 | (process_detach, thread_detach, thread_attach: DLL_ENTRY); |
366 | (process_detach, thread_detach, thread_attach: DLL_ENTRY); |
Line 370... | Line 371... | ||
370 | âûçûâàåìûìè ïðè |
371 | âûçûâàåìûìè ïðè |
371 | - âûãðóçêå dll-áèáëèîòåêè (process_detach) |
372 | - âûãðóçêå dll-áèáëèîòåêè (process_detach) |
372 | - ñîçäàíèè íîâîãî ïîòîêà (thread_attach) |
373 | - ñîçäàíèè íîâîãî ïîòîêà (thread_attach) |
373 | - óíè÷òîæåíèè ïîòîêà (thread_detach) |
374 | - óíè÷òîæåíèè ïîòîêà (thread_detach) |
Line -... | Line 375... | ||
- | 375 | ||
- | 376 | ||
- | 377 | PROCEDURE SetFini (ProcFini: PROC); |
|
- | 378 | ãäå TYPE PROC = PROCEDURE (* áåç ïàðàìåòðîâ *) |
|
- | 379 | ||
- | 380 | SetFini íàçíà÷àåò ïðîöåäóðó ProcFini âûçûâàåìîé ïðè âûãðóçêå so-áèáëèîòåêè. |
|
374 | 381 | ||
375 | Äëÿ ïðî÷èõ òèïîâ ïðèëîæåíèé, âûçîâ ïðîöåäóðû SetDll íå âëèÿåò íà |
382 | Äëÿ ïðî÷èõ òèïîâ ïðèëîæåíèé, âûçîâ ïðîöåäóð SetDll è SetFini íå âëèÿåò íà |
- | 383 | ïîâåäåíèå ïðîãðàììû. |
|
376 | ïîâåäåíèå ïðîãðàììû. |
384 | |
377 | Ñîîáùåíèÿ îá îøèáêàõ âðåìåíè âûïîëíåíèÿ âûâîäÿòñÿ â äèàëîãîâûõ îêíàõ |
385 | Ñîîáùåíèÿ îá îøèáêàõ âðåìåíè âûïîëíåíèÿ âûâîäÿòñÿ â äèàëîãîâûõ îêíàõ |
Line 378... | Line 386... | ||
378 | (Windows), â òåðìèíàë (Linux), íà äîñêó îòëàäêè (KolibriOS). |
386 | (Windows), â òåðìèíàë (Linux), íà äîñêó îòëàäêè (KolibriOS). |
379 | 387 | ||
Line 394... | Line 402... | ||
394 | 402 | ||
Line 395... | Line 403... | ||
395 | PROCEDURE [stdcall] lib_init (): INTEGER |
403 | PROCEDURE [stdcall] lib_init (): INTEGER |
396 | 404 | ||
397 | Ýòà ïðîöåäóðà äîëæíà áûòü âûçâàíà ïåðåä èñïîëüçîâàíèåì DLL. |
- | |
398 | Ïðîöåäóðà âñåãäà âîçâðàùàåò 1. |
- | |
399 | 405 | Ýòà ïðîöåäóðà äîëæíà áûòü âûçâàíà ïåðåä èñïîëüçîâàíèåì DLL. |