Subversion Repositories Kolibri OS

Rev

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  ðàçìåð ñòýêà â ìåãàáàéòàõ (ïî óìîë÷àíèþ 2 Ìá)
22
      -stk  ðàçìåð ñòýêà â ìåãàáàéòàõ (ïî óìîë÷àíèþ 2 Ìá)
22
      -base 
àäðåñ çàãðóçêè èñïîëíÿåìîãî ôàéëà â êèëîáàéòàõ
23
      -base 
àäðåñ çàãðóçêè èñïîëíÿåìîãî ôàéëà â êèëîáàéòàõ
23
      -ver  âåðñèÿ ïðîãðàììû (òîëüêî äëÿ obj)
24
      -ver  âåðñèÿ ïðîãðàììû (òîëüêî äëÿ obj)
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.