                             VI

                       p

㪮⢮ 짮⥫ WATCOM C/C++ .............................1

1.    WATCOM C/C++ .......................................2
1.1 H砫 ........................................................2
1.2 p⮥ ᭥ p  ................2
1.3 ⠭ p p ....................................3
1.4  p p ....................................4
1.5  cc/CC .................................................4
1.6    p pp QNX .....................4
1.7 ⫠ p⮩ pp QNX .................................5
1.8 롮p 権 p 樨 ................................6

WATCOM C/C++ 16....................................................8

2.  p WATCOM C/C++ ......................................8
2.1  ......................................................8
2.2 p  p WATCOM C/C++ .........................8
2.3 騩 p 権 WATCOM C/C++ ................................9
2.4 樨 p ............................................15
2.5 p p WCC/WPP .....................................47
2.6 pp  p WATCOM C/C++ .........................48
2.7   祭  pp⨪ ....................50
2.8 ⨪ p ......................................51
2.9 p⪠ #include 䠩 p WATCOM C/C++ ..........53
2.10 ppp WATCOM C/C++ ...................................56
2.11 pp p WATCOM C/C++ ..................57
2.12 p 祢 ᫮ WATCOM C/C++ .....................60
2.13 pp ꥪ⭮  WATCOM ............................64
2.14 ⥪ WATCOM C/C++ .....................................65
    2.14.1  ⥪ WATCOM C/C++ .........................67
    2.14.2 ⥪ ᮢ WATCOM C/C++ .......................67
    2.14.3 ⥬᪨ ⥪ WATCOM C/C++ ................68
    2.14.4 ⥬᪨ ⥪ WATCOM C/C++ 80x87 ..........68
    2.14.5 p⨢ ⥬᪨ ⥪ WATCOM C/C++ .69
2.15 pp 樠樨  p 믮 WATCOM C/C++ ....69

16-pp來 ᯥ .............................................70

3  p⥪p 8086 ..............................................70
3.1 p  ....................................................70
.
                              VII

                         p
3.2 騥 pp ...............................................70
    3.2.1 p AX .............................................71
    3.2.2 p BX .............................................71
    3.2.3 p CX .............................................71
    3.2.4 p DX .............................................71
3.3 p-㪠⥫ ...........................................72
3.4  pp ...........................................72
3.5 ⥫  ............................................73
3.6  pp ..........................................73
    3.6.1 p CS .............................................74
    3.6.2 p DS .............................................75
    3.6.3 p ES .............................................75
    3.6.4 p SS .............................................75
3.7 p 䫠 ..............................................75
    3.7.1  p ..........................................76
    3.7.2  p (⭮) ...............................76
    3.7.3  ᯮ⥫쭮 p .........................76
    3.7.4   ..............................................76
    3.7.5   .............................................76
    3.7.6  誨 ...........................................76
    3.7.7  "pp뢠 pp襭" ............................77
    3.7.8  p .......................................77
    3.7.9  p ......................................77
3.8 ᮡ p樨 ............................................77
3.9 ᫥ 䥪⨢ p ...............................77
    3.9.1 롮p  ........................................78
    3.9.2 롮p  .........................................78
        3.9.2.1  p ................................78
        3.9.2.2 pﬠ p .................................79
        3.9.2.3 Hp⢥ p .......................79
        3.9.2.4 ᭠ p ..............................79
        3.9.2.5  ᭠ p ......................79
3.10 ᫥ p   p쭮 p ..................79
3.11 ᫥ p   饭 p ................80

4   ..................................................80
4.1  .....................................................80
4.2   ..................................................81
4.3   ................................................81
4.4 p   .........................................82
4.5 蠭   ......................................83
4.6  pp  p   ...........83
.
                               VIII

                           p

4.7 ᯮ   ........................................84

5 p 몠 ᥬp ...................................85
5.1  .....................................................85
5.2 p⠢  .........................................86
    5.2.1  "char" .............................................86
    5.2.2  "short int" ........................................86
    5.2.3  "long int"  ........................................87
    5.2.4  "int"  .............................................87
    5.2.5   "float" ...........................................88
    5.2.6   "double" ..........................................89
5.3 ᯮ   ........................................90
5.4 襭  맮  -80x87 pp ...................92
    5.4.1 p p㬥⮢ ᯮ ᭮  pp
          ᮣ襭  맮 ...................................92
    5.4.2 p p ⨯ ...............................93
    5.4.3 p p᫨ ⨯ .............................94
    5.4.4 ﭨ p⨯ 㭪権  p㬥 ................94
    5.4.5 p䥩  㭪ﬨ 몠 ᥬp .................95
    5.4.6 㭪樨  p ᫮ p㬥⮢ ...............99
    5.4.7 p 祭  㭪権 ...........................100
5.5 襭  맮  ᭮  80x87 pp .......103
    5.5.1 p䥩  㭪ﬨ 몠 ᥬp ...............103
    5.5.2 p 祭  pp ᭮  80x87 ....105

6 ᥢp (p) ...................................105
6.1  ....................................................106
6.2 ᯮ짮 ᥢp  㪠 権  ......107
6.3 ᯮ짮 ᥢp  㪠 ⥪
     㬮砭 ................................................108
6.4 ᥢp ⮢ ...................................109
6.5 ᥢp ALLOC_TEXT ................................110
6.6 ᥢp CODE_SEG ..................................110
6.7 ᥢp DATA_SEC ..................................111
6.8 ᥢp INTRINSIC .................................111
6.9 ᥢp FUNCTION ..................................112
6.10 ᥢp INLINE_DEPTH (⮫쪮 C++) ...............113
6.11 ᥢp INLINE_RECURSION (⮫쪮 C++) ...........114
6.12 ⠭ p pp ᮮ饭 (⮫쪮 C++) ..114
6.13 ⠭ pp 樠樨 ᪨ 
     (⮫쪮 C++) ..............................................115
6.14 ᯮ⥫ ᥢp ..........................116
    6.14.1  p⮢ ᨬ ...........................116
    6.14.2  ᥢ (Alias) ............................118
    6.14.3 p⨢   ᨬ쭭 䨪p .120
.
                               IX

                         p

    6.14.4 ᠭ p樨 맮 ...........................121
        6.14.4.1 p㧪 ᥣ⭭ pp  ..........124
        6.14.4.2 p ᯮpp㥬 ᨬ 
                 ᪨ ⥪  ............125
        6.14.4.3 p 㭪権 p 맮 Windows ..125
        6.14.4.4 p  ⨢樨 .....................126
    6.14.5 ᠭ p樨  p㬥 ...................126
        6.14.5.1 p p㬥⮢  pp ................127
        6.14.5.2 饭 p㬥⮢  ᯥ᪨ pp ..130
        6.14.5.3 p p㬥⮢ p 㭪 ........130
        6.14.5.4  p㬥⮢  ⥪ ...................131
        6.14.5.5 p p㬥⮢  p⭭ p浪 ........132
    6.14.6 ᠭ p樨 p 㭭権 ..............133
        6.14.6.1 p 祭 㭪権  pp ..........133
        6.14.6.2 p pp ...............................134
        6.14.6.3 p   饩 窮 ..............136
    6.14.7 㭪樨   p騥  室
           pp ............................................137
    6.14.8  㭪樨 ᯮ  ........................138
    6.14.9  pp 塞 㭪樥 ..............143
    6.14.10 pp ..............................................144
    6.14.11 ᯮ⥫ ᥢp  80x87 ...........145
        6.14.11.1 ᯮ짮 80x87  p p㬥⮢ ..146
        6.14.11.2 ᯮ짮 80x87  p 祭
                  㭪権 .......................................150
        6.14.11.3 p pp  饩 ⮩ 80x87
                  p 맮 ...................................150

WATCOM C/C++ 32..................................................151

7   p WATCOM C/C++ 32 .................................151
7.1  ....................................................151
7.2 p  p WATCOM C/C++ 32 .....................151
7.3 p 権 WATCOM C/C++ 32 .................................152
7.4 樨 p ...........................................158
7.5 p p WCC386/WPP386 ..............................190
7.6 pp  p WATCOM C/C++ 32 ....................191
7.7   襭 p⥫쭮 ......................193
7.8 ⨪ p .....................................194
7.9 p⪠ #include 䠩 p WATCOM C/C++ 32 .....197
.
                              X

                          p

7.10 ppp WATCOM C/C++ 32 ...............................199
7.11 pp p WATCOM C/C++ 32 ..............201
7.12 p 祢 ᫮ WATCOM C/C++ ....................203
7.13 pp  WATCOM ......................................208
7.14 ⥪ WATCOM C/C++ 32 .................................210
    7.14.1 ⥪ ᮢ WATCOM C/C++ 32 ...................210
    7.14.2 ⥬᪨ ⥪ WATCOM C/C++ 32 ............211
    7.14.3 ⥬᪨ ⥪ 8087 WATCOM C/C++ 32 ......212
    7.14.4 p⨢ ⥬᪨ ⥪
           WATCOM C/C++ 32 ......................................212
7.15 pp 樠樨 p 믮
     WATCOM C/C++ 32 ............................................213

32-pp來 ᯥ ............................................213

8   p⥪p 386 .............................................213
8.1 p ....................................................213
8.2 騥 pp ..............................................213
    8.2.1 p EAX ...........................................215
    8.2.2 p EBX ...........................................215
    8.2.3 p ECX ...........................................215
    8.2.4 p EDX ...........................................215
    8.2.5 p ESP  EBP ....................................215
    8.2.6 p EST  EDT ....................................216
8.3  pp .........................................216
    8.3.1 p CS ............................................217
    8.3.2 p DS ............................................217
    8.3.3 p ES, FS  GS ..................................217
    8.3.4 p SS ............................................217
8.4 ⥫  ...........................................217
8.5 p 䫠 ..............................................217
    8.5.1 p㠫 p 8086 ................................219
    8.5.2   ...................................219
    8.5.3    .................................219
    8.5.4 p pp /뢮 .......................219
    8.5.5  p  ........................................219
    8.5.6  p .........................................219
.
                                XI

                        ঠ

    8.5.7  ᯮ⥫쭮 p ........................219
    8.5.8   .............................................220
    8.5.9    ...........................................220
    8.5.10  誨 .........................................220
    8.5.11  pp襭 pp뢠  ..........................220
    8.5.12  p .....................................220
    8.5.13  p ....................................220
8.6 ᫥ 䥪⨢ p ..............................221
    8.6.1 롮p  .......................................221
    8.6.2 롮p  ........................................221
       8.6.2.1 pﬠ p  ................................222
       8.6.2.2 Hp⢥ p .......................222
       8.6.2.3  p ................................222
       8.6.2.4 p  + ᬥ饭 ........................222
       8.6.2.5 p ( * ⠡) + ᬥ饭  ........222
       8.6.2.6 p  +  + ᬥ饭 ...............223
       8.6.2.7 p  + ( * ⠡) + ᬥ饭 ..223

9   .................................................223
9.1  ....................................................223
9.2   .................................................223
9.3   ...............................................224
9.4   ...............................................225
9.5 ᪠   .......................................225
9.6 蠭   .....................................225
9.7  pp  p筭    ..........226
9.8 䨣p  .........................................226

10 p 몠 ᥬp .................................228
10.1  ...................................................228
10.2 p⠢  .......................................229
   10.2.1  "char" ............................................229
   10.2.2  "short int"  ......................................229
   10.2.3  "long nit"  .......................................230
   10.2.4  "int" .............................................230
   10.2.5  "float"  ..........................................230
   10.2.6   "double" .........................................232
10.3 䨣p  ........................................233
.
                               XII

                        ঠ

10.4 襭  맮  -80x87 pp .................235
    10.4.1 p p㬥⮢ ᯮ ᭮  pp
          ᮣ襭  맮 ..................................235
    10.4.2 p p ⨯ .............................236
    10.4.3 p p᫨ ⨯ ...........................237
    10.4.4 ﭨ p⨯ 㭪権  p㬥 ..............238
    10.4.5 p䥩  㭪ﬨ 몠 ᥬp ...............239
    10.4.6 ᯮ짮 ᮣ襭  맮 ᭮ 
           ⥪ ................................................243
    10.4.7 㭪樨  p ᫮ p㬥⮢ ..............247
    10.4.8 p 祭  㭪権 ..........................247
10.5 襭  맮  ᭮  80x87 pp ......250
    10.5.1 p䥩  㭪ﬨ 몠 ᥬp ..............251
    10.5.2 p 祭  pp ᭮  80x87 ...253
.
                                XIII

                             p

11 ᥢp (p) ..................................253
11.1  ...................................................253
11.2 ᯮ짮 ᥢp  㪠 権  .....255
11.3 ᯮ짮 ᥢp  㪠 ⥪
     㬮砭 ............................................... 256
11.4 ᥢp ⮢ ..................................257
11.5 ᥢp ALLOC_TEXT ...............................258
11.6 ᥢp CODE_SEG .................................258
11.7 ᥢp DATA_SEC .................................259
11.8 ᥢp INTRINSIC ................................259
11.9 ᥢp FUNCTION .................................260
11.10 ᥢp INLINE_DEPTH (⮫쪮 C++) ..............261
11.11 ᥢp INLINE_RECURSION (⮫쪮 C++) ..........262
11.12 ⠭ p pp ᮮ饭 (⮫쪮 C++)..262
11.13 ⠭ pp 樠樨 ᪨ 
      (⮫쪮 C++) .............................................263
11.14 ᯮ⥫ ᥢp .........................264
    11.14.1  p⮢ ᨬ ..........................264
    11.14.2  ᥢ (Alias) ...........................266
    11.14.3 p⨢   ᨬ쭭 䨪p .268
    11.14.4 ᠭ p樨 맮 ..........................269
        11.14.4.1 p㧪 ᥣ⭭ pp  .........272
        11.14.4.2 p  ⨢樨 ....................272
    11.14.5 ᠭ p樨  p㬥 ..................273
        11.14.5.1 p p㬥⮢  pp ...............273
        11.14.5.2 饭 p㬥⮢  ᯥ᪨ pp .277
        11.14.5.3 p p㬥⮢ p 㭪 .......277
        11.14.5.4  p㬥⮢  ⥪ ..................279
        11.14.5.5 p p㬥⮢  p⭭ p浪 .......279
    11.14.6 ᠭ p樨 p 㭭権 .............280
        11.14.6.1 p 祭 㭪権  pp .........280
        11.14.6.2 p pp ..............................282
        11.14.6.3 p   饩 窮 .............283
    11.14.7 㭪樨,   p騥  室
           pp ............................................284
    11.14.8  㭪樨 ᯮ  .......................285
    11.14.9  pp 塞 㭪樥 ..............291
    11.14.10 pp .............................................292
    11.14.11 ᯮ⥫ ᥢp  80x87 ..........293
        11.14.11.1 ᯮ짮 80x87  p p㬥⮢ .293
        11.14.11.2 ᯮ짮 80x87  p 祭
                  㭪権 .......................................297
        11.14.11.3 p pp  饩 ⮩ 80x87
                  p 맮 ...................................297

.
                              XIV

                           p

pp p㬥 WATCOM ..................................299
騪 WATCOM ..............................................299

12  .....................................................299
13 p ᯮ塞 䠩 QNX  ...............................300
13.1  p 騪 WATCOM ......................300
13.2 p⨢ 騪 WATCOM ..............................304
   13.2.1 p⨢ ALIAS  ......................................305
   13.2.2 p⨢ DEBUG .......................................305
       13.2.2.1 p  p p - DEBUG LINES ........307
       13.2.2.2 p   ᨬ - DEBUG LOCALS ..308
       13.2.2.3 p  ⨯ - DEBUG TYPES ................308
       13.2.2.4 p  ᪨ ᨬ - DEBUG STATIC 309
       13.2.2.5  ⫠筠 p - DEBUG ALL ...........309
       13.2.2.6 p   ᨬ ................309
       13.2.2.7 ᯮ짮 p⨢ DEBUG ....................310
       13.2.2.8  ⫠筮 p樨 
                ᯮ塞 䠩 ..............................311
   13.2.3 p⨢ DISABLE .....................................311
   13.2.4 p⨢ FILE ........................................312
   13.2.5 p⨢ FORMAT ......................................314
   13.2.6 p⨢ LIBRARY .....................................315
       13.2.6.1  ⥪ 㪠  p p ....316
   13.2.7 p⨢ LIBFILE .....................................318
   13.2.8 p⨢ LIBPATH .....................................320
   13.2.9 p⨢ MODTRACE ....................................321
   13.2.10 p⨢ NAME .......................................322
   13.2.11 p⨢ NEWSEGMENT .................................323
   13.2.12 p⨢ OPTION .....................................323
       13.2.12.1  ARTIFICIAL ...............................324
       13.2.12.2  CACHE ....................................325
       13.2.12.3  CASEEXACT ................................326
       13.2.12.4  DOSSEG ...................................327
       13.2.12.5  ELIMINATE ................................328
       13.2.12.6  HEAPSIZE .................................329
       13.2.12.7  LINEARRELOCS .............................329
       13.2.12.8  LONGLIVED ................................330
       13.2.12.9  MANGLEDNAMES .............................330
.
                                XV

                             p

       13.2.12.10  MAP .....................................330
       13.2.12.11  MAXERRORS ...............................331
       13.2.12.12  NAMELEN .................................331
       13.2.12.13  NODEFAULTLIBS ...........................332
       13.2.12.14  NORELOCS ................................333
       13.2.12.15  OFFSET ..................................333
       13.2.12.16  OSNAME ..................................334
       13.2.12.17  PACKCODE ................................334
       13.2.12.18  PACKDATA ................................335
       13.2.12.19  PRIVILEGE ...............................336
       13.2.12.20  QUIET ...................................336
       13.2.12.21  RESOURCE ................................337
       13.2.12.22  STACK ...................................337
       13.2.12.23  STATIC ..................................338
       13.2.12.24  SYMFILE .................................338
       13.2.12.25  UNDEFSOK ................................339
       13.2.12.26  VERBOSE .................................340
   13.2.13 p⨢ PATH  ......................................340
   13.2.14 p⨢ REFERENCE ..................................341
   13.2.15 p⨢ SEGMENT ....................................342
   13.2.16 p⨢ SORT .......................................343
   13.2.17 p⨢ SYMTRACE ...................................344
   13.2.18 p⨢ SYSTEM .....................................344
       13.2.18.1 樠 ⥬  ....................346
   13.2.19 p⨢ # ..........................................346
   13.2.20 p⨢ @ ..........................................347
13.3 䨣p  ........................................350
13.4 p   騪 WATCOM ....................350

14 ⨬  맮 ..................................351

15 饭  訡 騪 ............................353

pp ⥪ .........................................370

16 pp ⥪ WATCOM ...............................370
16.1  ...................................................370
16.2  p pp ⥪ WATCOM ...........371
16.3  㫥  筮 䠩 ...................373
16.4  㫥  筮 䠩  ...................373
16.5  㫥  筮 䠩  ......................374

.
                              XVI

                          p

16.6 祭 㫥  筮 䠩 ..................374
16.7  ⥪ p .................................375
16.8  ⮢ ⥪ p .......................375
16.9   䠩 ...........................................376
16.10 樨 pp ⥪ WATCOM .....................377
   16.10.1  ᮧ pp 䠩 -  "b" ....377
   16.10.2 ⢨⥫  pp ᨬ 
           -  "" ..........................................377
   16.10.3  室 ⠫ -  "d" .............377
   16.10.4 p p  ᪨ ⥪
            -  "i" ..............................377
   16.10.5  䠩 ⨭ -  "l"  .................378
   16.10.6  ᫮  C++ -  "m" ..............379
   16.10.7 ᥣ ᮧ  ⥪ -  "n" ........379
   16.10.8   室 䠩 -  ""  ..........379
   16.10.9  pp   ⥪ -  "p" .....379
   16.10.10 ⬥ 뢮 ᮮ饭 -  "q" .................380
   16.10.11 ⬥ ᥩ  p p -  "s" ..........380
   16.10.12 p  㫥 -  "t" ...................380
   16.10.13 祭  䠩  ⥪ 
            -  "x" .........................................381
16.11 饭  訡 ⥪p ,........................381

ᥬp ....................................................385

17 ᥬp ꥪ⭭ 䠩 ...............................385
17.1  ...................................................385
17.2  ⨭ - "l[=<䠩_⨭>]" .....................386
17.3  "筨" - "s[=<䠩_筨>]" ...................387
17.4  㪠 ᥣ⮢  - "c=<_>" .............388
17.5  ᨬ p ⪨ - "i=<ᨬ>" ..........389
17.6  p ᥬp - "a", "au" .......................389
17.7  p⨢ p p樨 - "b" .................389
17.8  譭 ᨬ - "e" ..............................390
17.9   ᨬ - "p" .................................390
17.10   p pp - "r" ..........................391
17.11     p孥 pp - "u" ......................391
17.12 p ᫮  C++ - "m" ........................391
17.13 pp ....................................................391

⨫ Strip ...................................................394
.
                               XVII

                         ঠ

18 ⨫ WATCOM Strip .........................................394
18.1  ...................................................394
18.2  p ⨫ WATCOM Strip ......................395
18.3 饭 ⨫ Strip ....................................396

 ......................................................399

A. ᯮ짮 p p ...............................399

B. ᪨ ᮮ饭 WATCOM C ...........................404
B.1 pp騥 ᮮ饭 p 1  .........................405
B.2 pp騥 ᮮ饭 p 2  .........................408
B.3 pp騥 ᮮ饭 p 3  .........................409
B.4 饭  訡 ........................................410
B.5 p樮 ᮮ饭 ....................................427
B.6 祭 errno    ...................................428
   B.6.1 訡  ⥪ .................................433
   B.6.2 Hp騩   pp뢠 /뢮 ...............434
   B.6.3  IPC/Network - 訡 p㬥⮢ ..................434
   B.6.4  IPC/Network - 訡 p権 ....................435
   B.6.5 ᪨  QNX ..................................436
B.7 饭  ⥬᪨ 訡 p 믮 .......436

C.᪨ ᮮ饭 WATCOM C++ ..........................437
C.1 ᪨ ᮮ饭 ...................................438
C.2 p樮 ᮮ饭 ....................................581
.3 祭 errno    ...................................583
   .3.1 訡  ⥪ .................................587
   .3.2 Hp騩   pp뢠 /뢮 ...............587
   .3.3  IPC/Network - 訡 p㬥⮢ ..................588
   .3.4  IPC/Network - 訡 p権 ....................588
   .3.5 ᪨  QNX ..................................589
.4 饭  ⥬᪨ 訡 p 믮 .......590

D. ⢥  筮  p ..........................591

D.1  ....................................................591
D.2  p  WATCOM C/C++  ? ...............................592
  D.2.1 p室  p UNIX ............................595
  D.2.2 p室  p IBM PC  PS/2  ...............596

D.3     ⨬樨?  .............................598
D.4 祬 p    "stdio.h"? .................600
.
                             XVIII

                        p 

D.5  p 訡 騪 "Undefined Reference"? ....601
D.6 祬  p  ⠭  ? ............603
D.7  砥 ᮮ饭 "size of DGROUP exceeds 64K"? ........603
D.8  砥 ᮮ饭 "NULL assignment detected"? ..........604
D.9  砥 ᮮ饭 "Stack Overflow!"? ...................606
D.10 祬   訡 pp  wlink? ..........607
D.11  pᬠp 室 䠩  ⫠稪?  .............609
D.12  祬 p稥  ﬨ p "d1"  "d2"? .......611
D.13  ᫥  p pp  VIDEO?      .........613

E. 饭  p  pp ᯥ祭 .............613













                    WATCOM C/C++






                               1995

.
                                 - II -


                         ।᫮


       WATCOM C  -  ॠ  ਪ᪮ 樮쭮 ⠭p
    ଠ樮  ⥬  -  "  ணࠬ஢  C",  ANSI
  3.159-19X9. ⠭ ࠧࠡ뢠 孨᪨ ⮬  
  ணࠬ஢  ANSI X3J11.  ஬  ⠭ 몠  C,
  p  ন ᫥ ७  p
   Intel 80x86 । ᮭ ஢.

       WATCOM C++ - ॠ p  ஥  㭠த
  ⠭p    ଠ樮 ⥬ - 몠 ணࠬ஢ C++
  (ANSI X3Jl6, ISO WG21 ). ஬  ⠭ 몠 ++, -
  p  ন  ᫥  ७  p 
  Intel 80x86 । ᮭ ஢.

       WATCOM  ⭠  ᢮ 몮 ࠬ, ࠧࠡ-
  뢠  祭 ᫥ , p  ࠬ
   몮 APL,  BASIC,  , ᪠  .  ᠬ 砫,
  WATCOM    pp  ࠧࠡ⪥ ७ᨬ ணࠬ p-
  ⮢.   p 믮﫨  拉 pp ⥪ -
   IBM 370,  ᥬ⢮ Intel 8086,  Motorola 6809  68000, MOS
  6502,   Digital PDP11  VAX.  設⢥ 砥, ᭠砫 
  뫨 ᮧ pp ।⢠ 室  ७ᥭ 
  ⨬ ।.  ,   뫮 ᮧ   ꥪ⭮
  , ᥬ, 騪  ⫠稪,   뫮 㯭
   ᫨ 騥 뫨 .

        ,  ᫥ 뫮   ࠧࠡ "ᮢp-
  襭"    ꥪ⭮   ᥬ⢠ Intel 8086.  
  뢭 ᪠  ᯮᮡ 襭 ⢠ ᮧ -
  ,       㤮⢮ १⠬.  ᪮쪮
  p㯭 ,      室  -
  樨 ꥪ⭮ ,  p諮  .  ᫥ 
  ᯮ ᮢ६ ﭨ  孨,  ⮡  ந  
  祭 ᮪ ⢠  ᥬ⢠ 8086.  襬 㤮⢮p
   ⥯  ⥬ ࠧࠡ⪨ ணࠬ ᯥ祭   ,
    p   ⥬,   pp뢠 ਪ
  ணࠬ  C  IBM PC  .

       "⨬p騩 p  pp p⢠ WATCOM C/C++
  - 㪮⢮ 짮⥫  QNX" 뢠  ᯮ짮 WAT-
  COM C/C ++  p  Intel 80x86 ᮭ  

                                 - III -

   ᮧ ਪ ணࠬ QNX. 㪮⢮ 짮⥫ -
  ⠢    ⥩  ਫ.   - "
   WATCOM C", "16-pp來 p WATCOM C", "32-pp來 -
  p WATCOM  C/386"    "pp  p⢠  WATCOM".  ࢠ
  ,  ⪮   WATCOM C, 砥 ᠭ ⨫ -
  ஢   QNX - cc.    뢠  16-p-
  p來 p   易 16-pp來 p ⨯ ⪮
  ⪮  ⥪ 8086  Intel,  ᠭ    
  p  16-pp來 p,  16-pp來 ᮣ襭
  맮    ᥢਨ  (p)  16-pp來  p.
      뢠  32-pp來  p   易 
  32-pp鸞 p ⨯ ⪮   ⥪  386  Intel,
  ᠭ     p 32-pp來 p,
  32-pp來 ᮣ襭  맮  ᥢਥ 32-pp來-
   p.  ⢥  p㪮⢠ 짮⥫ 뢠
  騪 (騪) WATCOM,   ⥪  ꥪ
  䠩,  ᥬ ꥪ 䠩  ⨫ "strip" "p-
  " ᯮ塞 䠩  㦭 p樨.

       ਫ ᮤঠ ଠ ⭮⥫쭮 ᯮ짮  -
  ६ p ࠧ묨 ⠬ , ᯨ᮪ -
   ᮮ饭 WATCOM C/C++  ᭥ﬨ  ,    楤
   ᮮ饭    ஡  ணࠬ ᯥ祭.

       ஬ ⮣ 㪮⢠,  ⠪ p⠢塞  ᫥ -
  㬥.

       "ᠭ 몠 WATCOM C" 뢠  ணࠬ஢ AN-
  SI C  ७  ,  ᯥ稢 WATCOM C.

       "ᠭ ⥪  WATCOM  C    QNX" 뢠 ⥪
  WATCOM C.   ⮬ 㪮⢥,   뢠 ⠭ ⥪
    C    讥 ⢮ ⥫  ண-
  ࠬ,   ࠧࠡ ਪ ணࠬ  ᮭ-
   ஢ IBM   ⮩.

       "ᠭ ⥪  ᮢ WATCOM C++" 뢠 ⥪
  ᮢ WATCOM C++.  "㪮⢮ 짮⥫ WATCOM VIDEO" -
    ᯮ짮 ⫠稪 WATCOM  DOS, p⥫ DOS, Win-
  dows, Windows NT, OS/2, Novell NetWare 386  QNX.

       ⥫  ⮩ 㬥樨  뢠 :

         QNX Software Systems Ltd.

                                 - IV -

         175 Terence Matthews Crescent
         Kanata, Ontario
         CANADA K2M lW8
         Phone: 613-591-0931
         Fax: 613-591-3579

       p p

          ᮧ   ஭ ⥫᪮ -
  ⥬ WATCOM GML,  pp 㬥, pp⠭  த-
   WATCOM.  ⮩ ⥬ 짮⥫ ᯮ ⥪⮢ p-
  p ASCII ⨯ pp WATCOM,  ⮡ ᮧ  室  䠩,
  ᮤঠ騥  ⥪  㥬  ⬥⪠.   ⬥⪨ ન
    㬥,  ⨯ , ࠧ, ࠣ䮢, 
  ᯨ᪮.  WATCOM GML,  p⠥  p樮 ⥬
  MS DOS,  IBM CMS VM/SP  Digital VAX/VMS,    ⬥⪨,
  ⮡  ଠ஢  ⥪   ⨯ ⮩,     .
  짮⥫  ந 뢮   ਭ஢,   -
   ਭ, ᯮ ⤥쭮 ।塞 ४⨢ ࠧ-
    ⠪ 饩  롮 , ਭ ⮫  , -
   ⮫殢,   ...   - ⠭ ⢥ ,
  ᮤঠ ⥣஢ ⥪  䨪.

        "Plum Suite Validation Suite for C/C++"  業 p
  ஢થ ᮮ⢥⢨ p WATCOM C/C++ ⠭ 몠 AN-
  SI C  p ஥ ⠭ 몠 ++.

        짮⥫ ᯥ稫 業    
  ࠭  ᨩ p WATCOM C/C++  易 㬥⠫-
   ।.   ਨ 祭 業. ᫨  室 ஡-
      㬥樨    訥 ।,  
  ⥫     . ᫥ ਫ  ⮬ 㪮-
  ⢥ 뢠 ࠧ ᯮᮡ p    WATCOM.

       ࠫ, 1993.

       ન ⮢⥫, ᯮ㥬   p㪮⢥:

  DOS/4G  p p Rational Systems, Inc.

  High C  p p MetaWare, Inc.

  OS/2  p p lnternational Business Machines Corp.
  IBM  ppp p p International Business

                                 - V -

    Machines Corp.

  Intel and Pentium  ppp p p Intel Corp.

  Microsoft   ppp  p  p  Microsoft Corp.
  Windows and Windows NT  p p Microsoft Corp.

  Netware, NetWare 386,  and Novell    ppp p
  p Novell, Inc.

  OS/386  p p Ergo Computing, Inc.

  Phar Lap and 386|DOS-Extender  p p Phar Lap Software,
         Inc.

  PenPoint  p p GO Corporation.

  QNX  ppp p p QNX Software Systems Ltd.

  UNIX  ppp p p UNIX System  Laboratori-
  es, Inc.

  WATCOM and Express C  p p WATCOM International Corp.




















                    WATCOM C/C++

























                               1995

.
                                 - 2 -

       1.   WATCOM C/C ++

       1.1.  砫

       । p室  ஡ ᠭ ⮢ WATCOM C/ C++
     p ,   稭  p⪮   -
  ஢,     믮 pp C/C++.   襣
  ਬ  ᮡࠥ ᯮ짮  pp "hello".

     #Include <stdio.h>
     void main()
     {
     Printf ("Hello world\n");
     }

      ⮩ ணࠬ  ++:

     #Include <iostream.h>
     #Include <iomanip.h>
     void main()
     {
     Caut << "Hello world" << endl;
     }

        ⮩ ணࠬ o  ⮬,  ⮡ ⮡ࠦ ᮮ饭
  "Hello world"  ࠭.    ᯮ pp -
  筮 pp C Printf  믮 ⮩ .   ++
  ᯮ ⥪ "iostream",  ⮡ 믮   .  
  㤥 p  १ 蠣, 室  祭 ⮣ p-
  .

       1.2. p⮥ ᭥ ஢   

        ८ࠧ 室 ணࠬ ++  믮  䠩,
   蠣  믮:

       1) 室 䠩  ஢  ꥪ 䠩 (-
  ७  砥 䠩 ".o").

       2) ꥪ 䠩  oꥤ  묨 ண-
  ࠬ  ᮧ ᯮ塞 䠩.

        楤  믮   ⨫,  뢠
  cc.  ⨫ ꥤ 䠧 ஢   (p-

                                 - 3 -

  p 痢)   믮 ணࠬ   蠣. -
  ࠬ,  p  ⨫ cc,  室 䠩 C/C++,
  ꥪ  䠩      䠩.   室 䠩
  C/C++  ஢ ,  ᫨  訡   ந,
     p㣨 㪠묨 ꥪ묨 䠩  -
    ᮧ 믮塞 ணࠬ.

       1.3 ⠭ p p

       । 砫 ᯮ짮 WATCOM C/C++  易   -
  㬥⠫  ।,  ᫥騥  ⥬ ६  
  p.
       ࢠ  ,  PATH,  ।  ᯮ짮 -
   cc. ⨫ c 頥  뢠  ᯮ짮 -
  p  騪.  ६ p INCLUDE  WATCOM  -
  । । ᯮ짮 WATCOM C/C++  ⤥쭮  -
  騪 WATCOM.

  PATH
        ⮣,  ⮡ QNX  室    䠩  pp
  WATCOM  C/C++,      p ⥬ ६ PATH,
  ⮡ 㪠뢠 ᪨  ⠫      pp.  ⠫  
  㬮砭   䠩 WATCOM C/C++ QNX 뢠 "/bin/".

       ਬ:     $ export PATH=:/bin:/home/bin

  INCLUDE
       ⮡ QNX  室  (header)  䠩    WATCOM
  C/C++ ⠪  Stdio.h,   p ६ p INC-
  LUDE.   ᯮ짮 ⨫ cc,   室 ।  
  ६  p,  ⠪   ⮬ 砥 ᯮ p㣮 -
    䨪樨   䠩  WATCOM  C/C++.
  ,        㪠 p砫쭮 p ᯮ짮
  WATCOM C/C++ p⢥,    ⮩ ⨫.  p
  p INCLUDE   ⮯ 䠩  WAT-
  COM C/C++ (䠩  ७  䠩 ".h").

       ਬ:     $ export INCLUDE=/usr/include

  p p p INCLUDE  ப PATH    ன  
    ।   襥 ⢮ ⠫ ⤥塞
  ﬨ (":").

  WATCOM

                                 - 4 -

        ⮣, ⮡ 騪 (pp 痢) WATCOM  -
    䠩 WATCOM C/C++,    p p-
   p WATCOM,  ⠫,  p 室 WATCOM C/C++.
   ᯮ짮 ⨫ cc,   室 ।  ⥬-
   ६,  ⠪   ⮬ 砥 ᯮ 㣠 ⮤
   䨪樨    䠩    騪
  WATCOM.  ,     ⠪,   㪠 p砫쭮,
    稭 ᯮ짮 騪 WATCOM אַ  
  ⨫  .  ६  p  WATCOM ᯮ  宦
  ⥪,    ᯮ짮  p    ⮣
  pp.   ⠫     㬮砭    䠩  WATCOM  C/C++  -
  "/usr/lib".

       ਬ:     $ export WATCOM=/usr/lib

       1.4.  ६ p

         ஢, p쭮  ⠭ p p
  ⥬   "export"  ⢥   ᪠.

       ਬ:     $ export
                   SHELL=ksh
                   TERM=qnx
                   LOGNAME=fred
                   PATH=:/bin:/home/bin
                   HOME=/home/fred
                   INCLUDE=/usr/unclude
                   WATCOM=/usr/lib

       1.5.  cc/CC

        QNX,  cc/CC - ।⥫ 䥩  -
  p C/C++.    p ᯨ᮪ 室  ꥪ -
     ப   뢠  ᮮ⢥騩  ᨭ⠪᪨
  , ⮡ ஢  室 䠩. ꥪ -
  㫨 । אַ 騪.   祭  襣  -
  ⢠ ଠ樨 ⭮⥫쭮  cc/CC, , p
   㪮  ⨫⠬.

       1.6.    ਪ ணࠬ QNX

        ஢   襩  ਬ୮  ணࠬ,
  ⥪ ன ࠭  䠩 hello.c,  ᫥ -
  :

                                 - 5 -

       $ Cc -o hello hello.c

        㬮砭, ⨫ cc 㤥 ᮧ 32-pp來 ਪ-
   ணࠬ.   ᮧ ਪ ணࠬ  16 pp-
   㪠  "2"  뢠  ᫥饬 ਬ.

       $ Cc -2 -o hello hello.c

        ᮮ饭,    ࠭, 뢠
  :

     $ Cc -o hello hello.c
     Wcc -zq -ms -i=/usr/include hello.c
     Wlink op quiet form qnx na hello op priv=3 op libp
     /usr/lib f hello.o

       ᫨   ᮮ饭   訡  﫨  p 䠧
  p      (pp  痢),  ணࠬ
  "hello"  ⥯ ᪠.

       $ Hello
       Hello world

       ᫨  ᫥ ⥪騩 ⠫,   ,    ᮧ
    䠩.   hello.o (१ ஢ hello.c)  hello
  (१   hello.o    ᮮ⢥騬  ⥪
  WATCOM  C/C++).   ⮣ pp hello,   믮
  QNX,    "hello".

       1.7. ⫠  ⮩ p pp QNX

        ਬ,    ⫠  p p-
  p,  ⮡  訡  ணࠬ஢.  ।饬 ࠧ
  pp "hello" ஢        ﬨ  
  㬮砭.  ⫠ pp 뫮  㤮 p  ᨬ-
  ᪨  ணࠬ  ६.  뫮  ⠪ 㤮 -
    p p 室 ⥪,     設 몮-
   ஢.   ⮣,  ⮡   ,    
  㪠 p  騪  ⥫ ⫠-
   ଠ  ꥪ  ᯮ  䠩.  p  ᯮ짮
   ,  쭮 . c ᯮ 樨 "⫠"  -
   ᮮ⢥騥 ⫠ ४⨢  騪 WATCOM.

       ਬ, ⮡  ஢   pp "hello"

                                 - 6 -

   祭 ⫠筮 p樨,  ᫥     -
  .

       $ Cc -g -o hello hello.c

        뢠 ⨯ ᮮ饭,     
  ࠭:

     S cc -g -o hello hello.c
     Wcc -zq -d2 -ms -i=/usr/include hello.c
     Wlink op quiet form qnx na hello op priv=3 op "C" libp
     /usr/lib De  f hello.o

        "g" p ᨬ쭮 ⢮ ଠ樨  ⫠-
  ,    ᯥ稢 p WATCOM C/C++. ⨫ c
  ᯥ,    ଠ  ⫠     ᯮ塞
  䠩,  ந 騪.
        ᣥ஢  訩 祬  ।饬 ਬ,
  ᪮ 롮 樨 "g" pp  襩 ⨬樨 -
    祬 p p    㬮砭.      p
  襩  ⨬樨    㪠 ᮮ⢥ 権.  ,
  ᤥ ⠪,   ᤥ  p㤭  ᥡ  p  ᮮ-
  ⢨  ꥪ     室 몥.
         , ⮡   ⫠ pp, ᫥
    .

       $ Wvideo hello

       㤥 ᫨誮 ⮫,  p 뢠 ⫠稪  ⮩
   ,  ⠪   ⭮ᨬ    "㪮⢮ 짮-
  ⥫ WATCOM ".  砥  騥  ⭮-
  ⥫쭮 ⫠ p pp C/C++. ᫨  砫 p 
  ⫠稪  ⥫ ,     "quit".

       1.8. 롮 権 ६ 樨

         , , ,   
  ᨭ⠪᪮ ,   ᤥ ⠪  맮 c/CC
   樥 "-Wc".  ਬ,    ⪫ pp  ९
  ⥪  㤥 ᯮ짮  "-s". ਬ:
       cc - Wc, -s ...

        ⠫஢  ଠ樨  ⭮⥫쭮  p 
  騪 C/C++ . ᮮ⢥騥    㪮⢥.

                                 - 7 -


        樨 WATCOM C/C++   ᯮ짮   -
  ஢ pp pp QNX. 㣨  ᯮ짮-
  ,   p.

        ᯮ ᫥騥 樨, ᪮  ⥪  QNX  
  p ᮣ襭  맮 ⥪.

     -3s ᮣ襭  맮 386 ⥪
     -4s ᮣ襭  맮 486 ⥪
     -5s ᮣ襭  맮 ⥪ Pentium

        ᯮ

  -sg
       ,  맮  㢥祭 ⥪, ⠪  QNX 
  ᯥ稢 ⠭ ⥪.

       ᯮ ᫥   p.

  -zu DS!= DGROUP
              뫪  ⥪   FAR.  c
   pp QNX ᯮ  small,   
  ᯮ짮  "zu"     ᯮ饩 " ᥣ
  " ( , l6-pp來 small  medium, 32-pp來 small).
  ,  "zu"  室  ஢ ࠡ-
  稪   뢠   (.    "        ᯮ짮    qnx"
  -qnx_hint_attach).

        ᯮ ᫥騥 樨       ਪ
  32-pp來 ணࠬ:

  -m {m,c,l}   (।, ⭠, )

         32-pp來 QNX p ⮫쪮  (small)
    (flat) .

       ᯮ ᫥騥 樨  p, ⠪   -
   p । ⭮⥫쭮 ᥣ    -
  ஢      㤥  ᮢ⨬    騬  ﬨ
  32-pp來 QNX.

  -zdf
       DS ,  ,  䨪p  DGROUP

                                 - 8 -


  -zt <number> ⠭ ண 

  -zdl         㦠 DS אַ  DGROUP


                           WATCOM C/C++ 16


       2. p WATCOM C/C++

       2.1. 

         뢠 p WATCOM C/C++,    -
  樨  p.  WATCOM  C/C++ p pࠡ ਪ
  16-pp來 ணࠬ  QNX. p WATCOM C/C++  p-
      讬 ᫥ p .    権,
  ᠭ ,   ਬ p ஢ ਪ ண-
  ࠬ QNX.  p 㪠뢠   砨.

       2.2 p  p WATCOM C/C++.

       ଠ ᨭ⠪  p WATCOM C/C++ 뢠-
   .

     Wcc [options] file_spec [options] [@env_var]
     Wpp [options] file_spec [opfions] [@env_var]

        ᪮ []  ,   -
  ⥫묨.

     Wcc -  p WATCOM C16.

     Wpp - "" pp WATCOM C++ 16.

  file_spec
        ᯥ䨪樨  䠩 QNX,   㦭 ஢.  
  㬮砭 WATCOM C16 p p७  䠩  ".c",  
    ७   㪠뢠.  ᫨  pp 
  䠩  㪠뢠,  ⮣ WATCOM C++16 㤥 ᪠ 䠩  
   ᫥ ७,  㪠 p浪:

     1) pp
     2) c

                                 - 9 -

     3) c

       ७   䠩 QNX ⮨    䠩,  -
  ঠ饩 ᫥ "."   ᨬ,  ᫥ .

       ਬ:

        File Specification               Extension

     /home/john.doe/foo                    ()
     /home/john.doe/foo.                   .
     /home/john.doe/foo.bar.               .bar
     /home/john.doe/foo.goo.bar            .bar

       ᫨   ।, ⥪騩 ⠫ ਭ. -
    䠩    ⥪饬 ⠫,   p몠騩 ⠫ C (
   ../c).

  options
        ᯨ᮪ ⨬ 権 WATCOM C/C++16, p  -
    窠 ("-"). 樨  㪠뢠   浪.

  Env_var
        ६ p,   ᮤন  ⥫  樨
   ப  ࠡ⪨.

        WATCOM C++16,    ७ ⠪,    -
  p 砥 ⥫ 樨  ப  䠩  AT.
  ᫨  ६ p  ,    䠩-
    ।塞 .  ᫨  ७ 䠩  -
      ।塞  ,  ७  䠩  㬮砭 ".occ".
  pᬮp   ⥪饬 ⠫.  ᫨   ᯥ,
  ᬥ  ⠫ "OCC" ( ,  ../occ) pᬠp,  ᫨ 
  .

       2.3 騩 p 権 WATCOM C/C++16

        ⮬ ࠧ,   ।⠢塞 ᦠ⮥  १  権  WATCOM
  C/C++16.  騩 ࠧ 뢠  樨  ஡.  
  १ ⮡ࠦ  ࠭    wcc   wpp  
   ࠬ஢.

       樨 ࠭: ᠭ:


                                - 10 -

     -0               8088  8086
     -1               188  186
     -2               286
     -3               386
     -4               486
     -5               Pentium
     -7               ஥ (inline)  80x87

  -b {d,m,w}
       ନ  ,  -  pp
   pp, ࠡ    㬮砭

  -bt[=<os>]
       ନ 楫 ()  樮 ⥬ <os>

  -dl {+}
        ⫠  ଠ     ப (C ⮫쪮 -
  "d1+" 砥  p    ᨬ    -
   pp  ᨢ)

  -d2
       砥  ᨬ ଠ    ⫠

  -d3
       砥   ᨬ ଠ  ⫠  祭
   ⨯,  p  p室 뫮

  -d<name>[=text]
        #define ppp [text]

  -d+
       pp襭 ७ -d ம।

  -e<number>
       ⠭ p p 訡 (-e20  㬮砭)

  -ee
       뢠 p (epilogue) ணࠬ 誨

  -ei
       (C ⮫쪮) 㦤 ᫥  ⨯ "integer" - 楫

  -en
       ᪠  ணࠬ ।  

                                - 11 -


  -ep[<number>]
       뢠 ணࠬ  誨  (筮  ய)
     㪠 㯭 ᫠ ⮢ ⥪

  -ew
       (C++ ⮫쪮)   ஡ ᮮ饭

  -fi=<file_name>
       p㤨⥫쭮 祭  䠩

  -fo=<file_name>
       㪠  ꥪ⭮ 䠩  室 䠩 ९-
  
  -fpc
        맮  ⥪  饩 ⮩

  -fpi
        ஥   80x87  樥 ( p 
  㬮砭)

  -fpi87
        ஥    80x87  (  樨 "7"
  )

  -fp2
        ஥  287

  -fp3
        ஥  387

  -fp5
        p  80x87, ⨬஢  p-
  p Pentium

  -fpr
         8087, ᮢ⨬   묨 ﬨ -
  p

  -g=<codegroup>
       ⠭  p㯯 

  -i=<directory>
        㪠 ⠫  ᯨ include ⠫

                                - 12 -


  -j
        ⮫  ᨬ   㬮砭   
  

  -m {s,m,c,l,h}
           (ms=small:,   mm=medium:p,  mc=com-
  pact:⭠, ml=large:, mh=huge: p) (-ms  㬮-
  砭)

  -nc= <code_class_name>
       ⠭   

  -nd= <data_seg_name>
       ⠭   ᥣ 

  -nm= <module_name>
       ⠭  , ⫨筮   䠩

  -nt= <text_seg_name>
       ⠭  ᥣ ⥪

  -o {a,c,d,eff+,i,l,m,n,o,p,r,s,t,u,x}
       ࠢ ⨬樥

  -p{clw=<num>}
       p 䠩 ⮫쪮 ppp p⪥,  뢮 -
    ⠭ 뢮;

  ""
        ਨ;

  "l"
        p⨢ #line;

  w=<num>
       뢮 뢮  ப  <num> ⮫ ( 砥,  
   p   p)

  -r
       ࠭/⠭ ᥣ ॣ

  -ri
        ᨬ   ⨯ short  楫 (int)

                                - 13 -


  -s
       p ஢ઠ ९ ⥪.

  -sg
        맮  㢥祭 ⥪

  -St
       p  ⥪ ᭠砫 p SS

  -u <name>
        #undef  ppp

  -v
       (C ⮫쪮)  뢮 p樨 㭪権  .def 䠩 ( 
  typedef)

  -w <number>
       ⠭ ⨬ ᫠ ।० ( 㬮砭 -wI)

  -we
         pp   ࠡ뢠    訡

  -wo
       (C ⮫쪮) ।० ⭮⥫쭮 ஡ ૥ -
  

  -wx
       (C++ ⮫쪮) ⠭ ᫠ ।०  ᨬ쭮 -
  ⠭

  -xs
       (C++ ⮫쪮) ᪠ ᪫祭 (᪫⥫ 樨)

  -z{a,e}
       p/᪠ ७ 몠 (-ze  㬮砭)

  -zc
        ࠫ ப  ᥣ 

  -zd{f,p}
        ॣ DS ""  "pp"   DGROUP
  (-zdp  㬮砭)


                                - 14 -

  -zf{f,p}
        ॣ FS ᯮ짮 ( 㬮砭   ᥣ,
  ஬  ᪮-  flat  )    ( 㬮砭
   ᪮  )

  -zg
       (C ⮫쪮)  뢮  p樨  㭪権   .def ( typedef
  )

  -zg{f,p}
           ᯮ짮 ॣ GS

  -zk0
       p 塠⮢ ᨬ Kanji

  -zk0u
       ࠭᫨  塠⮢  ᨬ Kanji  UNICODE

  -zkl
       p 塠⮢ ᨬ  ⠩᪮/ ⠩᪮

  -zk2
       ⮦ ᠬ  p᪮

  -zku= <codepage>
       㧪 p᫨p饩 ⠡ UNICODE   㪠  
  ࠭

  -zl
        p樨   䠩  뫮   -
  ⭮ 䠩

  -zld
        p樨 ଠ樨  ᨬ  䠩 
  ꥪ⭮ 䠩

  -zm
        ⤥ 㭪権  ⤥ ᥣ

  -zp[{1,2,4,8}]
       ⠭ 㬠  ୮ 㯠 (ࠢ -
  ⮢) (-zp1  㬮砭)

  -zq

                                - 15 -

       "" p ( p)

  -zs
       ⮫쪮 pp ᨭ⠪

  -zt<size>
       ⠭ ।   (-zt32767  㬮砭)

  -zu
         p,  SS ᮤন ᥣ DGROUP

  -zw
       ᫥⥫쭮   prologue/epilogue  Microsoft Win-
  dows

  -zW
       ⨬஢   ᫥⥫쭮 prologue/epilogue
   Microsoft Windows

       2.4. 樨 p

  -0
       WATCOM C/C++16 㤥 ᯮ짮 ⮫쪮  8086  ᣥ-
  ஢ ꥪ⭮ .   㬮砭. p騩  -
    믮  8086   室 ᮢ⨬ .
   __SW_0 㤥 ।। ᫨ "0" ࠭.

  -1
       WATCOM C/C++16 㤥 ᯮ짮  80186    ᣥ-
   ꥪ⭮  ᥣ,   .  p騩 ,
  ⭮,   㤥 p  8086-c⨬ ,  
  㤥 믮  80186  ᮢ⨬  .  
  __SW_1 㤥 ।। ᫨ "1" 롨ࠥ.

  -2
       WATCOM C/C++16 㤥 ᯮ짮  286   ᣥ஢-
   ꥪ⭮  ᥣ,  . 騩  १
  , ⭮,  㤥 믮  8086-  80186- ᮢ⨬
  ,    㤥 믮  80286   ᮪ -
  .  __SW_2 㤥 ।। ᫨ 롨p "2".

  -3
       WATCOM C/C++16  㤥  ᯮ짮   80386  FS  GS 
  c஢ ꥪ⭮  ,  .  㤥 -

                                - 16 -

  ஢  ஢ 386. 騩  १ , -
  ⭮,   㤥 믮  8086-,  186-  286-  ᮢ⨬
  ,      㤥  믮  386  ᮢ⨬ p
  .  __SW_3 㤥 ।। ᫨ "3" 롨ࠥ.

  -4
       WATCOM C/C++16  㤥  ᯮ짮   80386  FS  GS 
  c஢ ꥪ⭮  ,  .  㤥 -
  ஢  486 ஢.  p騩 , ⭮, 
  㤥 믮  8086-,  186-  286- ᮢ⨬ ,
      㤥  믮   386   ᮢ⨬ .
   __SW_4 㤥 ।।, ᫨ "4" 롨ࠥ.

  -5
       WATCOM C/C++16 㤥 ᯮ짮  386  FS  GS  ᣥ-
  ஢ ꥪ⭮  ,   .  㤥 ⨬-
  ஢  pp Pentium.  , ⭮,  -
   믮  8086-, 186-  286- ᮢ⨬ , 
   㤥 믮  386   ᮢ⨬ . 
  __SW_5 㤥 ।।, ᫨ "5" 롨ࠥ.

  -7
       WATCOM C/C++16  㤥  ஢  ஥ p樨 
  ᫮    饩 ⮩.    -
  ⭠ "fpi87". p __SW_BD 㤥 ।। ᫨ "7" 롨-
  .

  -bd (OS/2, Windows NT ⮫쪮)
          ⠢ ࠭ ⠢ c⢥饥 DLL
  筮   ꥪ 䠩     ᮮ⢥騩  
  樠樨 DLL p  ⮣ ணp.  __SW_BM
  㤥 pp, ᫨ "bd" 롨ࠥ.    ਬ-
    QNX.

  -bm (OS/2, Windows NT ⮫쪮)
          ⠢  ࠭  ⠢   c⢥饥
  -⮥  筮    ꥪ⭮ 䠩.   __SW_BM
  㤥 ।।, ᫨ "bm" 롨ࠥ.    ਬ
   QNX.

  -bt=<target_os>
          ⠢  ࠭  ।  "ନ騩"
  ⮣ 䠩.   ᯮ  ࠧࠡ⪨.  -
  頥 ࠭  ।  㬮砭 ⥬ p-

                                - 17 -

   (    ⥬,  p⠥ ࠭)
    ।  騩  ப "<target_os>" ८-
  ࠧ   ᨬ 孥 ॣ    p⠢ 
  䨪    ᨬ p. ப -
      㬮砭  뢠   ࠧ "।। 
  WATCOM C/C++".

       ਬ,  㪠  樨:  -bt=foo  ࠭  ।
   __FOO__

        ।頥      । MSDOS  __DOS__,  ᫨
  ࠭ 믮  DOS,  __OS2__  ᯮ짮 OS/2  host-
  ࠭,  __NT__    ᯮ짮 Windows NT host࠭,
   __QNX__  ᯮ짮 QNX host- ᨨ.   ப, -
    ᨬ, ,  ᨬ ન,  ᯮ짮-
     ⥬.  p ⮣,  p  pᯮ
  ᪮쪮  ⥬  믮 ⥫ 樨.

        ⥬    ⥫쭠 

       dos            ।  MSDOS.

       windows          ᠬ,   ।  樨  "zw".
                      32-pp來 p ⥫쭮 ।-
                        __WINDOWS_386__.

       netware (32-pp來  p  ⮫쪮)
                      ⠢ p ᯮ짮 ᭮뢠-
                        ⥪ ᮣ襭  맮,  ᫨  -
                       樨 "3r", "4r"  "5r".  -
                      ।  __386__ __NETWARE.

       Penpoint (32-pp來 p ⮫쪮)
                      ⠢ p ᯮ짮 ᭮뢠-
                        ⥪ ᮣ襭  맮,  ᫨  -
                       樨 "3r", "4r"  "5r".

        -bt  ᫥饣    ⥬  ⠭
   ⥬  㬮砭,

  -bw (OS/2, Windows 3.x, Windows NT ⮫쪮 )
         㪠뢠 p ஢ ᯥ樠 ᨬ-
    ⠪,  ⮡  p ᯥ樠 ᯮ㥬  㬮砭
     p  .   __SW_BW 㤥 ।-

                                - 18 -

  ।, ᫨ "bw" 롨ࠥ.    ⭮  QNX.

  -dl
       ଠ   ப 砥   ꥪ  䠩.  
    ᯥ稢  ⥫  ଠ VIDEO ⫠稪 (
    ꥪ 䠩  ᯮ塞 䠩).    ப
  㤮  ⫠ ⮣ pp   VIDEO  ஢ -
  室 ⥪.   த⢨      .
  ⮡  ४p,   ᯮ짮 ⨫ WAT-
  COM Strip, ⮡ p ଠ  ⫠  믮塞 p-
  .

  -dl+ (C ⮫쪮)
       ⫠筠 p  p p  ⭠ ଠ
     ᨬ   pp  ᨢ 砥
   pp騩 ꥪ 䠩.   p   ᨬ-
      ᤥ 㯭  ⫠稪 VIDEO १ 樨
  騪 WATCOM,  ⭠ ଠ    ᨬ  
    pp  ᨢ p p p -
  室 䠩.   ᯥ稢 ⥫ ଠ 
  ⫠稪  VIDEO  (     ꥪ 䠩  ᯮ塞
  䠩).   த⢨      .  ⮡
    ࠭᫨஢,  ⨫ WATCOM Strip  ᯮ짮-
    㤠 ଠ樨  ⫠  믮  䠩--
  p.

  -d2
          p樨  p  p    ꥪ  䠩
  砥 p   ᨬ  ⨯ .  -
  p   ᨬ   ᤥ 㯭  -
  稪 VIDEO p 樨 騪 WATCOM,   ᨬ 
  ⭠ ଠ p p 樨 室 䠩. 
    p⠢  ⥫ ଠ  ⫠稪 VIDEO
  (   ꥪ 䠩  ᯮ塞 䠩).  㬮-
  ,  WATCOM  C/C++16  㤥 롨 ஢ "od" ⨬樨 ᫨
  㪠  "d2" (.  ᠭ 樨 "od").  ,  ᤥ
  ⫠ ᪮쪮  p⮩.   뢠 ⢨ 
  த⢨ .   ᮧ 䥪⨢ ,  㦭 -
  ࠭᫨஢ 䠩  ⮩ 樨.

  -d3
         筠 "d2",   ⠪ 砥 ᨬ -
  ଠ  ⫠  뢠  ⨯.


                                - 19 -

  -d<name>[=text]
        । 砥     室
  ⥪.  ਬ  ⮩  樨  ⭮  祭 ᫥饩
  ப  室 ⥪.

       #Define  [text]

       ਬ:   -d_MODDATE="87/05/04"

       㯮 ਬ  ⥭  ப 室 ⥪
  ᮤp饩-

         #define _MODDATE "87/05/04"

  -d+
       ᨭ⠪  樨  "d",    室    
  ப,  p, ⮡  ᥬ C/C++   "⥪-
  ". ப ᥬ (થ) 蠥 ஡.   -
    ᫮ ᨭ⠪ 祬 筮.

       ਬ: -d+ -d_radx=x * 3.1415926/180

        ⭮ 㪠 ᫥饣  室 ⥪.

       ਬ:  *Define radx x * 3.1415926/180

       WATCOM C++16  pp   ⥬ pp襭 p-
  p pᮢ.  ⮬ 砥,  㪠뢠 ᯨ᮪ -
  ࠬ஢,    । ᨬ "=".  ⠪  -
    ᠭ      p  p
  ਬ.

       ਬ:

         -d+ -d_rad(x)x * 3.1415926/180
         -d+_rad(x)x*3.1415926/180

        ⭮ 㪠 ᫥饣  室 ⥪.

       ਬ:  *Define _rad (x) x * 3.1415926/180

  -e<number>
       WATCOM C/C++16  ⠭  ࠭ ᫥ ⮣ 
  㤥 ⨣  㪠  ᫮  訡.    㬮砭,  WATCOM

                                - 20 -

  C/++16 ⠭ ࠭ ᫥ 20 訡.

  -ee
         ⠢ ࠭ ஢ 맮   __EPI  
  ᫥⥫쭮 epilogue    㭪樨.  ணࠬ-
    ᯮ짮, ⮡ ᮡ  뢠 p 
  p䨫 p pp.   __SW_EE 㤥 ।।, ᫨
  롨p  "ee".

  -ei (C ⮫쪮)
        㬮砭, WATCOM C/C++16 뤥 ᠬ 쪨 
   ,  ॡ㥬  p    ᯨ᪠.  -
     ᯮ짮,  ⮡ p p ࠧ 
  "int"  㪠 ⨯.   __SW_EI 㤥 ।।, ᫨
  㪠뢠 "ei".

  -en
       WATCOM C/C++16 㤥 ⠢  㭪樨  ꥪ  
  ப ᨬ  p p p樥 prologue ᫥⥫쭮-
     㭪樨.  ப 蠥 ⮬, ᮤp騬 ᫮
  ᨬ  ⮩ ப.

           ; void Toaster (int arg)
                       db    "Toaster", 7
           public  Toaster
           Toaster label byte
                       .
                       .
                       .
                      ret

    ।砥  ࠧࠡ稪 p ⥬  (-
     ਪ ணࠬ).  SW EN 㤥 ।-
  , ᫨ "en" 롨ࠥ.

  -ep<number>
          ⠢  ࠭ ஢ 맮  __PRO 
  砫쭮 (prologue) ᫥⥫쭮 p p   㭪樨.
    ணࠬ  ᯮ짮,  ⮡ ᮡ  -
   p  p䨫 pp.  易⥫ ࠬ <num-
  ber>  ᯮ짮, ⮡ ⠢ p ।
  㪠 ⢮ ⮢  ⥪    __PRO, ⮡ -
  ࠭ ଠ.


                                - 21 -

  -ew (C++ ⮫쪮)
         ⠢ p C ++ ஢  -
  ,   p ᪨ ᮮ饭,

  -fi=<file_name>
        䠩 砥 ⠪,   p⨢:
  #Include "<file_name>"   饭  砫 室 䠩.

       ਬ:  $ Wcc report -fi=/usr/include/stdarg.h

  -fo=<file_name>
        樨 "p{cl}"  "fo" ᯮ  㪠 ꥪ-
   䠩  㬮砭: 㧥, ,  䠩  p७. -
    ꥪ⭮ 䠩  㪠,  ᮧ   室-
   䠩.  ᫨ ७ ꥪ⭮ 䠩  㪠뢠,   -
   ".o"  㬮砭.

       ਬ:  $ Wcc report -fo= //2/proj/obj/

  p騩 "/"   㪠   ⠫. ᫨,
  ਬ,  뫠 㪠   -fo=//2/proj/obj

   ꥪ 䠩 㤥 뢠 //2/proj/obj.o.

  ७   䠩    㬮砭    ।⢮ -
  (".").

       ਬ:    $ Wcc report -fo= //2/proj/obj/.dbo

   樥 "p{cl}":  ९ 롨ࠥ  ᯮ    樨
  "p". "Fo"  ᯮ  㪠 㧫  室 䠩
   㬮砭, ,  䠩  ७. ᫨  室-
    䠩  ।,   ᮧ   室 䠩.
  ᫨ ७ 室 䠩  㪠뢠,   p ".i" 
  㬮砭.

       ਬ:    $ Wcc report -p -fo= //2/proj/prep/

    ⠫  㪠뢠   "/". ᫨, -
  ਬ,   ।﫠   -fo=//2/proj/prep,  ⮣  室
  䠩  㤥  뢠 //2/proj/prep.i.  p  䠩 
  㬮砭  稭 窮 (".").

       ਬ:    $ Wcc report -p -fo= //2/proj/prep/.cpr

                                - 22 -


  -fpc
        䬥⨪  饩 ⮩ 믮  ᭮ 맮-
    ⥪ 樨 饩 ⮩.      -
  짮    ᫥ 稭:

       1) த⢨  樨  饩 ⮩ p⥫-
   祬 ࠧ .
       2) ਪ pp, ᮤঠ 樨  饩 -
  ⮩,  ࠭    80x87  㤥 ।⠢  ⥬.
        __SW_FPC 㤥 ।।, ᫨ "fpc" 롨ࠥ.

        :      ⤥   ணp
    樥 "fpc",  ⮣  㫨    -
    "fpc".

        ⥬᪨  ⥪  ᯥ稢  ਪ-
   ணࠬ,   ஢   p묨  ﬨ  
  饩  ⮩.  .  p,   "⥪ WATCOM
  C/C++16"   ⮩ .

  -fpi
       WATCOM C/C++16  㤥 ஢ p樨  ⥬-
   ᮯpp 80x87  ꥪ    p権    饩
  ⮩.    ᨬ  ⮣   ⥪  ,
     p⢥ ⠢,      -
   ᯥ樠묨  뢠.  ᫥ 砥, p-
    饩 ⮩ 㤥 㫨஢, ᫨ 80x87 .
    ⠭  㬮砭.   __FP1__  __SW_FPI  -
  । ᫨ "fpi" 㪠뢠.

        :        ⮣  pp
    - 樥 " 饩 ⮩",  ⮣ 
  㫨 pp  ஢  ⮩  ᠬ 樥.

        ⥬᪨ ⥪ p⠢   ਪ-
    ணࠬ,    ஢  - p
  樥 p  饩 ⮩.  . p,  "-
  ⥪ WATCOM C/C++16"   ⮩ .

  -fpi87
       WATCOM C/C++16 㤥 ஢ ஥ ᫮  
  80x87    ꥪ   権  饩 ⮩.   p
  p pp  p⢮ 8087  ᮢ⨬ ⥬-

                                - 23 -

  ᪨ ᮯ. ᫨ ᮢ⭮  ⮩ 樥 ᯮ -
   "2",  WATCOM C/C++16 㤥 ஢ p樨  80287  
     ᮢp襭⢮ ᮯpp.   WATCOM C/C++16
  㤥  ஢      8087      ᮢ⨬.   p-
  __FPI__and__SW_FPI87  ।।,  ᫨ p "fpi87".
  . ਬ砭  ᠭ 樨 "fpi".

  -fp2
       WATCOM C/C++16  㤥  ஢  ஥ p樨 
  ᮯpp 287  ꥪ   p権  饩  ⮩.
  8087,  287    ᮢ⨬ ⥬᪨ ᮯ  p-
  ⢮  ६ 믮.  p WATCOM, -
    16-pp來  ,     - 㬮砭.   32-pp來
  ਪ ணࠬ,  ᯮ  , ᫨   p-
    讥 ⢮ 386 ⥬,    287
  ᫮ ஬  ("fp3"  㬮砭    p
  WATCOM       32 ⠬).  ,   32-pp來
  ਪ ணࠬ,  ਬ ⮩ 樨    䥪⨢
  믮.  ᯮ          ﬨ  "fpi" 
  "fpi87".   __SW_FP2 㤥 ।।, ᫨ "fp2" 롨ࠥ-
  .

  -fp3
       WATCOM C/C++16 㤥 ஢  ꥪ    ஥
    387-ᮢ⨬ ᫮ ᮯpp  p権  -
  饩 ⮩.   p p ⮣ pp  p-
  ⢮ 287XL,  387  ᮢ⨬ ⥬᪨ ᮯ. 
  16-pp來 ਪ ணࠬ, ਬ ⮩ 樨 㤥 -
  稢  ⥬,    pp  믮-
  ,  䥪⨢ p . ᯮ   
    ﬨ "fpi"  "fpi87".   __SW_FP3 㤥 ।।,
  ᫨ "fp3" 㪠뢠.

  -fp5
       WATCOM C/C++16  㤥  ஢ ஥  80x87 
  ꥪ   権  饩 ⮩.  ᫥⥫쭮
      饩  ⮩ 㤥 ⨬஢  襩
  䥪⨢ p p  pp Pentium.  p 믮
    p⢮  287XL,  387   ᮢ⨬ ⥬᪨
  ᮯ.   16-pp來 ਪ ணࠬ, ਬ ⮩
  樨  ࠭    ⥬  䥪⨢ p
  .  ᯮ          ﬨ  "fpi"  
  "fpi87".  __SW_FP5 㤥 ।।, ᫨ "fp5" 㪠뢠-
  .

                                - 24 -


  -fpr
       WATCOM C/C++16 㤥 ஢ ஥  ᫮
  ᮯpp 8087  ꥪ   p権  饩 ⮩.
  ᯮ  , ᫨   ஢   -
  饩 ⮩,   ᮢ⨬  ᨥ 9.0   ࠭-
   ࠭஢.   __SW_FPR 㤥 ।।,  ᫨ "fpr"
  롨ࠥ.

  -g=<codegroup>
       ஢  頥  㯯, 뢠 "<codegro-
  up>".  ᥣ ⥪  㬮砭 㤥 "<codegroup>_TEXT", 
     樥 "nt".

       ਬ:   $ Wcc report -g=RPTGROUP -s

          ஢ ਪ ணࠬ  
  쪮 ,    ணp 㤥 ᮤঠ 襥 -
  ⢮   祬 64 .   㯯  ᮤঠ  64
   . p pp ᫥  "ᬥ蠭" -
  ,  ⠪  ᮤন ᬥ 쪮  讣  (p-ᥣ-
    ᥣ 맮).    뢠   ᮮ-
  饩  .  祢  ᫮  far ᯮ  ᠭ
  ணࠬ,  뢠   㯯/ ᥣ,  -
    p㣮 㯯/ᥣ.   쪨  , -
   "s"  ᯮ짮 ᮢ⭮  樥  "g",  ⮡  -
    p 맮 pp ६ 믮 (run-
  time) C "pp ९ ⥪" (__STK).   
  맮  㣨  pp ⥪ p 믮 ,  -
   "쪨 ",  ᪮ ᥣ ("near") 맮
   ணࠬ   .

  -j=<directory>
          "<directory>"    path:path.  㪠뢠  
    ᯨ ⠫,    WATCOM C/C++16 㤥 -
   "include" 䠩.  . ࠧ "p⪠ #include 䠩 -
  p WATCOM C/C++16"  祭 ଠ樨 ⭮⥫쭮 -
   ⠫.

  -j
       ⨯ char   㬮砭     .
  p __CHAR_SIGNED__  __SW_J  ।।,  ᫨ 㪠-
   "j".


                                - 25 -

  -m?
       ?    ᨬ s, m, , l  h. 㠫쭠 
    롨ࠥ   p樨 ꥪ⭮ .  (ਬ砭:  
  ᪮쪨   ⥪  ᨬ p  㪠뢠
   __   ,  ᨬ ન.)

  -ms
       "쪠" (smll)    (쪨  ,  쪨
  ) 롨ࠥ.  㬮砭, WATCOM C/C++16 㤥 롨 
   . 騥   ।।.

                M_I86SM
                __SMALL__
  -mm
       "।" (medium)   (让 ,  쪨 -
  ) 롨ࠥ. 騥   ।।.

                M_I86MM
                __MEDIUM__
  -mc
       "⭠" (compact)    (쪨 ,  訥
  ) 롨ࠥ. 騥   ।।.

                M_I86CM
                __COMPACT__
  -ml
       "" (large)   (让 ,  訥 )
  롨ࠥ. 騥   ।।.

             M_I86LM
             __LARGE__
  -mh
       "஬" (huge)   (让 , ஬ )
  롨ࠥ. 騥   ।।.

             M_I86HM
             __HUGE__

          뢠  ஡    " ".
  㣨 ⥪ ᯥ 8086 ⠪  ࠧ 㪠⥫ -
     ࠧ " pp ⨯"   "-
    몥 ᥬ".

  -nc=<__code>

                                - 26 -

         ""  㬮砭 "CODE",  ᥣ "_TEXT" -
      ᥣ "Module_name_TEXT" 让    
  ਭ  "CODE".    롨 ⫨饥-
       ᥣ⮢ .   "code"  -
    "__code".

        :    "data"  㬮砭 - "DA-
  TA" ( ᥣ "CONST", "CONST2"  "_DATA")  "BSS" ( ᥣ
  "_BSS").   ।     .

  -nd=<prefix>
         ࠧ蠥 । ᯥ樠  䨪    
  ᥣ⮢ "CONST", "CONST2", "_DATA",  "_BSS".  㯯,  -
  ன  ᥣ ਭ, ⠪   "DGROUP"  "pre-
  fix_GROUP".

       ਬ:    $ Wcc report -nd=spec

        㯮⮬  ਬ,    ᥣ⮢  ⠭  "Spec-
  CONST",  "specCONST2",  "spec_DATA",   "spec_BSS",   㯯
  ⠭ "spec_GROUP".

        㬮砭,  㯯    "DGROUP"  ⮨   ᥣ⮢
  "CONST", "CONST2", "_DATA", "_BSS". ࠭ 頥 ।-
   ⨯    ᥣ.  "CONST" ᮤন -
   ࠫ,    室 ⥪.

       ਬ:
                     char *birds[3] = {"robin", "finch", "wren"};
                     printf ("Hello world\n");

        㯮⮬  ਬ,  ப  "Hello world\n","robin",
  "finch",  ...   ᥣ "CONST".

        "CONST2" ᮤন 樠஢   ⥭
  -   ⮫쪮  ⥭ ⨯ ᪠஢, ,  ᨢ.

       ਬ:   const int cvar = 1;
                   int var = 2;
                   int table[ 5 ] = { 1, 2, 3, 4, 5 };
                   char *birds[ 3 ] = { "robin", "finch", "wren" };

        㯮⮬  ਬ,  ᨢ  birds 室  ᥣ
  "CONST2".  ⥫  ⮬ ᨢ 㪠뢠    ப  "robin",

                                - 27 -

  "finch",  ...  室  ᥣ "CONST".

        "_BSS"  ᮤন 樠஢  ⨯ ᪠-
  ஢, ,  ᨢ.

       ਬ:     int var1;
                     int array1 [ 400 ];

       㣨 ᥣ  ᮤঠ騥 , ᯥ樠쭮 -
  ,  p騥  ⨯ far  ॢ騥 ண  (.
    "zt"),   "module_nameN_DATA",   "N" - ᫮
  襥 祬 5.

       ਬ:     int far array2 [400];

        㯮⮬ ਬ,  array2 頥    ᥣ  "re-
  port6_DATA" p ᫮    - "report".

  -nm=<module__name>
        㬮砭,  ꥪ⭮ 䠩   ,  -
  頥  ,  ᮧ   室 䠩.  ᯮ-
    "nm",  ꥪ 䠩 頥  ⢥  -
   㪠 "module_name".     訬 ,   ᥣ-
   "text"- "odule_name_TEXT" p ,    ᯮ
   "nt".

        ᫥饬 ਬ,  ९pp 뢮  report.c -
    㣮 㧫    //2 /temp.c.   -
     樥 "nm" ⠪    ⠢  ꥪ 䠩
  - "REPORT"   "TEMP".

       ਬ:   $ wcc report -pl -fo= //2/temp.c
                 $ wcc //2/temp -nm=report -fo=report

         ⠪ ᯮ  "fo",  pp騩 ꥪ-
   䠩 뢠 report.o.

  -nt=<_ᥣ_⥪>
        ⠭   ᥣ "text".   㬮砭,  
  ᥣ "text" - "_TEXT"   c 쪨      "modu-
  le_name_TEXT" (__TEXT)    .


                                - 28 -

                       ᥣ 
              -------              -------------------
              small                _TEXT
              medium               module_name_TEXT
              compact              _TEXT
              large                module_name_TEXT
              huge                 module_name_TEXT
  -o?
       ?   ᨬ  a,  c, d, e, f, f+, i, l, m, n, o, p, r,
  s, t, u  x. 롨p 㠫쭠 ⥣ 樨 ꥪ-
  ⭮ .  権   㪠    "-oailt".

  -oa
       ஢ઠ ᥢ (p⨢  祪 室   p-
  p  ..) ᫠.    㪠뢠, ⨬
   㤥 ,    ६ ᢥ  뢠-
   १ 㪠⥫.   ।뫪  㬥 p -
  pp㥬 . 騩 ਬ  .

         pp:    extern int i;
                         void rtn (int *pi)
                         {
                          int k;
                          for (k = 0; k < 10; ++k) {
                              (*Pi)++;
                              i++;
                              }
                          }

         ਬ,  ᫨ "i"  "*pi" 뫠     ᠬ
  楫᫥ ꥪ, ⮣ "i" 㤥 㢥稢  2  ࠧ
   横 "for"   㤥  뢠  뫪  p  㪠⥫  "*pi"
  ᥢ  ६ "i".   ⮬  ࠭  
  뢠 ६ "i"  ॣ஬  ⮣,  ⮡  㡥,
        "i"  筮 ᮢ६.   設⢥
  砥,  㯮⮥   .  p
  뫪       ᠬ p אַ    ᢥ १
  㪠⥫  ⮩  ᠬ ணࠬ.  "Oa" 㪠뢠 -
   ꥪ⭮ ,  ⠪ 砨    p㥬
  㫥.   ꥪ⭮  㤥 ᯮᮡ ந 
  䥪⨢ ,    㤥 ᯮ ⭮⥫쭮 "஡-
  " ᥢ.  __SW_OA 㤥 ।।, ᫨ "oa" -
  ࠥ.


                                - 29 -

  -oc
          ᯮ짮  ⪫祭 ⠪  ⨬-
  樨,    "CALL"  ᫥騬 "RET" ()   -
   "JMP" (室).   ॡ, ᫨ 㦭 
  p  ணࠬ,  ᯮ  Overlay  Linker  Microsoft.
  Microsoft DOS Overlay Linker 㤥 c ૥ 맮, -
  騥  ⮫쪮   "CALL".     ॡ  -
  짮 p (騪)  WATCOM.    __SW_OS  㤥
  ।।, ᫨ "oc" 㪠뢠.

  -ad
       pp ᫥⥫쭮   ⨬஢   
  ᫥⥫쭮⥩. p騩  㤥 ⥫쭮  -
   ⫠稪 VIDEO.  㬮砭, WATCOM C/C++16 㤥 롨-
    "od",  ᫨  "d2" 㪠.  ᫨  "d2" ᫥  
  権 "o?", ⮣ "d" ⬥.

       ਬ:  $ Wcc report -d2 -os

       c __SW_OD 㤥 ।। ᫨ "od" 㪠뢠.

  -oe= <᫮_quads>
       । 㭪樨 짮⥫ p . -
  ਩,  p 㭪樨 롨  ஥ p७, -
    "ࠧ" 㭪権  ନ ᫠ "quads",  ᣥ-
   室.  ᫮ ᣥ஢ "quads"  ᭮  易  
  ᫮ ஢,  ᯮ㥬  ࠦ. 㭪樨,  -
    祬 "<᫮_quads>",  .  ᫮  㬮-
  砭 20.   ⨬ ,  쭮 뢠 㭪-
  樨  쪨  ࠧ.

       ਬ:     $ wcc dhrystone -oe

  -of
         㪠뢠  p ᫥ ᥩ ⨢-
  樨 (stack frames)   㭪権,    ᮤঠ  맮  
  ॡ ⠭  ⨢樨.  ᯮ짮 WATCOM's "Di-
  namic Overlay Manager" ( 쪮),  ஢  㫨,
  ᯮ   権 "of'  "of+" ("of" 筮).  㭪-
  権 "far", pp ᫥ ᫥⥫쭮  ⥩
  (proloque) .


                                - 30 -

                    push BP
                    mov BP, SP

        㭪権 "far" ᫥ proloque ᫥⥫쭮  -
  .

                    inc BP
                    push BP
                    mov BP, SP

       祭 BP  ⥪ 㤥     ᨬ 
  ᯮ㥬  .  16-pp來 ⥬ DOS, ᪨
  ૥   ᯮ  ଠ,  ⮡ ।-
  ,       ⥪ ⪨ (short)  ᮬ
  (ᬥ饭  16 ⠬)   (32-pp來 ᥣ:ᬥ饭).

       ਬ:    $ wcc toaster -of

       c __SW_OF 㤥 ।। ᫨ "of' 롨ࠥ.

  -of+
         롨ࠥ p ᫥ (traceable) ᥩ
  ⨢樨  (stack frames)   㭪権 ᨬ  ⮣,  -
  ঠ   맮  ॡ ⠭ ᥩ  ⨢樨.  
   ।砥  pࠡ稪 p ⥬ (᭮-
     ਪ ணࠬ).   ᯮ짮 WATCOM's "Di-
  namic Overlay Manager" (⮫쪮 DOS),  ஢  㫨,
  ᯮ   権 "of"  "of+" ("of" 筮).

        㭪権 NEAR,  ᫥  (prologue) ᫥⥫-
   .

                     push BP
                     mov BP, SP

        㭪権 FAR,  ᫥  c⥫쭮 -
  .
                     inc BP
                     push BP
                     mov BP, SP


                                - 31 -

       祭 BP  ⥪ 㤥     ᨬ 
  ᯮ㥬  .  16-pp來 ⥬ DOS, ᪨
  ૥  ᯮ  ଠ,  ⮡  ।-
  ,      ⥪ ⪨ short (16-pp-
   ᬥ饭),   long (32-pp來 ᥣ:  ᬥ-
  饭).

       ਬ:     $ Wcc toaster -of+

  -oi
       ।  㭪樨  ஥ (in-
  line).  H  ᮮ⢥騩 䠩  (header file),
  ᮤঠ騩 ⨯  ⥫쭮 㭪樨 ⠪,  ⮡  -
  ஢ ஥. 㭪樨,   ஢ ஥-
  묨:
          abs       _disable     div       _enable   fabs
          _fmemchr  _fmemcmp     _fmemcpy  _fmemset  _fstrcat
          _fstrcmp  _fstrcpy     _fstrlen  labs      inp
          inpw      memchr       memcmp    memcpy    memset
          movedata  outp         outpw     _rotl     _rotr
          strcat    strchr       strcpy    strlen

       p __INLINE_FUNCTIONS__  __SW_OI    ।।,
  ᫨ "oi" 롨ࠥ.

  -ol
       ⨬ 横 믮.  砥 ६饭 -
  ,    横  横.  __SW_OL 㤥 ।-
  ।, ᫨ "ol" 롨ࠥ.

  -om
        ஥  80x87    ⥬᪨ 㭪権
   sin,  cos,  tan,  ... ᫨   롨ࠥ,  -
  ⢥   ணࠬ,  ⮡ 㤮⮢  ⮬,
   p㬥, p  㭪, 室  । -
  , ਭ⮣ fsin, fcos,  .., ᪮ pp  p p-
    .  㭪樨,   ஢ ஥-
  :
          acos  asin  atan  atan2  cos   sin   tan
          cosh  sinh  tanh  log    log10 fabs  fmod
          sqrt  exp   pow

       ᫨ ⠪ 㪠뢠  "ot", ⠪ pp p-
   㭪 exp.   __SW_OM 㤥 ।।, ᫨ "om" -
  ࠥ.


                                - 32 -

  -on
            ࠭    饩
  ⮩ 㬭ﬨ     稭.      
    ,   १      ᠬ,  ⮬ 
  ⭠ 稭   筮  ᮯ⠢.   __SW_ON
  㤥 ।।, ᫨ "on" 롨ࠥ.

  -oo
       pp  㬮砭 뢠 ࠭,  ᫨ 室 
  p  .      㦤  ࠭  த
  ࠭   墠⠥ ,  ,   ਢ
   祭 宬 .  __SW_OO 㤥 ।।, ᫨ "oo"
  롨ࠥ.

  -op
          p뢠 p ࠭ ஬ p-
   ᫥  饩 ⮩  ,  ⮡  -
    ⨢稢  १  p  p  饩 ⮩
   ⮣,  ⮡ p 祭  pp  8087,    
     筮.   __SW_OP 㤥 ।।,  ᫨
  "op" 롨ࠥ.

  -or
          pp蠥 㯮冷祭  (p -
  ), ⮡ ⨣ 襩 䥪⨢  p⥪p pipeli-
  ne  ⨯  INTEL 486  Pentium.    ⢥  p樨
  ண  pp Pentium.  롮 ⮩ 樨 ᤥ 
   㤭 ⫠ ⮬,   ᥬ, ᣥ஢-
    室 ,  ᬥ訢   ᣥ-
  ஢묨  㦠 ஢.  __SW_OR 㤥 ।-
  , ᫨ "or" 롨ࠥ.

  -us
       p   ⤠  p⥭  p樨 
  (訩     믮).   㬮砭,  WATCOM
  C/C++16 p 롨 ࠢᨥ  "p⢮"  "-
  ".  __SW_OS 㤥 ।।, ᫨ "os" 롨ࠥ.

  -ot
       ६ ⤠  p⥭  p樨  (஥ -
  ,  , , 让 ).  㬮砭, WATCOM C/C++16
    "p⢮"  "६".   __SW_OT -
   ।।, ᫨ "ot" 롨ࠥ.


                                - 33 -

  -ou
          㦤 pp 㤮⮢,    ⪨
  㭪権 㭨.   ࠧ, pp  㤥  
  㭪樮  ⪨     ,   ᫨    
  㭪権 祭.   __SW_OU 㤥 ।।,  ᫨  "ou"
  롨ࠥ.

  -ox
       롨p 樨 "oilmr"  "s" (⬥  ஢ન  ९
  ⥪).   "ox" oꥤ  ﬨ "on",  "oe", "oa"  "ot"
  樨 ("oneatx")  樥 "zp4",   ꥪ⭮    㤥
    ᮧ ᠬ    ᨬ  -
  ⥪. 㣨 樨   ⥪୮-ᯥ -
  , ⮡    த⢨ 襣 . -
   ,  "-oneatx" ⭮ "-oneatilmr -s". . ࠧ-
    "   ⠫ ஢"  让 ଠ樨 
  p樨 ண .

  -p{clw=<num>}       (num  ᫮)
       室 䠩  p  ९pp  p⪥  ,  
  㬮砭,  뢠  ⠭ 室 䠩.    "Fo"
    ᯮ짮  ७p 뢮  䠩  pp-
    㬮砭 ".i".   "pc", ᫨    -
   ਨ  䠩-筨  室 䠩 pp-
  p WATCOM C/C++16.   "pl",  ᫨     #line
  ४⨢.   "pcl"  "plc", ᫨    室 -
  ਨ  #line ४⨢.  ᯮ "w=<num>" 䨪, ᫨ 
   ⮡ 室 ப 뫨 p  <num> ⮫殢.  
  砥 ⢨ p  ⮫.

          ਬ:    $ wcc report -pclw=80

       室 䠩 p  ⮫쪮  ppp  p⪥.
    "p"  㪠뢠,  室 ਨ  #line ४⨢ 
  .     , ᯮ "c"  "l" 䨪.
   뢮 ९   p WATCOM C/C++16, -
  ४⨢ #line   ࠭ 뢮 ᪨
  ᮮ饭  㪠 ஢ ப 室 䠩.

       樨,   p,    p ppp
  WATCOM C/C++16: "d", "fi", "fo" , "i", "m?",  "u".


                                - 34 -

  -r
           WATCOM C/C++16 ஢  㭪-
  権  (prologue)   室  (epilogue)  ᫥⥫쭮,
   ࠭  ⠭  ᥣ ॣ,  -
    ⮩ 㭪樥. H p ᯮ짮  -
  樨.  ᫨  ⠭ 祭 ᥣ⭮ ॣ ᮮ⢥-
   祭 ᥣ,   ᢮  ।  㭪樨,
   ࠢ  ந  p,  p  -
  饭 ०.
        㬮砭  WATCOM C/C++16  ࠭   ⠭
  ᥣ ॣ.    ᮧ  ᮢ⨬  pᨥ
  8.0.  __SW_R 㤥 ।।, ᫨  "r" 롨ࠥ.

  -ri
         㪠뢠 WATCOM C/C++16 pp뢠 楫᫥-
   ⨯ chars  shorts  int.

  -s
       pp ९ ⥪ ᪠  ᣥ஢ -
  .   㬮砭 WATCOM C/C++16 p    砫 
  㭪樨,   ஢ ᫮ "९ ⥪". -
        ᯮ짮   ⪫祭 ⮩ ᮡ.
   __SW_S 㤥 ।।, ᫨ "s" 롨ࠥ.

  -sg
              ਪ ணࠬ OS/2
  2.x  ਪ ணࠬ PenPoint.   p,  ⮡  
  ꥪ⭮  ᪠ 맮  ६ 믮 p p 
  㭪樨 饩  祬 4  ᪨   ६-
   (६ ࠧ頥  ⥪).

       p p  OS/2 2.x  PenPoint,  ⥪ p⠥ ⮬-
  ᪨ ࠭栬  4  ᯮ짮 堭  "࠭  -
  ". ⥪ ⮨  ᯮ㥬 p, ᢥp p pᯮ-
   ᯥ樠쭠 ࠭ . 뫪    ࠭ -
    4   ⠢ 樮 ⥬ 㢥稢 ⥪  
  p 4    4 ࠭  ࠭.    ࠡ⠥
  ४᭮,     祬 4 ⮬᪨ ६ 
  㭪樨.     祬 4 ⮬᪨ , ⥪
    㢥稢 㯮p冷祭,   4   p,    p
   ⥪  p 筮,  ⮡ 㤮⢮p ᥬ p-
    ࠧ饭  ⮬᪨ ६.  ⥪-
   室 pp ⠭ ⥪   ६  믮-
  .  pp  ⠭  ⥪   ६ 믮 
  __GRO.   __SW_SG 㤥 ।।, ᫨ "sg" 롨ࠥ.


                                - 35 -

  -st
          ⠢  ꥪ⭮  ࠭஢,
  ⮡ ࢠ 뫪  ⥪  㭪樨 p﫠   ""  ⥪,
  ᯮ ॣ SS. ᫨   ⮩  ⥪  ⮡ࠦ-
    ,  p ᡮ , 騩 ॣ SS. 
  ࠧ蠥  樮 ⥬ ⠪  PenPoint । -
  ⥫쭮 pp⢮  ⥪ ᡮ .    ࠧ-
  ࠡ⠭  ᯮ짮 砬  0  樮 ⥬
  PenPoint.

       ।,  㭪 ॡ 100 ⮢ pp⢠  -
  .   ꥪ⭮  筮 뤠 ᫥⥫쭮 -
  ,  ⮡ 㬥 㪠⥫ 設 ⥪   ॡ㥬  ᫮
  ⮢ p⢠ ⥪, ⠪ ࠧ, ⠭  
  p ⥪.   㪠뢠  "st",   ꥪ⭮
    㤥  ࠭஢  ࢠ 뫪  ⥪ p 
  祩   ᠬ  ᮬ.  ᫨ p室 ᡮ ,
  樮 ⥬  ।,    뫠 뫪  ⥪
  (᪮ 祭 ॣ SS)    ⠪  ᪮쪮  ⥫쭮
  pp⢠ ⥪ ॡ.

       . ᠭ  樨  "sg"      饣 襭 ஡
  । ⥪.   __SW_ST 㤥 ।।, ᫨ "st"
  㪠.

  -u<䨪p>
        "u"  ᯮ짮,  ⮡  ⪫  p
  ।। (predefined) .  ᫨ 䨪  㪠-
  , ⮣  ।।  p pᮢ  -
   ।.

       ਬ:    $ Wee report -uM_186

  -v (C ⮫쪮)
       WATCOM C16 㤥 뢮 㭪樮    䠩  
  ⥬    室 䠩 ,    pp ".def".  
  "ᠭ" (definitions)  ᯮ짮    "include"  䠩
    ஢  㣨 㫥,  ⮡ ᯮ짮 २-
  ⢮ pp ⨯  p㬥⮢, p WATCOM C/C++16.


                                - 36 -

  -w<᫮>
       WATCOM C/C++16 㤥 뢮 ⮫쪮 ।०騥 ᮮ饭
  㪠 ⨯ 쥧 <᫮>  .   pp-
   ᮮ饭 ⨯ 1  쥧   ६  ᮮ饭 -
   3  쥧.

  -w0
        ।०騥 ᮮ饭  뢮

  -wl
       ⮫쪮 pp騥 ᮮ饭 p 1 뢮 ( 㬮-
  砭)

  -w2
       ।०騥 ᮮ饭 p p쥧 1  2 뢮

  -w3
       pp騥 ᮮ饭  p 쥧 1,  2  3 뢮-
  .

  -w4
       뢮 pp騥 ᮮ饭 p 쥧 1, 2 
  3   ଠ樮 ᮮ饭 ॣ  䠩 訡

  -we
        㬮砭,  WATCOM  C/C++16  த ᮧ ꥪ
  䠩 ᫥ 뢮 ।०.       ᯮ짮
   ⮣,  ⮡ ࠡ뢠  ।०  訡,  ⠪
  ࠧ, p ࠭ ᮧ ꥪ 䠩, ᫨ -
   ।० 㦥  । .

  -wo (C ⮫쪮)
         㪠뢠 ࠭ ᪠  ।०  
  砥,      뢠 ஡  ஢ 
   ૥ ணࠬ.

  -wx (C++ ⮫쪮)
          ⠭ ஢ ।०  ᨬ쭮
  ⠭.

  -xs (C++ ⮫쪮)
          㪠뢠,  ᫨ ᪫祭 (᪫⥫
  樨) ᯮ  ⮣ pp.  ਬ ⮩ 樨
  㢥稢 pp /  pp, ⠪ ࠧ, 㬥
  䥪⨢ 믮.  ᫨ ᪫祭  ᯮ,  㪠-
  뢠   ,  ⮡  讣 㬥襭 䥪⨢-
  .

                                - 37 -


  -za
          ࠭஢,  ⮡  ஢
   ᮮ⢥⢨  ᯥ䨪樥 ANSI  C.    NO_EXT_KEYS  (
  ७ 祢 ᫮) 㤥 ।।, ᫨ "za" 롨ࠥ-
  . . ⠪ ᠭ 樨 "ze".

  -zc
          ⠢  ꥪ⭮   -
  ࠫ 楯窨  ⤥ ⠭  ᥣ .

         ਬ:    const int cvar = 1;
                    int var = 2;
                    const int ctable[ 5 ] = { 1, 2, 3, 4, 5 };
                    har *birds[ 3 ] = { "robin", "finch", "wren"};

   ⮬ ਬ,  cvar  ctable  ப "robin",  "finch",   ...
    ᥣ .    p ⮫쪮  -
     訬 (large) 묨.  __SW_ZC 㤥 ।-
  ।, ᫨ "zc" 㪠.

  -zd(f,p)
       "zdf"     ꥪ⭮  ᯮ짮
  pp DS  㪠  㣨 ᥣ ஬ "DGROUP" ( 㬮-
  砭  compact, large,  huge  ).  "zdp" ᮮ-
    ꥪ⭮ ,   pp DS  ᥣ 㪠-
     "DGROUP" ( 㬮砭    small  medium -
   ).   __SW_ZDF 㤥 ।।, ᫨  "zdf"
  㪠뢠.   __SW_ZDP 㤥 ।।, ᫨  "zdp"
  롨ࠥ.

  -ze
        "ze" (p⠥  㬮砭) ᪠ ਬ ᫥-
   pp WATCOM C/C++16:

  1) ॡ   ࠩ   譥 ᠭ  (exter-
     nal definition)   ᫠.

  2) Escape  -  ᫥⥫쭮  "\l"   ᨭ
      "\n"  ப  ᨬ ⠭.

  3)  p⥫ ᮮ⢥⢨ ⨯  㪠⥫  ⠭-
      ।०ﬨ  訡.

                                - 38 -


  4) p  ஥  ⥬᪨ 㭪樨 ( -
     ,  errno  ⠭ ஥묨 㭪ﬨ).

  5)  pp/ꥤ pp.

         ਬ:
          struct {
              int a;
              union {
                  int b;
                  float alt_b;
              };
              int c;
          } x;

          ⮬ ਬ, "x.b" - ⨬ 뫪   "b".

  6) ࠢ   (scope) ⨯ 㭪権 ANSI ᫠-
     ,  ⮡  ᫥饩 ணࠬ ஢ 
     訡.

         ਬ:
            void foo (struct a *__p);

            struct {
                int b;
                int c;
            };
            void bar(void)
            {
               struct a x;
               foo (&);
             }


                                - 39 -

     ᭮ ண 樨 ⠭p ANSI C,  㭪樮
     ⨯     (scope),   -
     稢 窮  ⮩ (;). 䥪 ⮣ ,  ⬥⪠ (tag)
      "a"  㭪樨 "foo"    ᠬ ⬥⪠,  -
      "a" ।   ⨯.  ᪮  ᮮ饭
      뢮  ᮮ⢥⢨ p樨 NSI C.

  7) 筠    (,)  pp蠥  ᫥ ᫥ ⠭ 
     p樨 Enum.

       ਬ:     enum colour { RED, GREEN, BLUE, };

  8) p ANSI  ⮬, ⮡  p᫥ ⨯  室-
      ⨯ int ᫠. ⨢  ⮣ ७ - -
      .   p᫨     ।⠢
     楫᫥묨 ⨯ 訬  ࠧ 祬 楫.

       ਬ:
                   enum colour {RED, GREEN, BLUE,};

                   void foo ()
                   {
                   num colour x;

                   x = RED;
                   }

      ⮬  ਬ,  "x"   ࠭  unsigned char ⮬,
       祭 墠뢠   0  2.

  9) p ANSI  ⮬, ⮡ 室 ⨯ bitfield  int 
     unsigned  ᫠.    ணࠬ⠬ ।
     bitfield    p 祬 int (ਬ,  unsigned
     char).

       ਬ:

        Struct {
            unsigned char a : 1;
            unsigned char b : 1;
            unsigned char c : 1;
        } x;

        Struct {

                                - 40 -

            unsigned a : 1;
            unsigned b : 1;
            unsigned c : 1;
        } y;

       ਬ,  ࠧ "x" -   ࠧ  unsigned char,
       ६  ࠧ "y" -   ࠧ  unsigned int.

  10) 騥  ।.

            _near, near
            _far, far
            _huge, huge
            _cdecl, cdecl
            _pascal, pascal
            _fortran, fortran
            _interrupt, interrupt
            _export
            _loadds
            _saveregs

     . ⠪ ᠭ 樨 "za".

  -zfi{f,p}
        "zff"   ꥪ⭮   ᯮ짮
  pp  FS  (  㬮砭    ,  ஬ ᪮
  (flat) ).  "Zfp"  ᮮ頥   ꥪ⭮  ,
   pp FS   ᯮ짮 ( 㬮砭  ᪮ -
   ).  __SW_ZFF 㤥 ।।, ᫨ 㪠뢠
  "zff".  __SW_ZFP 㤥 ।।, ᫨ 㪠뢠 "zfp".

  -zg
       (C ⮫쪮)  "zg"  樨 "v"  ᪫祭  ⮣,
   㭪樮   뢮  "DEF" 䠩, ᯮ-
   室 ⨯ ( , typedefs ᮪p   室 -
  ).

       ਬ:    typedef unsigned int UINT;
                      UINT f (UINT x)
                      {
                          return (x + I);
                      }

       ᫨  ᯮ  "v" , 뢮 㤥:

                                - 41 -


                Extern UINT f(UINT);

       ᫨  ᯮ  "zg", 뢮 㤥:

                Extern unsigned int f (unsigned int);

  -zg{f,p}
        "zgf"   ꥪ⭮   ᯮ짮
  pp GS ( 㬮砭    ).   "Zgp" -
  頥  ꥪ⭮ ,  ॣ GS   ᯮ-
  .    __SW_ZGF  㤥 ।।,  ᫨ 㪠뢠
  "zgf". Mp __SW_ZGP 㤥 ।।, ᫨ 㪠뢠 "zgp".

  -zk{0,1,2}
         ⠢ ࠭ ᯮ 塠⮢ ᨬ-
    ப.   ࠭ ᬠਢ  ⥪⮢  ப,
  祭  窠 ("),  ᯮ   塠⮢
  ᨬ   ᪨  ண .   ।-
  頥  ࠭    p쭮  p ண  
  ᨬ "\"  ᨬ (").

  -zk, -zk0
        樨  ⠢  ࠭ ࠡ뢠 ப ﯮ᪨
  塠⮢ ᨬ ( 0x81 - 0x9F  0xE0 - 0xFC). 
    A0 - DF  Hiragana   ⮬.

  -zk1
         ⠢ ࠭ ࠡ뢠 ப ࠤ樮-
    ⠩᪨  ⠩᪨ 塠⮢ ᨬ ( 0x81 -
  0xFC).

  -zk2
          ⠢ ࠭ ࠡ뢠 ப op᪨
  Hangeul  塠⮢  ᨬ  (  0x81  -  0xFD).  
  __SW_ZK 㤥 ।।, ᫨   権 "zk" 㪠뢠.

  -zk0u
         ⠢ ࠭ ࠡ뢠  ப  ﯮ᪨
  塠⮢ ᨬ ( 0x81 - 0x9F  0xE0 - 0xFC). 
    A0 - DF  ⮢묨 ᨬ 䠢 Hira-
  gana.  ᨬ,  Kanji,  ப ᨬ (L'c') 
  ப ப (L "ப"), ࠭᫨  UNICODE.


                                - 42 -

        ࠭ ᬠਢ ⥪⮢ ப, 祭 
  窨 ("),  㤥 ᯮ   塠⮢ ᨬ-
     ᪨  p .    ।
  ࠭    p쭮 p ண   ᨬ
  "\"  (").

  -zku=<p__p)
          ப ᨬ (L'c')  ப ப (L "-
  ") ࠭᫨  UNICODE.   p樨 UNICODE  㪠-
      ࠭  㦠   "UNICODE.cpn",  
  "cpn" - p  ࠭ (ਬ,  -zku=850  롨ࠥ  䠩
  "UNICODE.850").

  -zl
        㬮砭,  WATCOM "C"/"C"++16 頥    ꥪ  䠩
   ⥪ ,   ᮮ⢥ p  
    p  饩 ⮩.  p WATCOM ᯮ  
   , ⮡ 롨 ⥪, ॡ㥬 ⮡ -
   ਬ.  ᫨ ᯮ    "zl",  
       㥬 ꥪ 䠩.

       pp WATCOM "C"/"C"++16  ஢ 譨 -
     ,   㤮 㪠뢠 騪 -
    ࠧ筮 .   ⠪ 砩: ᫨   -
   㭪樨,   ।   祭   饩
  ⮩  (pp,  float  double),  ࠭ 㤥 ⠢
  譨 뫪,   맮 祭  ᯮ塞 䠩 -
  pp pp  饩 ⮩.   "Zl"  㤥
  ⪫  譨 뫪.

       ᯮ  ,    ᮧ ⥪ -
    㫥,  p   ᮤঠ 뫮   
  WATCOM "C"/"C"++16.

  -zld
        㬮砭,  WATCOM  "C"/"C"++16  頥   ꥪ 䠩
    ⪨ p   䠩 뢠  室  䠩.
   ଠ  ⥬ ᯮ짮 WMAKE,  ⮡ ।,
    䠩  ࠭᫨஢,  ᫨    易
  䠩     p ᮧ ꥪ⭮ 䠩.   
  㦤 ࠭  ⠢ ᠭ ଠ   ꥪ
  䠩.


                                - 43 -
  -zm
        "zm"    ꥪ⭮    
   㭪  ⤥ ᥣ.    ᯮ  p-
   ।,   ᯮ짮 ᯥ樠 p冷 ᥣ-
  ⮢.  p  (ᥢ਩)  "alloc  text"  ᯮ
    ⮩ 樥,  ⮡  㭪樨  ᯥ᪨  ᥣ-
  . ⪨ ⮩ 樨:

       1. ᪨  㭪樨      訬  p 
           맮 "far call".
       2.  ⨬樨 "騩 epilogue" .

        __SW_ZM 㤥 ।।, ᫨ 㪠뢠 "zm".

  -zp[{1,2,4,8}]
        "zp"  㪠뢠 ࠢ ⮢  -
  .  㬮砭 ᯮ  "zpl". ࠢ ⮢
   뢠  ᫥饩 ⠡.  ᫨ ࠧ  1,
  2, 4  8, ࠢ     権 "zp". ᫨ -
    - ᨢ    ,  ࠢ  뢠
  ப "x".

                                    zpl    zp2    zp4     zp8
         () \ -------------------------------
                          l     |    0      0      0       0
                          2     |    0      2      2       2
                          4     |    0      2      4       4
                          8     |    0      2      4       8
                          x     |    p  襬
                                     

       ࠢ 0 砥 ⢨ ࠢ, 2 砥 
  p栬 ᫮,  4 砥  ࠭栬  ᫮,   ...  ᫨
  ᠬ 让   "x" - 1 , ⮣ "x"  ࠢ-
  .  ᫨ ᠬ 让   "x" - 2 ,  ⮣
  "x" ࠢ ᮣ᭮ ப 2.  ᫨  ᠬ  让  
  " x" - 4 , ⮣ "x" ࠢ ᮣ᭮ 4 ப.
  ᫨ ᠬ 让   "x" - 8 , ⮣ "x" ࠢ-
   ᮣ᭮ ப 8.

       ⮡  祬 ࠢ      
   , ᬮ ᫥騩 ਬ.

       ਬ:    typedef struct memo_el {
                    char           date [9];

                                - 44 -

                    struct memo_el *prev,*next;
                    ref_number    int;
                    } memo;

        ⮬ ਬ, p  㬮砭 "zp1" p  -
  ,    pointer  integer  ࠢ  
  ,  ⠪  ᨢ "data" - 9 ⮢  .  p
  ⥬,  16-pp來 ( 32- pp來) 設,  -
  䥪⨢  ,       ࠢ  
   ࠭.

  -zq
        "娩 ०" 뢠  ଠ樮 ᮮ-
    p  WATCOM  "C"/"C"++16.  筮 뢮 ᮮ饭,
  騥 ࠭    㬬p騥  ᫮  ஢
  ப.   ᪮쪮 ᥪ㭤 ⮡p 窠, 㪠뢠 
  ࠭  ࠡ⠥.   ᮮ饭   樥 "-
  娩 ०". 饭  訡  ।०騥 ᮮ饭  -
  .

  -zs
       WATCOM "C"/"C"++16  㤥  ⮫쪮  ஢  室 ⥪ 
  ᪠ ᮧ ꥪ⭮ .  ஢ઠ  ᨭ⠪,  ஫
  ᮮ⢥⢨ ⨯,  ⠪  믮  筮.

  -zt<pp>
         "ண  "  ᯮ,  ⮡  ⠭
  ᨬ p ꥪ⮢ , 砥  ᥣ  
  㬮砭.     ᯮ짮 ⮫쪮  ﬨ 
  compact,  large  huge.   ,    
  祬  ᥣ .  筮   ꥪ  ,  祩  ࠧ
   祬  ࠢ ண 祭,   ᥣ -
    㬮砭 "_DATA ",  ᫨ ⮫쪮    ᯥ樠쭮
    騥    (far).    讥 ⢮
  ᪨ ,    ⠭  ண  ࠧ
   ⠪, ⮡  ꥪ, 訥 祬  p, 頫 
  㣮 () ᥣ . ਬ, : -zt100 ⠢
   ꥪ ,  訥 祬 100 ⮢  ࠧ,   
  묨   (far)  㯯஢  㣨  ᥣ
  .

       祭 ண    㬮砭 p 32767.   -
  ,   㬮砭,   ꥪ 訥 祬 32767 ⮢  ࠧ
          㣨 ᥣ

                                - 45 -

  .  ᫨  "zi" 㪠뢠  ࠧ,  祭  ண
   p 256.

       ᫨   "zt"  ᯮ,  ⮡ ஢  -
     ணࠬ,  ⮣   ஢  -
   㫨  ணࠬ  ⮩  樥 ( 祭).

       ஦ 㦭   ࠧ ꥪ⮢  ࠧ
  .  ᬮ ᫥騥    ࠧ  䠩
  .  ।,   । ᨢ   㫥 ᫥騬
  ࠧ: extern int rray[100] = {0}; , ।,   뫠-
      ᠬ ᨢ  㣮 㫥 ᫥騬 ࠧ:  ex-
  tern int rray[10]; ,   㫨 ஢  -
    "Zt100",   㤥  11 ஡.   쭮 ࢮ 㫥
  ᨢ 㤥   㣮 ᥣ,  ᪮ rray[  100  ]
   祬 ண .  p 㫥 ᨢ 㤥  
  ᥣ   㬮砭,  ᪮ Array [10]  祬 ண
  .  ⥫ ,  ॡ㥬 ⮡ 뫠  ꥪ 
  㣮 ᥣ ,  㤥 ஢.

       ,   ஡  ந,     
  "zt"  ᯮ (   ꥪ⮢,  祬 32767 ⮢
   ࠧ).    襭  ⮩ ஡: (1)  -
  ⨢稢   ࠧ஢ ꥪ⮢, , (2)  㪠뢠
  pp  p 뫮  .

  -zu
        "zu" ᫠ ࠭祭, 饥  ⮬,  -
   SS ᮤন      ᥣ      㬮砭,
  "DGROUP". 筮      㯯 "DGROUP" 
  ॣ SS ᮤন   ⮩  㯯.    㪠뢠
   "zu",  p SS ᨬ (p,   㪠뢠
   㣮 ᥣ)    뫪  ॡ -
   ᥣ⭮ ॣ, ⠪  DS,  ᮬ "DGROUP".

              ஢  ணࠬ,  
     " ⥪", ⠪  ॣ SS 㪠뢠-
      ᥣ  ⥪  뢠饩 p pp p 室 
  㭪.   __SW_ZU 㤥 ।।, ᫨ "zu" 롨ࠥ.

  -zw
         ⠢ ࠭ ஢ ᫥⥫쭮-
    prologue/epilogue,  ॡ㥬  ਪ ணࠬ Mic-
  rosoft  Windows.    ᫥⥫쭮  prologue/ epilogue

                                - 46 -

  "fat"    㭪権,   騬 "far
  _export"  "far pascal".

               far pascal func (...)
               far _export func (...)
               far _export pascal func (...)

                   push DS
                   pop AX
                   nop
                   inc BP
                   push BP
                   mov BP, SP
                   push DS
                   mov DS, AX
                  .
                  .
                  .
                  pop DS
                  pop BP
                  dec BP
                  retf n

   __WINDOWS__ 㤥 ।।,  ᫨ 㪠뢠 "zw". 
    ਬ  QNX.

  -zW
          "zw",   ⠢ ࠭ ஢
   䥪⨢ ᫥⥫쭮  prologue/epilogue   -
   .     ᯮ짮   ਪ-
   ணࠬ Microsoft Windows,  ⫨  㭪権 ୮
  맮 짮⥫.   㭪樨,   "far_export ",
   ஢  "p" ᫥⥫쭮    prolo-
  gue/epilogue "fat", ᠭ  ᠭ 樨 "zw".

              far export func (...)
              far _export pascal func (...)

        "" ("skinny") ᫥⥫쭮 prologue/ epi-
  logue   㭪権,     騥
  "far_export".

              far pascal func (...)
              far func (...)

                                - 47 -


              inc BP
              push BP
              ov BP, SP

              pop BP
              dec BP
              retf n

   __CHEAP__WINDOWS__  __WINDOWS__  ।।, ᫨
  㪠뢠 "zW".      ਬ  QNX.

       2.5. p p WCC/WPP

       p p WCC  ᯮ짮   㪠  
  ᯮ㥬 権 WATCOM C 16.  p p WPP  ᯮ-
    㪠  ᯮ㥬 権  WATCOM  C++16.  
  樨 ࠡ뢠 । ﬨ, ।塞묨   -
  .

       ਬ:     $ export "WCC=-d1 -ot "
                   $ export "WPP=-d1 -ot "

        ਬ  । 樨  㬮砭 "d1" (祭 -
  筮 ଠ樨    ப    ꥪ  䠩),    "ot"
  (p⥫쭠 ⨬  ᪮p  p⨢ -
  樨 ࠧ).

        ⮫쪮 p p WCC ।,  㪠    
  樨  ⠭  ﬨ  㬮砭  p WATCOM C16.
  p p WCC ᯮ ⮫쪮 pp  WATCOM  C16.
   p pp WATCOM C16  ᯮ짮, ⮡
  ⬥  樨, ।塞  ப p ।.

        ⮫쪮 p p WPP ।,  㪠    
  樨 ⠭ ﬨ  㬮砭  pp (p)
  WATCOM C++16. p p WPP ᯮ ⮫쪮 pp
  WATCOM  C++16.   p pp WATCOM C++16  -
  짮, ⮡ ⬥  樨 ।  ப -
  .
       : ᫨    ᯮ   ᠬ 樨 ࠭ 
              ६,  㤮 । ६ p   짮-
              ⥫᪮ 䠩 樠樨.


                                - 48 -

       2.6. pp  p WATCOM C/C++16

        p  ஥  ⢮ ਬ஢ ᯮ짮
  WATCOM C/C++16  ஢ 室 pp  C/C++.  
   ᯮ pp (p) WATCOM C16,   ਬ -
   ⠪  WATCOM C++16 (        wpp  
  wcc).

       ਬ 1:   $ Wcc report -d1 -s

  pp WATCOM  C 16 ࠡ뢠 report.c,  ந ꥪ
  䠩, ᮤঠ騩 ଠ  室  ப. ஢ઠ -
  ९ ⥪ ᪠  ꥪ⭮ .

       ਬ 2:   $ Wcc -mm -fpc calc

  WATCOM C 16  calc.c  "।" (medium)  
    맮   pp 樨  p権
    饩 ⮩   権  饩 ⮩.  
   뢠   .

       ਬ 3:   $ Wcc kwikdraw -2 -fpi87 -oaxt

  pp WATCOM C16 p뢠 kwikdraw.c,  ᮧ  ꥪ
    ⥬ 286,  㤮 287 ᫮ ஬ 
  (  室饩 ᮢ⨬ 386/387  486  ⥬).  
  롮   権 㦠 ᫮ ⥬ ஝,     㤥
  믮, 騩  १  㤥 ᮪⨬஢
    ⥬.

       ਬ 4:   $ Wcc../source/modabs -d2

  pp WATCOM  C 16 ࠡ뢠 ../source/modabs.c,  (䠩,  
  ⠫   ᬥ  ⥪饬). ꥪ 䠩 -
  頥    ⥪騩  ⠫.      ꥪ   묨
  砥 ଠ ⭮⥫쭮  ᨬ  ⨯  -
  .  ஢   ,  ⨬஢ -
  ,   p ⫠ ⫠稪 .

       ਬ 5:   $ export "WCC=-i=/includes -mc "
                   $ Wcc /cprogs/grep.tst -fi=iomods.c

  pp WATCOM  C  16  ࠡ뢠 C ணࠬ,  ᮤঠ 
  䠩 /cprogs/grep.tst.  iomods.c 砥,    -

                                - 49 -

  ஢    室 ⮪ .  樨 -i=/includes  -mc -
  祭  㬮砭  ࠧ p 맮 WATCOM C 16.   -mc
    뫠  ⬥   ப.  ᫥ ᪠ #include
  䠩  ⥪饬 ⠫,  WATCOM C 16 㤥  pᬠp  
  ⠫  㪠   "i".  .  ࠧ "p⪠ #include
  䠩 WATCOM C/C++16"  ⥫쭮 ଠ樨.  pp㥬
  ꥪ  ᮮ⢥ "⭮"  .

       ਬ 6:   $ Wcc grep -fo=../obj/ -mc

  pp WATCOM  C  16 ࠡ뢠 ணࠬ ,  ᮤঠ 
  䠩 grep.c,   ࠧ頥   ⥪饬  ⠫.  ꥪ
  䠩 頥  ⠫ ../obj   grep.o. pp
  ꥪ  ᮮ⢥ "⭮"  .

       ਬ 7:   $ Wcc -dDBG=1 grep -fo=../obj/.dbo -mc

  pp (p) WATCOM C 16 ࠡ뢠 ணࠬ ,  -
  ঠ  䠩 grep.c,   ࠧ頥  ⥪饬 ⠫.
  p ப "DBG",  ⮬ pp ᫮ ⫠,
  饭  䠩-筨 . ꥪ 䠩 頥
   ⠫ ../obj  ७    䠩  㤥  ".dbo"  (
  ".o").  롮  p㣮 pp  䠩  p
   䨪 ꥪ 䠩,  p ஢  
  pp  ⫠.  pp  ꥪ  ᫥ "-
  ⭮"  .

       ਬ 8:   $ wcc -g=GKS -s /gks/gopks

  pp WATCOM C 16    gopks.c  頥   
  p㯯 "GKS".  ᫨   "g"  ।﫠,    頫
      㯯.  ।,   䠩 ᮤন ᠭ
  ணࠬ gopengks ᫥騬 ࠧ:

              void far gopengks( int workstation, long int h)
              {
                  .
                  .
                  .
               }
   쪮 (small)  , ணࠬ gopengks  -
  ।  ⮬ 䠩   (far), ⠪   頥 
   㯯.   㪠  "s",  ⮡ । 맮
   ६ 믮 ணࠬ ஢ન ९ ⥪, -

                                - 50 -

    㤥      p㣮 ᥣ   ६ .
  pp Gopengks   ᠭ p⨯ ணࠬ-
     㣨 㯯 :

              void far gopengks (int workstation, long int h);

  ⠪   㤥   p㣮 ᥣ .

       2.7.   祭  pp⨪

       pp (p)  WATCOM "C"/"C"++16 ᮤন  -
  権  ࠢ ᮧ .  㪠  -
    権 ࠭,    ᯥ稢 ᠬ
   ६ 믮    ਪ  ணࠬ.
  뢠 ᪠,  p ᯨ᮪ 権,    㬠
    訥 ६ 믮   襣  ⢠
  ਪ ணࠬ.    ᯥਬ஢  p묨 -
  ﬨ,  ⮡ p    権    ᠬ
     襩 㠫쭮 pp.

  㥬 樨  p樨 ᠬ ண  

         "fpi87",  "fp3",  "oneatx"  "zp4".

  樨 "Fpi87"  "fp3" ⠢ ࠭ ஢ ,  -
  騩  ணࠬ 㤥 믮    387  ⥬-
   ᮯ஬.

        "on"  㪠뢠  ࠭  p樨  
  饩 ⮩  㬭   稭.  
     (㬭  ஥ 祬 ),  १-
        ᠬ,  ⮬  ⭠ 稭 
   筮  ।⠢.

        "oe" ⠢ 쪨 ᠭ 짮⥫ 㭪-
  樨 ࠧp뢠 ஥묨    p樨  맮  㭪樨.
  p뢠  㭪権  ஥묨  p⠢ 㣨 -
   ⨬樨,      㦥 p -
  樨 맮  㭪樨.

        "oa"  ⠢ ࠭ ᫠ ஢ ᥢ-
  .

        "ot"  㪠뢠, ⮡ ⠢  -

                                - 51 -

  ⭮    롨 ᫥⥫쭮 ,   
   묨 ⭮⥫쭮  ࠧ .  㬮砭 롨-
   ᫥⥫쭮 ,  p ࠢᨥ -
   ࠧ஬  த⢨.

        "ox" ⭠  "oilmr"    "s",    ⠢
  ࠭    pp 㭪樨 ஥묨 ("oi"),
  믮 ⨬ 横 ("ol"), ஢ p -
   387  ⥬᪨ 㭪権 ⨯ sin, cos, sqrt ("om"), -
  㯮冷稢 ,  ⮡   p("or")  
    ஢   ஢ન ९ ⥪ ("s").  
  "or" 祭   ந⢠ ண   pp Pen-
  tium.

        "Zp4"  ⠢   ࠢ  4- -
   ࠭.  砭  "zpl", p 㯠뢠  ,
    㬥蠥 pp   ,   ॡ ⥫
  横 ᨭ஭樨 p 㯥    室    
  ᮮ⢥饩 ࠭.

       2.8. ⨪ p

       ᫨ pp (p) WATCOM "C"/"C"++16 뢮  -
  ᪨ ᮮ饭  ࠭,   㤥 ⠪   
  ᮮ饭  䠩  襬 ⥪饬 ⠫.   㤥    
  ᠬ   室 䠩  ७ ".err". ࠭ 뢮
   ⨯ ᪨ ᮮ饭,    , ।०  
  訡. ।०饥 ᮮ饭  ।頥 ᮧ ꥪ-
   䠩.  ,  ᮮ饭  訡 㪠뢠,   ஡
  筮  쥧         ࠢ ०,  祬
  ࠭ ᮧ ꥪ 䠩.  訡 (error file) - 㤮-
   p⢮,    ࠢ 訡  室 䠩.

       쪮 ⮡   p஢  ᪨  ᮡ
  WATCOM "C"/"C"++16,  㤥  pp "hello", ⮡ -
   p 訡.

        ਬ:
            #include <stdio.h>

            int main()
        {
                 int x;
                 printf ("Hello world\n");

                                - 52 -

                 return (y);
        }

        ⭠ pp  C ++:

        ਬ:
            #include <iostream.h>
            #include <iomanip.h>

            int main()
        {
                int x;
                cout <<"Hello world" >> endl;
                return (y);
        }

         ⮬ ਬ,   ப:

             int x;
        
             return (y);

         﫨 祢 ᫮ void  int.

        ᫨  㥬  ணࠬ  樥 "warning",

              $ Wcc hello -w3

        騩 뢮   ࠭.

        hello.c (7): Error!  E1011:Symbol 'y' has not been declared
                                      'y'   
        hello.c (5): Warning!  W202: Symbol 'x'  has  been  defined,
                                     but not referenced
                                       'x'  ।,
                                         뫮 뫪
        hello.c: 8 lines, included 174, 1 warnings, 1 errors
                 8 p, 祭 174, 1 pp, 1 訡

         pp C++, ᫥騩 뢮   ࠭.

            File: hello.cpp
            (8,13): Error!  E029: symbol 'y' has not been declared
                    訡! E029: ᨬ 'y'   

                                - 53 -

            (9,1): Warnings! W014: no reference to symbol 'x'
                   'x' declared at: (6,9)
                   ।०! W014:  뫪  ᨬ 'x'
                   'x'  : (6,9)
             Hello.cpp: 9 lines, included 1267, 1 warning, 1 error
                        9 ப,  祭 1267, 1 ।०, 1
                        訡

            ਬ  ⨯ ᮮ饭.  뫨 饭
  ᮮ饭 "訡"  "।०".   㪠  ᮮ饭  
  訡, ॡ  p樨  䨪 y. ।-
  ०饥 ᮮ饭 㪠뢠,        襭  ࠢ
  "C"/"C"++ - । ६  -  ᯮ짮,
  ⭮,  ⮣   ।. ᫥ pp ணࠬ
   室, :

       1) ६ x ᫥  祭, 
       2) ६ y 뫠 ⭮  ࠢ쭮      
     x

        ᯨ᮪  ᪨ ᮮ饭 WATCOM C/C++16 p-
  ⠢  ਫ   㪮.

       2.9. p⪠ #include 䠩 pp WATCOM C/C++16

        ᯮ짮 ४⨢ ९ #include,  
    ᫥⥫쭮  ᨬ,  饭  
  p⥫ﬨ "<"  ">" (ਬ, <file>),  室 䠩 -
   ᫥⥫쭮 ᨬ, p祭 ⪠ -
  ஢ (ਬ, "䠩"). WATCOM "C"/"C"++16  ࠧ稥 -
   ਬ "<>"  ⮪ ஢  㦠  䠩,
   㦭 .  孨 ᪠  䠩    -
  室 䠩  ࠧ筠. ᬮ ᫥騩 ਬ.

       ਬ:     #include <stdio.h> /*  䠩  */
                   #include "stdio.h" /*  室  䠩 */

  H ᯮ짮  "<"  ">" p 뫪  ⠭p  ⥬-
   䠩  (header file)  ᨬ ஢ p 뫪
    ᮡ⢥ 室 䠩  䠩 .

       쭠 ᫥⥫쭮 饭  ࠧ⥫ﬨ 
  p⨢ #include ।⠢  䠩,   㦭 .
   䠩   㧥 , ,  p७.

                                - 54 -


        室  㪠⥫ 㧫     ᯥ-
  䨪  䠩,  䠩 ﭭ 室  p㣮 㧫  
  p㣮 ⠫. WATCOM "C"/"C"++16 ᯥ稢 堭  -
   砥 䠩,   ࠧ  ࠧ ⠫-
    ᪠ p ⥬. WATCOM C/C++16 pᬠp -
  ⠫ p ᪥ 䠩 室 ⥪⮢  header-䠩  ᫥-
  饬 浪 ( pp頥 ᫨ 䠩 p㦥):

       1) ᫨ ᯥ䨪 䠩,  p祭 ⪠  ஢
  ("ᯥ䨪_䠩")  㣫묨 ᪮ (<file_ᯥ䨪>),
  ᮤন  ᯥ䨪 㧫  ,  䠩 砥 (p
  ᫮,    ).   㣮   믮.
   易⥫쭮 㪠뢠,  ⮬ 砥 ⥪騩 㧥 ਭ-
  .

       2) ᫨ ᯥ䨪 䠩 祭  ⪨ ஢,  -
  騩 ⠫ pᬠp.

       3) ⥬,  ᫨ ᯥ䨪 䠩 祭  ⪨ ஢-
  , pᬠp ⠫ 䠩, ᮤঠ饣 ४⨢ #include.
  ᫨ ⥪騩 䠩 - ⠪ #include 䠩, ⥬ ⠫ p饣
  䠩 pᬠp.   த ppᨢ १ 
   #include 䠩,   ⠫  ࢮ砫쭮  室
  䠩  .

       4) ⥬,  ᫨ ᯥ䨪 䠩 祭  ⪨ ஢-
   ("ᯥ䨪_䠩")   㣫 ᪮ (<䨪_䠩-
  >),  ⠫,  㪠   "i", pᬠp (
  ⮬ 浪   ।).

       5) ⥬,  ᫨ 㪠  bt=<os>,  ⠫, 㪠-
    p p <os>_INCLUDE, pᬠp ( ⮬ 浪
    ।).  ਬ,  p p DOS_INCLUDE 㤥
  p᪨, ᫨ 㪠  bt=DOS.

       6) ⥬,  ⠫, 㪠  p p INCLUDE
  pᬠp ( ⮬ 浪   ।).

       7)  祭, ᫨ ᯥ䨪 䠩 祭  ⪨ -
  ஢, ᬥ ⠫ "H" ( ,../h) pᬠp, ᫨
   .

        㯮⮬ ਬ, <stdio.h>  "stdio.h"  뫠-

                                - 55 -

     ࠧ 䠩,  ᫨  stdio.h  ⥪饬 ⠫
    ⠪      ⠫  砥  䠩  WATCOM   "C"/"C"++16
  (/usr/include)  ⥪騩 ⠫  㪠   "i"   -
  p p INCLUDE.

       ࠭ 㤥 ᪠ ⠫,  㪠   "i"  (.
  ᠭ  樨 "i")   p p INCLUDE ᯮᮡ,  -
   ᯮ㥬  窮  樮  ⥬  p  ᪥
  pp  ᯮ짮 ६ p PATH.

        "export"  ("ᯮ") ᯮ  । -
  p p INCLUDE,   ᮤন ᯨ᮪ ⠫. 
   ଥ: export INCLUDE=path:path...  । p ᪮
  WATCOM "C"/"C"++16.

   㥬 ਬ ४⨢ #include  ᫥饬 ਬ.

       ਬ:

      #include <stdio.h>
      #include <time.h>
      #include <dos.h>

      #include "common.c"
      int main()
        {
           mnitialize();
           update_files ();
           create_report ();
           finalize();
        }
      #include "part1.c"
      #include "part2.c"

       ᫨ 㯮  ⥪  ࠭    室 䠩 re-
  port.c  ⥪饬 ⠫,  ⮣    ᫥騥 -
  , ⮡ ஢ ணp.

   $ Export INCLUDE=/usr/include://1/headers
   $ wcc report -fo=../obj/ -i=../source

        ⮬ ਬ,   "export" ᯮ,  ⮡ ।-
   p p #INCLUDE.  ।,  pᬠp
   ⠫ /usr/include (⥪饣 㧫)  ⠫ /headers (-

                                - 56 -

  ⠫  㧫 1).

        "i"  WATCOM  C/C++16  ।    ᪠
  砥 䠩.  २⢮ p p #INCLUDE    ⮬,
     ॡ ।  ࠧ p ᪥ ࠭.

       2.10. ppp WATCOM C/C++16

       p ९ WATCOM C/C++16  ⥣p쭠  WAT-
  COM  C/C++16.    ଠ 樨 "p" ।,   ⮫쪮
  ९ 뢠.       -
    䠩   ந.  뢮 ९ 뢠 
  ⠭ 室 䠩,    ⠪ ७  p㣮
  䠩, ᯮ  "fo".  ।,   ᫥ "C"/"C"++
  ணࠬ ᮤন  䠩 msgid.c.

       ਬ:

   #define _IBMPC 0
   #define _IBMPS2 1

   #If _TARGET ==_IBMPS2
   char *SysId = {"IBM PS/2"};
   #else
   char * SysId = {"IBM PC"};
   #endif

   /* ⥫  䨪樨 ⥬ */

   char *GetSysId()
     {
         return (SysId);
     }

         ᯮ짮 ppp WATCOM C/C++16, ⮡ -
  ஢  C/C++,   㤥 ⢨⥫쭮  ஢
  pp WATCOM C/C++16 ⥬  ᫥饩 .

   $ Wcc msgid -pic -fo -d_TARGET=_IBMPS2

   msgid.i 㤥 ᮧ    㤥  ᮤঠ  ᫥騩  
  C/C++

   #line I "msgid.c"

                                - 57 -


   char *SysId = {"IBM PS/2"};
   #line 9 "msgid.c"

   /* p頥 㪠⥫  䨪p ⥬ */

   Char * GetSysId()
   {
       return (SysId);
   }

        ,   䠩  msgid.i  ᯮ짮 
    p WATCOM C/C++16.

   $ wcc msgid.i

       ᪮ p⨢ #line  ।⠢    䠩,  p
  WATCOM  C/C++16  뢮 ᮮ饭  訡  ନ -
  砫 ஢ ப 室 䠩.

       2.11. pp p WATCOM C/C++

       ஬ ⠭ ANSI-p ப,  ᯥ稢-
   pp WATCOM C/C++, ⠪ p ᪮쪮 -
  ⥫ ⥬-ᨬ ப (pᮢ).   뢠
   ⮬ ࠧ. . p㪮⢮ "ᠭ 몠"  ᠭ ⠭-
   ப.
       p WATCOM "C"/"C"++ 믮  ࠧ  
  (host) 樮 ⥬,  , OS/2, Windows NT,  QNX.
    p  樮 ⥬  ᯮ짮-
    ࠧࠡ⪨ ਪ ணࠬ  鸞 楫 (target)
  ⥬.   㬮砭 楫 樮 ⥬    ਪ
  pp -   ᠬ     樮 ⥬, -
    㪠  樨   権. ਬ, ਪ-
    ணࠬ DOS ନ  DOS  㬮砭,  OS/2 ਪ-
   ணࠬ ନ  OS/2  㬮砭,  ⠪ . H
        ନ஢ ਪ ணࠬ  㣨
  p樮 ⥬ /p.
       ப (p),  ᠭ ,   ᯮ짮
   䨪樨 楫 ⥬,   ன  p-
   pp. ( :  ᪮쪨   ᫥-
  饬 ⥪ 뢠  ᨬ ન  __,  -
     ᨬ.)
       pp WATCOM  C/C++  ᯥ稢  pp   16-

                                - 58 -

  pp來 ⠪  32-pp來 p pp.  騥 -
    (p)  ।    32-pp來 楫 ⥬
  ⠪  16-pp來.

  M_I86
        楫 ⥬   16-pp來  Intel  80x86
  ᮢ⨬ । (। pp WATCOM C/C++16).

  M_I386
        楫 ⥬  32-pp來 p  ᮢ-
  ⨬  Intel 386 (। pp WATCOM C/C++32).

  __386__
        楫 ⥬  32-pp來 p, ᮢ-
  ⨬  Intel 386 (। pp WATCOM C/C++32).

       pp WATCOM  C/C++  ᯥ稢  ࠧࠡ ਪ
  pp  鸞 樮 ⥬. 騥 ப -
    p 楫 樮 ⥬.

  __DOS__
        楫 樮 ⥬  MS/S  (-
   p⥫ DOS).

  MSDOS
        楫 樮 ⥬  MS/S  (-
   p⥫ DOS).

  __OS2__
        楫 樮 ⥬  OS/2 (1.x  
  2.x ).

  _QNX_
        楫 樮 ⥬  QNX.

  _NT_
        楫 樮 ⥬  NT.

  _WINDOWS_
        楫 樮 ⥬  Microsoft Win-
  dows.   ப ।,  㪠뢠 樨 "zw",
  "ZW",  "bt=windows".

       騥 ப 㪠뢠  ࠭  

                                - 59 -

  室 ⥪ "C"/"C"++.

  _cplusplus
        ࠭  C ++ ࠭.

  _WATCOMC_
        ࠭        pp  WATCOM
  C/C++.

  祭 ⮣     ᨨ ࠭. -
     100 ࠧ   ᨨ ( 8.5 뤠 850,  
  9.0 뤠 900,  ...).

  _EXPRESSC_
        ࠭    WATCOM  express C ࠭.
  Express C ࠭ 믮 ⮫쪮    16-pp來  ⥬
  DOS.

  騥 ப । p 믮 ᠭ ᫮:

  _FPI_
       । ⮫쪮  ᯮ짮 樨 "fpi"    
  "fpi87".

  _CHAR_SIGNED_
       । ⮫쪮  ᯮ짮  "j".

  _CHEAP_WINDOWS_
       । ⮫쪮  ᯮ짮  "zW".

  _INLINE_FUNCTIONS_
       । ⮫쪮  ᯮ짮  "oi".

  NO_EXT_KEYS
       । ⮫쪮  ᯮ짮  "za".

  M_I86SM, _SMALL_
       । ⮫쪮  ᯮ짮  "ms".

  M_I86MM, _MEDIUM_
       । ⮫쪮  ᯮ짮  "mm".

  M_I86CM, _COMPACT_
       । ⮫쪮  ᯮ짮  "mc".

                                - 60 -


  M_I86LM, _LARGE_
       । ⮫쪮  ᯮ짮  "ml".

  M_I86HM, _HUGE_
       । ⮫쪮  ᯮ짮  "mh".

       2.12. p 祢 ᫮ WATCOM C/C++16

       WATCOM C/C++16 ন ਬ  ண  ⢠
  ᯥ樠 祢 ᫮, ⮡ 뢠 ⥬-ᨬ -
   㭪権  㣨 ꥪ .    ਡ  孮
  ⥪ன    INTEL    ⢮ ᮣ襭  맮
  㭪権,  ᯮ㥬 ࠭ࠬ  ⮩ ⥪.  p-
    ᫥  ANSI C  C++ 몮 ⠭⠬,  WATCOM C/C++16
  ᯮ p䨪  ન ("__")  ⨬  祢묨
  ᫮  ॣ.  ᯥ稢 ᮢ⨬  㣨
  pp C/C++  ⠪  p  p⨢  p
  祢 ᫮ १ ।। ப (p).

  __near
       WATCOM "C"/"C"++16 ন 祢 ᫮  __near,  ⮡
  뢠  㭪樨    㣨 ꥪ ,   室 
   (near)   㪠⥫   ꥪ⠬.

       WATCOM C/C++16 ।। ப near    _near  
   祢 ᫮ __near.

  __far
       WATCOM C/C++16 ন 祢 ᫮ __far   ᠭ
  㭪権  㣨 쥪 ,   室   (far)
    㪠⥫   ꥪ⠬.

       WATCOM C/C++16 ।। ப far  _far   -
   祢 ᫮ __far.

  __huge
       WATCOM C/C++16 ন 祢 ᫮ __huge  ᠭ
  㭪権  㣨 쥪 ,   室  ஬ (hu-
  ge)   㪠⥫  huge ꥪ⠬.

       WATCOM C/C++16 ।। ப huge    _huge  
   祢 ᫮ __huge.


                                - 61 -

  __based
       WATCOM C/C++16 ন 祢 ᫮ __based   -
    㪠⥫   ꥪ⠬,     㣨 ᥣ
   ꥪ ᠬ⥫쭮.  .  "ᠭ 몠 WATCOM  C"  
  ᭥ 祢 ᫮ __based.

  __segment
       WATCOM C/C++16 ন 祢 ᫮ __segment,  ஥
  ᯮ    ᠭ ꥪ⮢ ⨯ ᥣ.  .  "ᠭ
  몠 WATCOM C"  ᭥ 祢 ᫮ __segment.

  __segname
       WATCOM C/C++16 ন 祢 ᫮ __segname,  ஥
  ᯮ  ᠭ 㪠⥫   ꥪ⮢,  ᭮  
  易  segname ⠭.  .  "ᠭ 몠 WATCOM C" 
  ᭥ 祢 ᫮ __segname.

  __self
       WATCOM C/C++16 ন 祢 ᫮ __self, ஥ -
    ᠭ self-based 㪠⥫.  . "ᠭ 몠
  WATCOM C"  ᭥ 祢 ᫮ __self.

  __cdecl
       WATCOM C/C++16 ন 祢 ᫮ __cdec1   -
    㭪権  ,   뢠  ᯮ짮 ᯥ樠쭮
  ᮣ襭 뢠  ᥢਥ  (p)    
  䠩 "stddef.h".

       WATCOM C/C++l6  ।। ப cdecl  _cdecl 
   祢 ᫮ __cdecl.

  __pascal
       WATCOM C/C++16 ন 祢 ᫮ __pascal  -
   㭪権 ᪠,   뢠  ᯮ짮 ᯥ樠-
   ᮣ襭, ᠭ ᥢਥ (p)  
  䠩 "Stddef.h".

       WATCOM C/C++l6 ।। p pascal  _pascal  -
   祢 ᫮ __pascal.

  __fortran
       WATCOM C/C++16 ন 祢 ᫮ __fortran   -
  ᠭ  㭪権 FORTRAN,   뢠  ᯮ짮 ᯥ-
  쭮 ᮣ襭,  ᠭ ᥢਥ (p)   -

                                - 62 -

   䠩 "stddef.h".

       WATCOM C/C++l6  ।। ப fortran  _fortran
    祢 ᫮ __fortran.

  __interrupt
       WATCOM C/C++16  ন  祢  ᫮  __interrupt 
  ᠭ 㭪樨,   ணࠬ ࠡ⪨ 뢠.

           ਬ:

             #include <186.h>

                 void interrupt int10 (union INTPACK r)
                   {
                      .
                      .
                      .
                   }

   ꥪ⭮    㤥  ᪠   ࠭
  ᮤp  p஢.  ࠭  ⥪  ᯥ-
  ᪮ 浪, ⠪     뫠, ᯮ ꥤ-
   "INTPACK",    ਬ DOS .  ꥪ⭮-
    㤥 ᪠ , ⮡ ⠭ 㥬 
  ᥣ  ணࠬ, ᪮ ᮤp ᥣ⭮ p-
  p  DS  ।᪠㥬.  p  㭪 㤥 p室  -
  짮  "IRET" (  뢠).

       WATCOM C/C++16 ।। ப interrupt  _inter-
  rupt    祢 ᫮ __interrupt.

  __export
       WATCOM C/C++16 ন  祢  ᫮  __export,  ⮡
  뢠 㭪樨  㣨  ꥪ⮢,   ᯮ-
  ஢  Microsoft Windows,  ᪮ ⥪  
  (DLL) OS/2,  PenPoint DLL. . ⠪ ᠭ 樨 "zu".

         ਬ:

               void __export __Setcolor (int color)
               {
                     .
                     .

                                - 63 -

                     .
               }

       WATCOM C/C++16 ।।  _export  
  祢 ᫮ __export.

  __loadds
       WATCOM C/C++16 ন 祢 ᫮ __loadds  -
   㭪権, ॡ ᯥ᪮ 㧪 pp DS  -
   㥬  ᥣ    㭪樨.    祢
  ᫮   ᠭ 㭪樨,  㤥   Micro-
  soft Windows,   ⥪  (DLL)  OS/2,  
  PenPoint DLL. . ⠪ ᠭ 権 "nd"  "Zu".

         ਬ:

               void __export __loadds _Setcolor(int color)
               {
                       .
                       .
                       .
                }

  ᫨ 㭪  OS/2 ᪮ ⥪  OS/2 ॡ
  㯠  private , ॣ ᥣ   㦠-
   ᮮ⢥騬 祭,  ⠪   㤥 ᮤঠ  祭
  DS 뢠饩 p pp p 室   㭪.

       WATCOM "C"/"C"++16  ।।   _loadds  -
   祢 ᫮ __loadds.

  __saveregs
       WATCOM "C"/"C"++l6 ᯮ 祢 ᫮ __saveregs, -
  ஥  ਡ⮬,  ᯮ㥬 㣨 C/C++ ࠭ࠬ
    ᠭ  㭪権,    ࠭  ⠭
   ॣ.   㬮砭  ॣ ࠭  ⠭-
   ணࠬ, 㥬묨 WATCOM C/C++16.

       WATCOM "C"/"C"++16 ।।  _saveregs  -
   祢 ᫮ __saveregs.

  __stdcall
       祢 ᫮  __stdcall    ᯮ짮   ᠭﬨ
  㭪権  㪠뢠,   ᯥ樠쭮 ᮣ襭   맮  

                                - 64 -

  ᯮ짮.  ᮣ襭  맮  ࠢ ४-
   #pragma.

  __syscall
       祢 ᫮ __syscall  ᯮ짮  㭪樮-
   ᠭﬨ  㪠뢠,   ᯮ㥬 ᮣ襭    맮
  ᮢ⨬  㭪ﬨ OS/2 2.x.  ᮣ襭  맮  -
  ࠢ ४⨢ #pragma.

       2.13. pp ꥪ⭮  WATCOM

       pp ꥪ⭮  pp WATCOM "C"/"C"++16  -
  ⮨      ⮢,    뢠 "砫
  "  " ".  H砫  - ࠭,  -
   ᨭ⠪  ᥬ⨪ 몠 ANSI C.  H砫  ࠭᫨-
    ᯥ䨪 ணࠬ  ஬ ,   
  뢠   .   -  ꥪ⭮
  ,   ८ࠧ ஬     設
    p   ꥪ⭮ 䠩.
        奬 믮     QNX.   -
  ࠬ  ,    ஢ 室-
   䠩   ᮧ ꥪ⭮ 䠩.

                         Ŀ
    Ŀ           WATCOM C              Ŀ
     -筨 -->                 pp-->  ꥪ멳
                     p                      
            

                    㭮 1.  pp 

       ࠭ ஢  让 (让 , 訥 -
  )   .  ᫨ p p WCGMEMORY ⠭,
   ꥪ⭮  ᯮ ⠪     ॡ-
  ,  ⮡ 믮 ⨬.   ⮬ 砥   ᯮ짮-
    㯭   .   ꥪ⭮  믮-
    ⠪    ⨬樨  㤠  ࠦ (su-
  bexpressions),  쭮 ⮪,  ⠪ .
           ꥪ⭮    p
   ⨬,  ᫨    ᯮ짮 襥 ⢮
  .  p 

        Not enough memory to optimise procedure 'xxxx'


                                - 65 -

  筮  ⮡ ⨬஢ 楤 xxxx

       饭   ࠭  室 p  室
  ணࠬ.   ⠪ 砥  ᫥ p⠢ 
  ꥪ⭮  訩 ꥬ .
       樠쭠 p p  ᯮ짮, ⮡ -
    ଠ  ᯮ짮   ⠭ ࠭-
   ᯮ짮  ஬  ꥪ⭮  .  p
  p  WCGMEMORY   ᯮ짮     ꥬ
  ,  ᯮ㥬 ஬ ꥪ⭮   ࠭  
  ࠡ祩 .

       ਬ:     $ export "WCGMEMORY=?"

        ⢮  - "?", ⮣  ꥪ⭮ 
  㤥 ᮮ ᪮쪮  ᯮ짮,  ⮡  ᣥ஢
  .
         ⠪ ᯮ짮,  ⮡ ஢  
  ꥪ⭮  ࠭ । 䨪஢ ꥬ 
   ࠡ祩 .

       ਬ:     $ export "WCGMEMORY=128"

        㪠뢠  ⢮    -  "nnn",  ⮣  筮
  "nnnK"   ᯮ짮.   ਬ, 128  -
  .  ᫨  祬 "nnnK" 㯭,  ⮣  ࠭  㤥
  ⢫ 室  ᮮ饭  ⠫쭮 訡. ᫨  祬
  "nnnK" 㯭, ⮣ ⮫쪮 "nnnK" 㤥 ᯮ짮.

         稭,  祬     
  .  饬, 祬  ꥬ  㯭  -
  ⭮ ,  ⥬  ⨬   㤥 ஢. -
   ࠧ,   ᮭ ஢  ࠧ묨 ꥬ-
     ꥪ⭮   ᮧ ࠧ (
   ࠢ) ꥪ . ᫨   ॡ, ⮡  
  ᠬ १ ( ,  ) ந      ࠧ
  ,  ⮣   ᯮ짮  ᮡ.  ⮡ ஢
      ᮭ   ࠧ묨 -
  ﬨ ,   ᯥ,  p p WCGME-
  MORY ⠭    .

       2.14. ⥪ WATCOM C/C++16

        pp  WATCOM  C/C++16 뢠  p㪮-

                                - 66 -

  ⢥ "⥪ WATCOM C  QNX",    p㪮⢥ "⥪
  ᮢ WATCOM C++". ⥪ WATCOM C/C++ ࠧ  -
   /usr/lib.

                                 /usr
                                  |
                     ---.---------+---------.---
                        |                   |
                       Fib                include
                        |                   |

        讬     c⥣  樨
  ꥪ⭮    ᥬ⢥ ஢ 8086, p⠢-
    ᨩ ⥪.   ᯮ짮 ⥪, -
    ᮢ   㦭  ⥣ 樨 ꥪ⭮ 
   ,    ࠫ.  롮p ⨯ ⥣ -
  樨 ꥪ⭮    ,   । -
  짮,  p  ᠭ 樨     p-
  p"m?"  砫 ⮩ .    ,  ᯥ稢
  WATCOM "C"/"C"++16, 뢠   " ".
        ࠫ ⮥ ᮣ襭   ⥪, -
    ᯥ稢  WATCOM  "C"/"C"++16.   ᮥ 
   䠩,  ⮡  㪠뢠 㠫 ⥣,   ன
  㫨  ⥪ ஢.

  S      砥  ⥪ WATCOM C/C++16,    -
         ஢   "쪮" "small"   (쪨
           쪨 ).

  M      砥  ⥪ WATCOM C/C++16,  -
         ஢  "।" "medium"   (让  ,
         쪨 ).

  C      砥  ⥪ WATCOM C/C++16,  -
         ஢   "⭮" "compact"    (-
          , 訥 ).

  L      砥  ⥪ WATCOM C/C++16,  -
         ஢   "让" "large"   (让 ,
         訥 ).

  H      砥  ⥪ WATCOM C/C++16,  -
         ஢   "஬" "huge"   (让 ,
         ஬ ).

                                - 67 -


  16 ⥪ WATCOM "C"/"C"++16 p .

   clibs.lib (p 쪮 )
   clibm.lib (প । )
   clibc.lib (প ⭮ )
   clibl.lib (প 让 )
   clibh.lib (p 祭 让  - huge)

       2.14.1.  ⥪ WATCOM  C/++

        ⥪ WATCOM "C"/"C"++ ⠪  ࠭    p-
  ⭮ ⥪, 뢠 ⥬  ⥪.  -
   ⥬  ,  ⮡  ᯮ㥬 -
   ணࠬ ⨯ ⥭   ᮢ⭮ ᯮ짮 -
  ᠬ.  ᮢ⭮ ᯮ짮 ⮣  ᠬ , ॡ-
       ਪ ணࠬ 㬥.  㭪樨  饩
  ⥪      ⠪,    ᯮ짮-
   묨 ਪ묨 ணࠬ.

       2.14.2. ⥪ ᮢ WATCOM C/C++16

       pp ⥪ ᮢ WATCOM "C"/"C"++16 뢠
   p㪮⢥ "⥪ ᮢ WATCOM C++"

  16-pp來 ⥪ ᮢ WATCOM C ++ p .  (-
  ⥪ ᮢ iostream  string)

   plibs.lib   (প  small)
   plibm.lib   (প  medium)
   plibc.lib   (প  compact)
   plibl.lib   (প  lurge)
   plibh.lib   (p  huge)
               (⥪ ᭮   樨 "fpc")

   cplxs.lib   (প  small)
   cplxm.lib   (প  medium)
   cplxc.lib   (প  compact)
   cplxl.lib   (প  large)
   cplxh.lib   (প  huge)
               (⥪ ᭮   権 "fpi... ")
   cplx7s.lib  (প  small)
   cplx7m.lib  (প  medium)
   cplx7c.lib  (প  compact)

                                - 68 -

   cplx71.lib  (প  large)
   cplx7h.lib  (প  huge)

    ⥪   樮 ⥬.
   "7" 砥 ⥪ 㥬  樥 "7".

       2.14.3. ⥬᪨ ⥪ WATCOM C/C++16

        饬 ⥬᪠ ⥪ ॡ,   ᫥
   饩 ⮩   ਪ pp. ⥬-
    ⥪ ᨬ  樮 ⥬.  ⥬᪨
  ⥪   ⠫ /usr/lib.
       騥 樨 㪠뢠  ,    ⥬᪨
  ⥪     ਪ pp.

       1.   뫪     㭪権,  ᠭ
   䠩 math.h, ⮣ ⥬᪠ ⥪  .

       2. ᫨ p  p pp  ᮮ-
   "_fltused_ - is an undefined reference" "_fltused_ -  ।-
   뫪", ⮣ ⥬᪠ ⥪  .

       3. ᫨   p pp  ᮮ-
   "__init_87_emulator is an undefined reference",  ⮣   
  㫥  ணp ஢    権 "fpi", "fpi87",
  "fp2", "Fp3"  "fp5". ᫨ "fpi"  ᯮ짮, ⥪
  p  8087  (emu87.lib)   ⥪ ⨭ 8087 (noe-
  mu87.lib)    .

       ᫨ ᯮ짮    "fpi87",  ⥪   noemu87.lib
      p pp.

       筮, ࠭    騪  ⮬᪨  
  ⮬.   ᯥ,  ⮡ p p  WATCOM  砫
  ⮯ ⥪ WATCOM "C"/"C"++16.

       2.14.4. ⥬᪨ ⥪ 8087 WATCOM C/C++16

          ᫥  ⥬᪨  ⥪  ᯮ짮-
  ,  ᫨   㫥 襩 pp ஢  -
    権 WATCOM C/C++16: "fpi", "fpi87", "fp2", "fp3"  "fp5"
    p pp ॡ p 饩 ⮩  
  稭 㪠 .


                                - 69 -

             math87s.lib ( small)
             math87m.lib ( medium)
             math87c.lib ( compact)
             math87l.lib ( large)
             math87h.lib ( huge)
             noemu87.lib
             emu87.lib ( QNX ᨬ )

       "Fpi"   뢠  p  ᫮    
  8087     ணp      ⥬-
  ᪨  ணࠬ 8087,   뢠.   QNX 
    p 80x87,  ᯮ ⠪,   
   p    p  .  
    㫨஢  80x87 ᫨ 80x87  ।⠢  
  ⥬.

          "fpi87"  ᯮ  ⢥,   
  砥.   ⮬ 砥 ਪ pp   믮
   p ⥬ 㤮 ᫮ ஬ .

       2.14.5. p⨢    ⥬᪨   ⥪   WATCOM
               C/C++16

         ᫥ ⥬᪨  ⥪    ᯮ짮-
  , ᫨   㫥 p pp ஢ 
  樥 "fpc" WATCOM "C"/"C"++16  ணp ॡ প  -
  饩  ⮩   稭  .  騥 ⥬᪨
  ⥪  প p権  饩 ⮩,  -
   맮 pאַ    ६ 믮.

                  maths.lib ( small)
                  mathm.lib ( medium)
                  mathc.lib ( compact)
                  mathl.lib ( large)
                  mathh.lib ( huge)

       ਪ ணࠬ,       -
  ⥪,  ॡ ᫮        p権  
  饩 ⮩.  ᫨  ।⠢  ⥬,  㤥 ᯮ-
  ,  樨  饩 ⮩  ணࠬ-
  .

       2.15. pp 樠樨   p  믮  WATCOM
             C/C++16

                                - 70 -


        室  ⥪⮢     ᫥⥫쭮
  樠樨 p  pp    WATCOM C/C++16.   䠩
  ࠧ  ⠫:

                 /usr/lib/src/startup (樠  QNX)

      p ⮣ ᯨ᮪ ᪠ 䠩  QNX.

     cstart_s.asm (  쪮 "small"  )
     cstart_m.asm (  । "medium"  )
     cstart_c.asm (  ⭮ "compact"  )
     cstart_I.asm (    让 "large" )
     cstart_h.asm (  "huge"  )
     models.inc   (祭  cstart_ *.asm)
     cstart.asm   (祭  cstart_ *.asm)
     mdef.inc     (ப 祭  cstart.asm)
     cmain.c      (᫥  ᫥⥫쭮 樠権)

        ᥬ cstart.asm ᮤন     樠-
  樨,   ⮪ த  䠩 cmain.c.  ᥬ,
  cstart_ *.asm । ⨯       cstart.asm.
   cmain.c.   뢠   ணࠬ.  室
  ⥪ p        ந  ᫥⥫쭮
  樠樨  ᯥ樠 ਪ ணࠬ.

                    16-H 

       3. ⥪ 8086

       3.1. 

       p   ய 8086 ⮨  4  㭨-
  ᠫ ॣ஢, 2  ॣ஢, 2 㪠⥫ p-
  ஢,  4 ᥣ ॣ஢,  㪠⥫    pp  䫠
  訡.   ॣ஢ - 16-pp來.

       3.2. 騥 p

        㭨ᠫ  ॣ   16 ⠬  AX,  BX,
  CX,   DX.  ॣ  ᯮ짮   16 pp來 -
  p       ࠧ  2  8 - pp來
  p.  쬨pp來 ॣ  AH,  AL,  BH, BL, CH,
  CL, DH  DL.

                                - 71 -


          15                    0
         Ŀ
      AX      AH        AL        p
         Ĵ
      RX      BH        BL        ᭮
         Ĵ
      CX      CH        CL        
         Ĵ
      DX      DH        DL        
         

           㭮 2.  8086

       ᠫ ॣ   ᯮ짮  ࠭ 
  䬥᪨  ᪨ .  ,  p ⠪
   ᯥ᪨ 㭪樨.

       3.2.1.  AX

        AX ⥭  p.   䬥᪨
  樨  ᯮ  ॣ.  ਬ,  㬭-
     ॡ ᯮ짮 pp AX.   --
   ⠪ ᯮ  p  뫪   ன-
   -뢮   8086.

       3.2.2.  BX

        BX ⥭    ॣ.    ॣ  -
  ⢥ 㭨ᠫ  ॣ,     ᯮ짮
  p ᫥ .   BX  㦨    
    ꥪ⮢  ᥣ .

       3.2.3. p CX

        CX  ⥭  ॣ .  ஬ 㭨ᠫ쭮
  ॣ,  ॣ CX ᯮ  稪      横
  (,  LOOPE/LOOPZ,  LOOPNE/  LOOPNZ,  JCXZ)  ப (CMPSB/CMPSW,
  LODSB/LODSW, MOVR/MOVW, SCASB/SCASW, STOSB/STOSW).

       3.2.4.  DX

        DX ⥭  ॣ .  ᯮ 
   ᫮ 㬭  .   ॣ ⠪ ᯮ-

                                - 72 -

    㪠       -뢮.  直
  ࠧ,    p  p  -뢮 室   256 
  65535 ॣ DX  ᯮ짮.  - ⢥ ॣ,
    믮  㭪.

       3.3.  - 㪠⥫

        㪠⥫ 뢠 SP  BP.  ॣ ᯮ
  pp ⥪ SS p ᫥  .  ⥫쭮,  
   ᯮ짮  㯠  ,   ﭭ -
    ⥪.   SP  ॠ ⥪  ,  
  뢠 㪠⥫ 設 ⥪.  ⨯ PUSH  POP 㭪-
       ⨬ ॣ஬.  ⥫  (BP)  ⠪
  ᯮ짮  㯠    ᥣ ⥪.   ॣ
  筮 ᯮ, ⮡ 뫠  ࠬ   -
    ⥪.

                    15                        0
                   Ŀ
                SP                            Stack pointer
                   

                   Ŀ
                BP                            Base pointer
                   

                     㭮 3.  SP/BP

       3.4  

       ய 8086    ॣ,   -
   ᯮ짮,  ⮡ 뫠     ᥣ  .
    p - SI  DI.     p஢ - 16- pp-
     㭨ᠫ pࠬ  ᯮ짮   -
  ᪨  ᪨ . ,  㭪  p-
  ஢ 室   ࠡ  ப묨 묨.  
  ᥣ   DS ᮢ⭮  ॣ஬ SI ନ 室 -
   ப.  ⥫ ᥣ ॣ (ES) ᮢ⭮  -
  ஬ DI ନ  p  ६饭 ப.


                                - 73 -

                    15                        0
                   Ŀ
               SI                                 筨
                   

                   Ŀ
               DI                                 p
                   

               㭮 4. SI/DI  pp

       3.5. ⥫ 

       ⥫  (IP) - l6-pp來 ॣ,   筮
  뢠 ணࠬ 稪. ⥫  । ᬥ饭
   ᭮ ࠭⢥ । ॣ஬ "CS"  ᫥饩  -
  ,  㦭 믮.

       3.6.  p

       ᪨    8086 - 20 pp來, ᫥⥫쭮
  ॡ  祬 ॣ  16 ⠬  । 㭨
  䨧᪨  .  8086  ᯮ    ᥣ -
  ஢ p  ᫥  ,  ⮡ p  ஡-
  .   ᥣ ॣ஢ - 16-pp來. ᪨ -
   । 16-pp來 ᥣ   16-pp來  ᬥ饭
  ᫥騬 ࠧ. ন ᥣ⭮ ॣ 㬭  16
     ᬥ饭, ⮡ ନ஢ 䨧᪨ .
        ᥣ ॣ 뢠 CS, DS, ES,  SS. 
  ᥣ  ॣ  । ᭮ ࠭⢮  65536 
  (64).    뫠  ᥣ ॣ   㬮-
  .    設⢥ 砥,   祭  㬮砭  
   ⥬ 㪠 ᥣ⭮ ॣ  ࠭.


                                - 74 -

              15                     0

             Ŀ
          CS                             Code Segment
             

             Ŀ
          DS                             Data Segment
             

             Ŀ
          ES                             Extra Segment
             

             Ŀ
          SS                             Stack Segment
             

              㭮 5.  p

       3.6.1.  CS

        CS ⥭  ॣ ᥣ .  ᥣ-
    ᯮ ᮢ⭮  㪠⥫   ।
   , p  믮.
                                - 75 -

       3.6.2.  DS

        DS ⥭  ᥣ ॣ  .  뫪  
     ᯮ짮 ⮣ ॣ.

       3.6.3.  ES

        ES ⥭  ⥫ ᥣ ॣ. -
   ES ᯮ  ᫥      p
  p  p .

       3.6.4.  SS

        SS ⥭  ॣ ᥣ ⥪.  SS -
    ᫥   c ⨥ ॣ஢  㪠-
  ⥫ BP  SP.

       3.7.  䫠

        䫠  -  ॣ  16 ⠬,   ᮤন -
  쪮 ⮢ ﭨ.  ⮬ ॣ  뫠   -
   ﭨ.   ⮬ ॣ ஭㬥஢  0  15, 
  0 ᠬ 訩   15 - 訩 .   8086 ⮫쪮  0,  2,
  4,  6, 7, 8, 9, 10,  11 ।. ⠫  १ࢨ
   筮 ⠭  .
            ﭨ pp 䫠.   
  pᬮp ᠭ  ⤥쭮 , ⮡ p -
   䥪  뢠, ᫨  뢠,  p 䫠.

                           

     Ŀ
              O D I T S Z   A   P   C
     

      :
     O = ९
     D = ࠢ
     I = 뢠
     T = 
     S = 
     Z = 
     A = ⥫ ७
     P = ⭮

                                - 76 -

     C = ७

              㭮 6.  

       3.7.1.  ७

        ७ - ࠧ 0 pp ﭨ   뢠  CF.
  CF ࠦ ७  襣 ࠧ鸞 ᫥ 䬥᪮ -
  樨. CF ⠭  1 (),   ७. CF -
  ⠭  0 (),   뫮 ७.

       3.7.2.  p (⭮)

        p  - ࠧ 2 pp 䫠  뢠 F.  PF
  ⠭  1 (),   १p騥 訥  8  
  樨   ⭮ ᫮ ⮢ 1.  ⭮ ᫮ ⮢ 1
  ਢ  ⠭ 䫠 PF  0 ().

       3.7.3.  ᯮ⥫쭮 ७

        ᯮ⥫쭮 ७ - ࠧ 4 ॣ 䫠  
  뢠 AF.  AF ।⠢  ᥡ 4  (㡠⮢)
  ७,  .. - ७   3     8 ⠬. AF
  ⠭  1 (),    ७. AF ⠭-
    0 (),    ७.

       3.7.4.   

         - ࠧ 6 pp 䫠    뢠  ZF.  ZF
  ⠭  1 (),  १ ᫥ - . ZF
  ⠭  0 (),  p  .

       3.7.5.  

         - ࠧ 7 pp 䫠  뢠 SF.  SF -
  ⠭ ࠢ 襬  p ᫥.  SF -
    1 (), ᫨ p ⥫. SF ⠭-
    0 (), ᫨ p ⥫쭠 稭.

       3.7.6.  誨

        誨  - ࠧ 8 pp 䫠  뢠 TF.  
  ⠭, TF p ய 8086  p 蠣 p-
  .  ,  믮,  TF ⠭ p-

                                - 77 -

  蠥 p樥 ணࠬ 뢠.   p ⫠.

       3.7.7.  뢠 pp襭

        pp뢠 pp襭 - ࠧ 9 ॣ 䫠  뢠-
   IF.  IF ।, pp蠥  ࠡ⪠ pp뢠. 
  IF ⠭  1 (H),  뢠 ᪠;   IF
  ⠭  0 (),  뢠 ⪫.  祭 IF 
  ࠢ, ᯮ  8086 CLI  STI.

       3.7.8.  ࠢ

        ࠢ -  ࠧ 10 pp 䫠   뢠
  DF.  DF  ।,  㢥稢   㬥 p p樨
  ᢮ ࠭.   DF - 1 (),  ࠭  㬥;
   DF 0 (),  ࠭  㢥稢.  祭 DF -
  p  CLD  STD.

       3.7.9.  ९

        ९ ࠧ 11 pp 䫠   뢠  OF.
  OF  ।⠢   ᥡ ९ 稭   筮
  䬥⨪. OF ⠭  1 (),  p -
   ॢ蠥 32767 ( ,  p ⥯ ⥫-
   稭)   祬 -32768 ( ,   १ -
   ⥫).  OF ⠭  0 (),   १
  ᫥  p ९.

       3.8. ᮡ 樨

          8086 - 20-pp來,     -
   ᨬ 1  .     ⮨ 
   ⥩, ᫥ 䥪⨢   ᫥  -
  .

       3.9. ᫥ 䥪⨢ p

       ᫥ 䥪⨢    ⮨   롮p  
  롮ન . 롮ઠ  뢠,  믮 ⮪ -
  ࠢ.  롮ઠ  뢠,      뫠
  ணࠬ.


                                - 78 -
       3.9.1. 롮ઠ 

       p  ᥣ (CS) । pp⢮ ,
    ண   롨.  饭 (offset) ᫥饩
   饩 롮p   ᥣ  ᮤন    p-
  p - 㪠⥫  (IP).  ᫥ ⮣,   祭,
  ॣ IP 㢥稢  ࠧ .    室  
  맮 pp   IP ६ ⥫묨 ᯮᮡ-
  .

  ⭮⥫쭠 p
      ᮤন 8  l6-pp來 ᬥ饭, ஥ -
       IP   ᬥ饭.   롨p  -
     室  ⮬  .    뢠 pᥣ⭮
     樥, ⠪   p ⮣ ᥣ pp  -
     .

  ﬠ 
      ᮤন  l6-pp來 祭  㦠 
     pp  IP   CS.   뢠 ᮫ 室  맮 
         8086.      ਢ 
       ᥣ⭮ pp ⠪  IP,  뢠 ᥣ-
     ⭮ 樥.

  ᢥ 
       ,   p  뫠       
      16-pp來 祭. ᫨   祭  16 pp鸞-
      ,    ᯮ, ⮡  祭  IP.  ᫨ 
      祭  16 pp鸞 㪠,  ࢮ 祭   -
      p IP,  p  ᮤp ॣ CS.

       3.9.2. 롮p 

       8086   ᯮᮡ 樨 .  ᯮᮡ -
  樨: , אַ, ।⢥,    -
  .

       3.9.2.1.  

        p ᯮ pp BX  BP   -
    ᫥ .  롮 ⮣,   ॣ -
  짮,    ⮣  ᥣ pp   -
  짮  ᫥.   ॣ BX ᯮ  ᥣ
  ॣ DS,  BP ᯮ SS. ন  ॣ 
   ᥣ ॣ஬ 㪠뢠  㭨 祩 . -
        㪠뢠  8-  16- pp來 ᬥ饭

                                - 79 -

  (displacement)    ॣ஬.  ᫨ ᬥ饭  㪠,
       ᮤন  ॣ, ⮡ ।
  ᬥ饭 (offset) ⭮⥫쭮 ᥣ⭮ p  室 ᫥-
   .  ᫨ ᬥ饭 (displacement) - 8 pp冷,   -
     16 pp冷  室 䠧 ᫥ .

       3.9.2.2. ﬠ 

       ﬠ  - ᠬ ⮩ ᯮᮡ 樨  8086. 
   ᫥   樨 ᮤঠ ᬥ饭 (offset), ஥
  ⥬ p  ᮤp ᥣ⭮ pp    (DS)
   ।  .

       3.9.2.3. ।⢥ 

       ।⢥  ࠧ㬥,   室
    ᫥     pp⢥    ।-
    ᥣ  pp CS.   cᮡ 樨 筮 -
    ⠭⠬ ணࠬ.   ᨬ  ,  -
  ।⢥ 祭   8  16 ⮢ . ᫨ -
  ⠭ 16 ⮢  ,  8  ⮢ ࠭ । 訬  8
  ⠬,  p室  ᥬ 16-pp來묨 묨  8086.

       3.9.2.4. ᭠  

       ᭠   믮  ⥬  ᯮ짮 SI  DI
   ॣ஢.   ॣ   ᯮ짮  
  㪠⥫  ࠬ .   ⮬ ᯮᮡ 樨   
  ந쭮 । 8  16-pp來 ᬥ饭  (displacement),
  ஥   祭  ᭮ ॣ  ।
  䥪⨢ .  ᫨ 㪠뢠 8-pp來 ᬥ饭, ᬥ-
   ८ࠧ뢠  16-pp來 祭 ⥬ p७ -
   p 믮 .

       3.9.2.5.   ᭠ 

        ᭠  -    樨  
  ᭮ 樨 ᠭ .   ᯮᮡ 樨 -
   㪠뢠  ॣ,   ॣ  易⥫쭮
  ᬥ饭 (displacement).  ᫨  ॣ - BX,   ᥣ
  ॣ  㬮砭 ᯮ㥬  室 樨 - DS.  ᫨  BP,
  ᯮ ᥣ pp  㬮砭 - SS.

       3.10. ᫥    p쭮 p

                                - 80 -


        ⮫쪮 16- pp來 䥪⨢ p ,  
   8086 ନ ⥬ 㬬p  ᫥    
  ᮤন 㪠 ᥣ⭮ pp.  ନ஢ 
    20 pp鸞, l6-pp來 ॣ ᥣ ᬥ頥 -
    4 ࠧ來 樨, ନ  ࠣ  20 pp鸞.
  ࠣ ।     ⭠.  䥪-
  ⨢ ,    ᠭ , ⥬ -
    20 -pp來  ࠣ,  ନ 20-pp來  
  . ⥫쭮, 䥪⨢   16 pp鸞,  -
   ᬥ饭  ᥣ⭮ ॣ.
       4 ᥣ ॣ  8086  롨p  -
   ࠭⢠   ६.   ᫥ 䥪⨢ -
  p । 16-pp來 ᬥ饭,  ᭮ ࠭⢮
    ᨬ 64 .  8086  ࠭稢 祭,  
     ᥣ ॣ.  p ।-
   砫 ᭮ ࠭⢠, p  뢠  
   ࠭⢠, । 㣨 ᥣ묨 ॣࠬ.

       3.11. ᫥    饭 p

        饭 ०,  pp 286,  386,   ... 
  䥪⨢ p  p㣨 ᯮᮡ, 祬  ॠ쭮 ०. 
  饭 ०,  祭  ᥣ⭮ ॣ  p 楫
  稭,  ᯮ  ஢ ⠡  ,
  뢠 " pp".  ⠡ ᮤন 㭪, -
  뢠 "pp".  㭪 ᮤন 砫  ᮮ-
  饣 ᥣ.  祭  pp   ᬥ-
   (offset),  ⮡  䥪⨢ .   286, p⮢
  p ᥣ 24-pp來.   ࠧ,  16 ⮢ (25240)
    ᮢ.
       樮 ⥬  ⢥⢥    ᮧ ਯ୮
  ⠡.   㤥 ᮧ      ⥬. -
     ⮢  ਯ୮ 㭪 ⠡ 뢠  p-
    .  㤥 ⮡ࠦ   -
   㯭 ,    ⥭  ,    ⮫쪮
   ⥭.

       4.  

       4.1. 

         뢠  ࠧ    , p
  WATCOM C/C++16.     ⫨砥   ᢮⢠:

                                - 81 -

   , ᯮ㥬  믮 饭  㭪  -
   , ᯮ㥬  뫪  .

       4.2.  

          .

     1) 쪠 (small)   
     2)  (big)  .

       쪠   -  ⠪,    ன    맮  
  㭪    (near) 맮.   맮, -
   p - l6-pp來  ⭮⥫  祭   ᥣ⭮
  pp CS. ⥫쭮,  쪮  ,   襩
  ணࠬ,    㭪樨,    祬 64
  .
          -  ⠪,   ன  맮  㭪-
      쭨 (far) 맮.   쭥 맮,  
  p - 32 pp來 (祭 ᥣ  ᬥ饭 ⭮⥫쭮
  祭 ᥣ).     ࠧ  ணࠬ-
    64 .

  ਬ砭:
       ᫨  ணࠬ ᮤন  祬 64  ,   
  ᯮ짮  ,  ᯮ   -
  .  㤥 ਢ  襬   ஬ , ᪮
   맮 ᯮ      ࠡ뢠  ॥
  業p pp.

       4.3.  

          :

     1) 쪠 (small)  ,
     2)  (big)  ,
     3) ஬ (huge)  .

       쪠     - ,   ன  뫪  
     (near) 㪠⥫ﬨ.    㪠⥫  -  l6-
  pp來;  뫪    ⭮⥫쭮 祭 ᥣ-
    ᥣ⭮ ॣ DS.  ⥫쭮,  small  -
  ,   ,  騥   ணࠬ    祬 64
  .
        (big)   - ,   ன  뫪  -

                                - 82 -

      (far) 㪠⥫ﬨ.   㪠⥫ -  32
  pp來  (祭  ᥣ   ᬥ饭 ⭮⥫쭮  祭
  ᥣ).  ᭨ ࠭祭  64 ,   ࠧ , -
  뢠 쪮  .  ,    㪠-
  ⥫ 㢥稢,  ⮫쪮 ᬥ饭 ppp. WATCOM C/C++16
  ਭ,       - ᬥ饭  㪠⥫  㤥
  㢥稢  64 .  ࠭ 㤥 뤥  ꥪ  
  ᥣ, ᫨ 㯯஢   ᥣ 㤥 ⠢ ꥪ
  ᥪ p ᥣ.  p㬥 p ⮬  ॡ,
    ⤥ ꥪ ॢ 64 .  ਬ,  ᨢ -
  ঠ騩 40,000 楫 ᥫ  㤮⢮     (big)
  . ꥪ ⠪ ⨯  뢠  ஬ (huge).
       ஬ (huge)   -  ⠪,  ன  -
            (far) 㪠⥫ﬨ.   
  让  . ,  huge  , 饭 -
    㪠⥫  㤥 ppp ᬥ饭  ᥣ  砥
  室.  ࠭祭 ࠧ ꥪ  뢠  
  (far)  㪠⥫    让    p  ஬
  (huge)  .

  ਬ砭:
       1) ᫨    ணࠬ ᮤন  祬 64  ,  
   ᯮ짮   .  ਢ  -
     ஬ , ⠪  뫪, ᯮ騥  㪠-
  ⥫, ᮤp 襥 ⢮ .

       2) Huge    ᯮ짮 ⮫쪮,  ᫨  
  ⢨⥫쭮 室.  ,  ᣥ஢  huge  -
  ,   祭 䥪⨢,  ⠪  ணࠬ p쭮  ६
  뢠  㢥祭  (far) 㪠⥫.  ⥫쭮
  㢥稢 p   㢥稢 ६ 믮.

       4.4. p  

        p 㯮,    -   
    .   ⠡ 뢠   p-
   WATCOM C/C++16.

                           ⥫    ⥫
                                     
                                             㬮砭    㬮砭
    --------    --------       --------      --------     --------
   tiny         small          small         near         near
   small        small          small         near         near

                                - 83 -

   medium       big            small         far          near
   compact      small          big           near         far
   large        big            big           far          far
   huge         big            huge          far          huge

       4.5. 蠭  

       pp ᬥ蠭   ꥤ    p-
         .  pp ᬥ蠭  
   ࠪਧ  ⠪,   ᯮ 祢 ᫮
  near,  far   huge  ᠭ   㭪権  ꥪ⮢
  .
       ਬ, pp  medium  ,  p ᯮ
  ᪮쪮 far 㪠⥫    뢠   ᯮ-
   ᬥ蠭  .   pp ⠪ ⨯,  設⢮
   室  64  ᥣ (DGROUP) ,  ᫥⥫쭮, 
  뢠    (near) 㪠⥫ﬨ ⭮⥫묨  祭
  ᥣ  ॣ DS.  ਢ  p樨  䥪⨢
      訬  ६ 믮,  祬    让
  (big)  . ꥪ   ᥣ DGROUP 뢠
   祢 ᫮ far.

       4.6.  ணࠬ  p  

            ॡ ࠧ ⥪ ६ -
    饩 ⮩.  ⥪ ਭ -
        ⮫쪮  ﬨ,  -
   ஢  ⮩  ᠬ  .  ⠡-
   p ⥪,   ᯮ짮  -
   ਪ pp,  ஢襩  - 
  .

      ⥪    ⥪         ⥪
      p       맮 饩  饩
            믮    窨              窨 (80x87)
  -------   --------      --------------     ---------------
  small     clibs.lib     maths.lib          math87s.lib
                                            +(no)emu87.lib*

  medium    clibm.lib     mathm.lib         math87m.lib
                                            +(no)emu87.lib*

  compact   clibc.lib     mathc.lib         math87c.lib
                                            +(no)emu87.lib*

                                - 84 -


  large     clibl.lib     mathl.lib         math871.lib
                                            +(no)emu87.lib*

  huge      clibh.lib     mathh.lib         math87h.lib
                                            +(no)emu87.lib*

      *    emu87.lib  noemu87.lib 㤥 ᯮ짮  -
        ⥬᪨ ⥪ 8087  ᨬ  ᯮ짮-
          権 "fpi" ( )  "fpi87" ( 
        ).

       4.7. ᯮ  

        뢠  p冷  ᥣ⮢   p pp,
  ᪮ 騪 WATCOM.     ,  
  p 㪠 樨 騪 (騪) "DOSSEG".

  1)   ᥣ,   ਭ騥 㯯 "DGROUP",  騥 
     "CODE"

  2)  㣨 ᥣ,  ਭ騥 㯯 "DGROUP"

  3)  ᥣ, ਭ騥 㯯 "DGROUP"  ᮬ "BEGDATA"

  4)  ᥣ,  ਭ騥 㯯 "DGROUP",       ᮬ
     "BEGDATA", "BSS"  ""

  5)  ᥣ, ਭ騥 㯯 "DGROUP"  ᮬ "BSS"

  6)  ᥣ, ਭ騥 㯯 "DGROUP"  ᮬ "STACK"

       樠 ᥣ,  ਭ騩  "BEGDATA" ।-
       ⥪  ६  믮  WATCOM.
   ᥣ 樠 ⠬  ⭠ 祭
  "01"    ᥣ⮬  㯯 "DGROUP"   ⮣, ⮡
  ࠭    0   㦥.
       , ਭ騥   "BSS" ᮤঠ 樠-
   .  ,   ⮫쪮  樠-
  ஢      ᥣ⮢, ਭ 㯯 "DGROUP".
  , ਭ騥  "STACK",  ᯮ ⮡ ।-
   ࠧ ⥪,  ᯮ㥬   襩  ணp.  ,
  ਭ騥 ᠬ "BSS"  "STACK",  ᫥  p浪 ᥣ-
  ⮢,  ⠪  樠஢      ᯮ塞

                                - 85 -

  䠩.

       ஬  ᯥ樠 ᥣ⮢, ᫥騥 ᮣ襭 ᯮ-
    WATCOM C/C++ 16.

  1)  "CODE" ᮤন 믮  襩 p pp.
      small,  ⮨  ᥣ "_TEXT".  让 -
    ,  ⮨  ᥣ⮢ "<module>_TEXT",  <module> -
    室 䠩.

  2)  "FAR_DATA" ⮨  ᫥饣:

    ) ꥪ  ,  祩  ࠧ ॢ蠥 ண   
      (ண  - 32 ,  ᫨      -
    짮 樨 "zt" ࠭)

    b) ꥪ  ,  ।  ᯮ짮  祢  ᫮
    "FAR"  "HUGE"

    ) ࠫ, 祩 ࠧ ॢ蠥 ண     
    訬  묨  (ண  - 32 ,  ᫨    -
    짮 樨 pp "zt")

    d) p,  ।  ᯮ짮 祢  ᫮  "FAR"
     "HUGE".

        ⬥ ᮣ襭   騥  㬮-
    pp WATCOM C/C++ 16   ᥣ⮢.

  1)  WATCOM C/C++ 16 "nm"  ᯮ짮, ⮡  
    .  ,   ᢮ ।,    ᥣ  
   ஢  让  .

  2)  WATCOM C/C++ 16 "nt"  ᯮ짮,  ⮡  ।-
     ᥣ  ᨬ  ᯮ㥬  .

       5. ࠦ  몥 ᥬ

       5.1. 

          ᫥騬 ⥬.

  1) ।⠢    ⨯,  ᯮ㥬 WATCOM C/C++
     16.

                                - 86 -


  2) p   pp WATCOM C/C++ 16.

  3) ⮤  p p㬥⮢   祭.

  4)  ⮤  p p㬥⮢  饩 ⮩  
   祭  饩 ⮩.

        ⮤ ᯮ,   㪠뢠   権 WAT-
  COM C/C++ 16 "fpi"   "fpi87"    p樨  ஥  
  80x87.    "fpi" 㪠뢠, p 80x87 砥 
  ⥬᪮ ⥪,  ᫨  ணp 砥 樨 
  饩  ⮩.    "fpi87" ᯮ ⢥,
   p 80x87  㤥 .
       㣮 ⮤  ᯮ,    "fpc" 㪠뢠.  
  ⮬ 砥 ࠭  맮  ணࠬ  p  
  饩 ⮩  ୠ⨢ ⥬᪨ ⥪.
        p  p⥪p INTEL 80x86.

       5.2. ।⠢ 

        ࠧ 뢠 ७    設  ।⠢
   ⨯, p WATCOM C/C++ 16.

       5.2.1.  "char"

       ꥪ ⨯ "char"  1  .  祭 室
   ᫥饬 :

       0 7,0 n 7,0 255

        ,   "char",  㬮砭,  . 
  "j" pp  WATCOM C/C++ 16  ᯮ짮,  ⮡ -
   ᯮ㥬  㬮砭        .  ᫨
  "char" ,  ꥪ ⨯ "char" 室  ᫥饬 -
  :
       -128 7,0 n 7,0 127

          ⠢  ꥪ ⨯ "char"   
   ᨬ  ᯮ㥬 㬮砭 ⥬ । 
    騬  ⨯ "unsigned char"  "signed char " ᮮ⢥-
  ⢥.

       5.2.2.  "short int"

                                - 87 -


       ꥪ ⨯ "short int"  2  .  祭 -
  室  ᫥饬 .

       -32768 7,0 n 7,0 32767

        ,  "short int" , , ᫥⥫쭮,
  "short int"  "signed short int"  .  ᫨  ꥪ  ⨯
  "short int"    ,    ।  "un-
  signed short int".   ⮬ 砥,  祭 室   ᫥饬
  :

       0 7,0 n 7,0 65535

       5.2.3.  "long int"

       ꥪ ⨯  "long int"  4  .   祭
  室  ᫥饬 :

       -2147483648 7,0 n 7,0 2147483647

        ,   "long int"      ᫥⥫쭮
  "long  int"    "signed  long int " .  ᫨ ꥪ ⨯
  "long int"   ,   ।  "un-
  sined long int".   ⮬ 砥,  祭 室  ᫥饬
  :

       0 7,0 n 7,0 4294967295

       5.2.4.  "int"

       ꥪ ⨯ "int"  2  .   祭 -
    ᫥饬 :

      -32768 7,0 n 7,0 32767

        ,   "int"   ᫥⥫쭮 "int" 
  "signed int"  묨. ᫨ ꥪ ⨯ "int" 
   ,   ।  "unsigned int".  ⮬
  砥 祭 室  ᫥饬 :

           0 7,0 n 7,0 65535

       ᫨   ,   믮   ०    16

                                - 88 -

  pp鸞,  "short int"  "int", "unsigned short int" 
  "unsigned int " ,   "signed short int"  "signed  int"
  .        p㣨  㣨 ।,  
  "int"  "long int"   4 .

       5.2.5.  float (" 饩 窮")

         ⨯ "float"  -  ਡ⥫쭮  ।⠢
  ⢥ ᫠.     ⨯ "float"  4
  .  ᫨ m - 稭 x ( ⨯ "float")  ⮣  x  
  பᨬ஢

            25-1260 7,0 m < 25128

    ਡ⥫쭮

      1.175494770e5-380 7,0 m 7,0 3.402823770e5+38

        ⨯ " 饩 窮" ।⠢ ७ ᫥-
  騬 ࠧ.  ,   ࠭   
  訬 ⮬ ᭠砫  訬 ⮬ ᫥.

      Ŀ
       S   Biased      Significand     
          Exponent                     
      
       31    30-23           22-0
        |      |               |
        ᬥ饭      
            p冷

  ਬ砭:

           S=   (0= ⥫쭮, 1= p⥫쭮)

  Exponent ᬥ饭  p浪  p 127 ( ,  祭 浪 1
  ।⠢ 25-1260 ; 祭 浪 127 ।⠢ 251270; -
   浪 254 ।⠢ 2 ;   ...).  浪 - 8 pp-
  .

   騩      ᥣ  1,  ᫥⥫쭮 
           ᥣ "ଠ".     23 pp鸞  
           .


                                - 89 -

  H     쭠 稭   ,   ࠧ,
           冷,   -  㫨.

  ᪮筮
               浪   p 1     -
             㫥,  ⮣ 稭 ।⠢ ᮡ -
           ⥫   ⥫ ᪮筮,   ᨬ
             ࠧ鸞.

   ᫮    浪   p 1     -
           筮    , ⮣  稭 - ᯥ樠쭮 祭
           뢠 " ᫮" NAN (Not-A-Number).

              浪   p 0,    -
           筮  ,  ⮣  稭 - ᯥ樠쭮 祭,
           뢠 "p" ("denormal"  nonnormal).

       5.2.6.  "double"

         ⨯ "double" -  ਡ⥫쭮  ।⠢
  ⢥ ᫠.  筮   ⨯ "double" 
   ࠢ 筮 ⨯ "float".     ⨯ "doub-
  le"  8 ⮢. ᫨ m - 稭 x ( ⨯ "double"),
  ⮣ x  பᨬ஢

         25-10220 7, 0m < 251024

         p

   2.2250738585072770e5-3080 7,0 m 7,0 1.79769313486232770e5+308

        ⨯ "double" ।⠢ ७ ᫥騬  -
  .   ,   ࠭    p浪 
  ᠬ 訬 ⮬ ᭠砫  ᠬ 訬 ⮬  .

      Ŀ
       S   Biased              Significand              
          Exponent                                      
      
       63    62-52                    51-0
       |       |                       |
        ᬥ饭              
            p冷


                                - 90 -

       ਬ砭 :

  S   S=   (0= ⥫쭠 稭, 1= p⥫쭠)

  冷 ᬥ饭 浪 p 1023 ( , 祭 浪 p-
          1 ।⠢ 稭 25-10220 ;  祭 浪  1023
         1023 ।⠢ 2;  祭 浪 2046 ।⠢ 2 ;
          ...).  浪  52 (11 ?)   .

  
         騩   ᥣ 1, ᫥⥫쭮  ᥣ
         "ଠ".    52   .

  H
         稭   筮   ⮣,  -
          ࠧ, 冷,   -  㫨.

  ᪮筮
             浪   p 1,      -
           㫥,  ⮣  ⥫쭠  ⥫쭠
         ᪮筮,  ᨬ   ࠧ鸞.

   ᫮
            浪   p 1    ⫨-
           , ⮣  稭  ᯥ樠쭮 祭,
         뢠 " ᫮" NAN (Not-A-Number).

            浪   p 0    ⫨-
           ,  ⮣  稭 - ᯥ樠쭮 祭 "-
         ⠭⭮"  ଠ쭮 (denormal) ᫮.

       5.3. ᯮ  

        뢠  p冷  ᥣ⮢  pp,  㥬
  騪 (騪)  WATCOM.     ,  
  p ⮬ p ᯮ짮 樨 騪 "DOSSEG".

  1)  ᥣ,  ਭ騥 㯯 "DGROUP"  ᮬ "CODE"

  2)  㣨 ᥣ,  ਭ騥 㯯 "DGROUP"

  3)   ᥣ, ਭ騥 㯯 "DGROUP"  ᮬ "BEGDATA"

  4)  ᥣ,  ਭ騥 㯯 "DGROUP",       ᮬ

                                - 91 -

   "BEGDATA" "BSS"  ""

  5)  ᥣ, ਭ騥 㯯 "DGROUP"  ᮬ "BSS"

  6)  ᥣ, ਭ騥 㯯 "DGROUP"  ᮬ "STACK"

       樠 ᥣ, ਭ騩  "BEGDATA", ।-
       ⥪  ६  믮  WATCOM.
    ᥣ 樠 ⭠묨 ⠬ "01" -
    ᥣ⮬  㯯 "DGROUP" ⠪,    -
  p㦥 , ࠭   0.
       , ਭ騥  "BSS", ᮤঠ 樠-
   .   ,   ⮫쪮 砥 樠-
  ஢    ᥣ⮢  ਭ  㯯  "DGROUP".
  ,  ਭ騥  "STACK", ᯮ ⮡ ।-
   ࠧ ⥪    襩  pp.  ,  ਭ騥
  ᠬ "BSS"  "", ᫥  p浪 ᥣ⮢, ⠪  -
  樠஢       ⮣  ᯮ塞
  䠩.
       ஬  ᯥ樠 ᥣ⮢, ᫥騥 ᮣ襭 ᯮ-
   WATCOM C/C++ 16

     1)  "CODE" ᮤন 믮   襩  ணp.  
  쪮  (small)  ,   ⮨  ᥣ "_TEXT".  
  让 (big)  ,  ⮨  ᥣ⮢ "<module>_TEXT",
   <module> -  室 䠩.

     2)  "FAR_DATA" ⮨  ᫥饣:

  (A) ꥪ , 祩 ࠧ ॢ蠥 ண    -
     (ண  - 32 , ᫨    -
  짮 樨 pp "zt")

  (B) ꥪ  ,  ।    ᯮ짮 祢 ᫮
  "FAR"  "HUGE",

  (C) ࠫ,  祩 ࠧ ॢ蠥 ண     
    (ண  - 32 , ᫨    ᯮ짮-
   樨 pp "zt")

  (D) ࠫ, p  ᯮ짮 祢 ᫮ "FAR" 
  "HUGE".

         ⬥ p᫥ ᮣ襭,   㬮砭 -

                                - 92 -

  㥬 pp WATCOM C/C++ 16   ᥣ⮢.

   1)  "nm" WATCOM C/C++ 16  ᯮ짮, ⮡ 
   .  ,   ᢮ ।,   ᥣ  
  ஢  让  .

   2)  "nt" WATCOM C/C++ 16  ᯮ짮,  ⮡ ।-
     ᥣ ᨬ  ᯮ㥬  .

       5.4. 襭  맮  -80x87 ணࠬ

       騥 ࠧ  뢠 ᮣ襭  맮 p -
  ஢  樥 ࠭ "fpc".

       5.4.1. p p㬥⮢,  ᯮ ᭮  pp
              ᮣ襭  맮

        p㬥 । 㭪樨 p ᯮ짮 ᭮
    ॣ ᮣ襭  맮 । ࠧ஬ ( )
  p㬥  ⥬,    ᯨ᪥ p㬥⮢ 室 p㬥.  -
  ᨬ   ࠧ,  ࠬ  ।  ॣ  
  ⥪. p㬥 ⨯   ᥣ ।  ⥪, ⠪
     ᫨誮 訥,  ⮡   ॣ.  
   p㬥 ࠡ뢠 ᫥ p,   ᪮쪮 p-
  ⮢ ⭮ ।  ॣ (᫨   )
  , ᫨ ᯨ᮪ p㬥⮢ ᮤন  p㬥⮢, ᫥ -
  쪮 p㬥⮢ ⭮ ।  ⥪.
       , ᯮ㥬  । p㬥⮢    㭪  -
  AX, BX, CX  DX.. 騩  뢠,  p㬥 -
    㭪.

       ࢮ砫쭮,   ᫥騥 ॣ,  㯭  -
  p p㬥⮢: AX, DX, BX  CX.  ,  ॣ
  롨  ⮣ ᯨ᪠  㪠  浪.    ,  
  ࠭ ॣ - AX  ᫥ - CX.   p㬥 (-
  ࠬ) Ai, 稭  p ,  ᫥騥 蠣.

       1) ᫨ ࠧ Ai - 1 ,  ८ࠧ  2   -
   室  ᫥饬 蠣.  ᫨ Ai  ⨯ "unsigned char",
    ८ࠧ뢠   "unsigned int".  ᫨ Ai  ⨯ "signed
  char",  ८ࠧ뢠  "signed int". ᫨ Ai -   1
  ⮬,  । ࠭஬.

       2) ᫨  p㬥  㦥  稫   ⥪,  Ai 

                                - 93 -

  ⠪    ⥪.  p室 室  ᫥-
  饬 蠣.

       3) ᫨ ࠧ Ai - 2 , 롨p ॣ  ᯨ᪠ -
  㯭 ॣ஢.  ᫨ ॣ 㯥,  Ai 砥   -
  .   ⮣ 㤠  ᯨ᪠ 㯭 ॣ஢. ᫨
   ॣ  㯭, Ai     ⥪.

       4) ᫨ ࠧ Ai - 4 , 롨p  ॣ஢  ᫥-
  饣 ᯨ᪠:  [DX AX]  [CX BX]. ࢠ 㯭  ॣ-
  ஢ 뤥 Ai  㤠  ᯨ᪠ 㯭 .  訥  16
  ⮢ p㬥    ॣ ; 16 ⮢ 襣
  ࠧ鸞   ன ॣ   .  ᫨  㯮
   ॣ஢ 㯭, Ai  뤥   ⥪.

       5) ᫨  ⨯ Ai "double"  "float" (p ⢨ p⨯
  㭪樨),  롨p [AX BX CX DX]  ᯨ᪠ 㯭  ॣ஢.
    ॣ 㤠  ᯨ᪠ 㯭 ॣ஢.  -
  訥 16 ⮢ ࠬ      ॣ,    16  ⮢
  襣  ࠧ鸞    ⢥ ॣ.  ᫨  
   ॣ஢ 㯥, Ai     ⥪.

       6) ᥬ 㣨 ࠬࠬ     ⥪.

      ਬ砭:

       1) p㬥,     ⥪,  
  ⭮  2 ⮢.   ,  ᫨   3 ⠬ 
    ⥪, 4     ⥪.

       2) p㬥,      ⥪,  
  ⥪, 稭   p p㬥.

       5.4.2.  ஥ ⨯

        ⠡ p ஥ ⨯,   ࠧ, 
   㪠뢠 㭪樥 "sizeof", ࠧ p㬥 ⮣ ⨯  -
  ,  ᯮ㥬 ⮡ ।  p㬥,  ᫨  
  ⢥ p㬥  ᯨ᪥ p㬥⮢.

           "sizeof"     p         ᯮ㥬
                                   p㬥      pp

   Char               1            2              [AX]

                                - 94 -

   short int          2            2              [AX]
   Int                2            2              [AX]
   long int           4            4              [DX AX]
   float              4            8              [AX BX CX DX]
   double             8            8              [AX BX CX DX]
   near pointer       2            2              [AX]
   far pointer        4            4              [DX AX]
   huge pointer       4            4              [DX AX]

        ,  ࠧ p㬥 ⠭  ⠡-
   ।,    㭪樮 ⨯  ।-
  .  㭪樮 ⨯   ᯮᮡ । -
  㬥⮢.   㤥 㦤  ࠧ" ⢨  p⨯
  㭪権  p㬥".

         ਬ砭:

       1) p  ᫮,     㭪樮 ⨯  -
  ,  ࠬ 㤥 ८ࠧ뢠  ⨯  㬮砭, 
  ᠭ  ᫥饩 ⠡.

                 p㬥        p 

                char                 unsigned int
                signed char          signed int
                unsigned char        unsigned int
                float                double

       5.4.3.  ᫨ ⨯

       ᫥ ⨯ ᫨ ⨯  ।  祭ﬨ
  ⠭  ᫥.   p ண ANSI C  ᫨
  ⠭  ⨯ int.   pp p ࠭ 㤥 -
  짮  ᠬ  쪨   楫᫥ ⨯ (᪫
  long int),  p  ।⠢   祭  ᫨
  ⨯.  ਬ,  ᫨   ᨬ 祭 ⠭
  ᫥ 室    -128  127, ᫨ ⨯
  㤥 ⥭ signed char (ࠧ = 1 ).   뫪  -
  ᫨ ⠭⠬  ।饬 pp    ⨯  signeg
  char. ᫨ ⠭ ᥣ pp   int p p-
    p㬥.

       5.4.4. ﭨ p⨯ 㭪権  p㬥


                                - 95 -

       p⨯ 㭪権  p ⨯ ଠ ࠬ஢ 㭪-
  樨.     ᯮᮡ p p㬥⮢. p-
   㤥 ८ࠧ뢠  ⨯ ᮮ⢥饣 ଠ쭮 -
  ࠬ  㭪樮쭮 ⨯. ᬮ ᫥騩 ਬ.

            void prototype(float x, int i);

            void main()
            {
             float x;
             int i;

             x = 3.14;
             i = 314;
             prototype (x, i);
             rtn(x, i)
           }

       p⨯ 㭪樨  p⨯ 㪠뢠,   p p㬥
  㤥 p  "float",  p p㬥 㤥 p-
    "int."  p ⮣, p p㬥 㤥 p-
    pp DX  AX,   p p㬥 㤥 p  p-
  p BX.
       ᫨ p⨯  㭪樨    㪠뢠,    砥 㭪樨
  rtn,  p p㬥 㤥 p  "double",  p 
  "int".   p ⮣,  p p㬥 p  pp
  AX, BX, CX, DX,  p p㬥 p p ⥪.
       ,   ᬮp  ,   p⨯  rtn -
  뢠   ᯨ᪮ p㬥⮢, ⮤, p묨 p㬥-
   p,  ᮢp襭 p ⮫쪮 ⮬,    㭪樨
  㪠 p⨯.   p⨯ 㭪権 -  pp 
  pp,  p㬥 襩 ᥬp 㭪樨  p-
   ⠪  .

       5.4.5. p䥩  㭪ﬨ 몠 ᥬp

       ᬮp ᫥騩 pp:

              void main()
              {   long int x;
                  int i;
                  long int y;

                  x = 7;

                                - 96 -

                  i = 77;
                  y = 777;
                  myrtn(x, i, y);
              }

  myprn   㭪 몠 ᥬp,  p p p p㬥-
  ⮢.  p p㬥 ⨯ "long int",  p ⨯ "int"   p⨩
  ⨯  "long  int".  ᯮ p,  ᭮뢠  pp
  権 맮,   p㬥  p myprn ᫥騬 -
  p:

       1) p p㬥 㤥 p  pp DX  AX, ⠢
  BX  CX 㯭묨  p㣨 p㬥⮢.

       2) p p㬥 㤥 p  pp  BX,  ⠢  CX
  㯭  p㣨 p㬥⮢.

       3) p⨩  p㬥    頥  pp CX ( pp 4
  ), ᫥⥫쭮  㤥 p p ⥪.

        ᬮp  ⥪ ᫥ 室  myprn

                쪠 (small)  

                ᬥ饭  Ŀ
                                             
                0            p p   <- SP 㪠뢠 
                          Ĵ
                2            p㬥 #3     
                                             
                6         


                 (big)  

                ᬥ饭  Ŀ
                                             
                0            p p   <- SP 㪠뢠 
                          Ĵ
                4            p㬥 #3     
                                             
                8         



                                - 97 -

       砭:

       1) p p -  訩    ⥪.    쪮
    p p -   ᫮ (16 )

       p SP  ᯮ짮   pp  p-
  樨 p쥣 p㬥  ⥪.  p BP 筮 ᯮ 
  p樨 p㬥⮢  ⥪.  ᫥ 室   㭪 ॣ
  BP ⠭ ⠪,  ⮡ 㪠뢠  ⥪,   । ⥬ 
   ⠪,    ࠭,  -  ᮤন. 騥
     :

      push BP;  ࠭ ⥪饥 祭 BP
      ov BP, SP;  砥   p㬥⠬

  ᫥ 믮   ⥪ 룫廊  ᫥饣.

   쪠  

   饭
                Ŀ
     0           p  BP <- BP and SP 㪠뢠 
                Ĵ
     2           p p 
                Ĵ
     4            p㬥 #3   
                                
                Ĵ
     8                          

     

   饭
                Ŀ
     0           p  BP <- BP and SP 㪠뢠 
                Ĵ
     2           p p 
                                
                Ĵ
     6            p㬥  #3  
                                
                Ĵ
     10                         


                                - 98 -

    뢠  p,  ⨩ ࠬ  ᬥ饭 4 
   ॣ BP  쪮    6  让  .

       ᫥ 室  myrtn,     ⠭  祭  BP.
  騥    .

     mov SP, BP;   ⠭ 㪠⥫ ⥪
     pop BP;       ⠭ BP

   p pp 㭪樨 ᥬ, ⢫饩 myrtn.

   Small Memory Model(small code,  small data)
  DGROUP      group         _DATA, _BSS
  _TEXT       segment byte public 'CODE'
              assume        CS: TEXT
              assume        DS: DGROUP
              public        myrtn_
  myrtn_      proc          near
              push          BP; ࠭  BP
              Mov           BP, SP;     p㬥⠬;
  ;
  ;    㭪樨
  ;
              ov           SP, BP; SP ⠭
              pop           BP;     ⠭ BP
              ret
                             4;      ⠫  ᫥
                              ; p㬥
              myrtn_ endp _TEXT

    Large memory Model (big code, big data)
  DGROUP      group         _DATA, _BSS
  MYRTN_TEXT  segment byte public 'CODE'
             assume        CS:MYRTN_TXT
             public        myrtn_
  myrtn_     proc          far
             push          BP;      ࠭  BP
             mov           BP, SP;     p㬥⠬;
  ;
  ;    㭪樨;
  ;
             mov           SP,  BP; SP ⠭
             pop           BP;      ⠭ BP
             ret            4;     ⠫ ᫥

                                - 99 -

                             ;      p㬥
  myrtn_      endp
  MYRTN_TEXT  ends

   ਬ砭:

       1) ᫥  묨  㭪権  ᫥  ᨬ-
   ન. p   ६  㪠-
  뢠 ᨬ ન.

       2)  ᯮ㥬 ॣ 80x86  ࠭  室
   ⠭  室,   ᪫祭 ᯮ㥬  -
  । p㬥⮢   祭.  ,   ⮫쪮  ᥣ-
    ॣ   ࠭  ⠭,  ᫨ 
    ணp  樥 "r".

       3)  ࠢ   饭 । ⮬  -
   pp.

       4)  쪮  ,  ᥣ, ᮤঠ騩 믮-
   ,  ਭ ᥣ "_TEXT"   "CODE". -
   "_TEXT"   "p" ⨯ "PUBLIC".  p -
  , CS ᮤন ᥣ  ᥣ "_TEXT".  让 
    ࠭祭   ᥣ⮢, ᮤঠ 믮-
   .

       5)  쪮 (small)   ॣ DS ᮤন  ᥣ-
    㯯 "DGROUP".   ⠪    訬 -
  묨.

       6)   㭪権 몠 ᥬ     쪨
  ,      "near". ᫨    㭪樨
  ᥬ  让  ,          
  "far".

       7)  饬,   ᥣ⮢    , 
  ᫥ ᮣ襭,  ᠭ  "p "    ⮩
  .

       8) ᫨   p㬥⮢ 頫  ⥪, 뢠 -
  ணࠬ  ⠫  ࠬ  ⥪   "ret".

       5.4.6. 㭪樨  ६ ᫮ p㬥⮢


                                - 100 -

       p⨯ 㭪樨  ᯨ᪮ ࠬ஢,   稢
  ",..."  ६ ᫮ ࠬ஢.   ⮬ 砥,  -
    ।  p ⥪.  ᪮  p⨯  ᮤp
   ଠ樨  p㬥,  祭  ",...",   
  p㬥 ।,  ᠭ  p "। p㬥⮢".

       5.4.7. p 祭  㭪権

       ᮡ,  p p 祭 㭪権,   
  p p頥 祭.  騥 ਬ  뢠,  
  祭 㭪権  .  ⠢   -
   small.

   1) 祭  1 ⮬     ॣ AL.

   ਬ:

   _TEXT     segment byte public 'CODE'
             assume  CS: _TEXT
             public  Ret1_
   Ret1_     proc    near;    char Ret1()
             mov     AL,'G'
             ret
   Ret1_     endp
   _TEXT     ends
             end

   2) 祭  2 ⠬     ॣ AX.

   ਬ:

   _TEXT     segment byte public 'CODE'
             assume  CS: _TEXT
             public  Ret2_
   Ret2_     proc    near; short int Ret2()
             mov     AX, 77
             ret
   Ret2_     endp
   _TEXT     ends
             end

   3) 祭  4 ⠬    ॣ DX  AX 
      訬 ᫮  DX.


                                - 101 -

   pp:

   _TEXT     segment byte public 'CODE'
             assume  CS: _TEXT
             public  Ret4_
   Ret4_     proc    near ; long int Ret4()
             mov     AX,  word ptr CS:  va14 + 0
             mov     DX,  word ptr CS:  va14 + 2
             ret
   Val4      dd      7777777
   Ret4_     endp
   _TEXT     ends
             end

   4) 祭  8 ⠬,   ᪫祭 pp,   -
        ॣ AX, BX, CX  DX  訬 ᫮  p
      AX.

   ਬ:
                .8087
   _TEXT      segment byte public 'COD'
              assume    CS: _TEXT
              public    Ret8_
   Ret8_      proc near;  double Ret8 ()
              mov       DX, word ptr CS:Val8+0
              mov       CX, word ptr CS:Val8+2
              mov       BX, word ptr C":Val8+4
              mov       AX, word ptr CS:Val8+6
              ret
   Val8:      dq        7.7
   Ret8_      endp
   _TEXT      ends
              end

        㪠뢠 ᥢ ".8087", ⮡  ⠭
   饩 ⮩ ஢  ଠ 8087.   ᯮ짮-
   樨 "fpc" (맮  饩 ⮩),  pp p-
   祭 "float"  "double".  .  ࠧ "  祭 
  ᭮  80x87 ਪ ணࠬ"  ᯮ짮  権
  "fpi87"  "fpi".

   5) ,  뢠騩  । ࠭⢮   ⥪,
       頥 祭 ⠭ ॣ Sl,  㪠-
      騩   .    , pp SI -

                                - 102 -

      ন ᬥ饭, ⭮⥫쭮  祭  SS.

   ਬ:

   _TEXT    segment byte public 'CODE'
            assume   CS: _TEXT
            public   RetX_
     ;
     ; struct int_values {
     ; int value1, value2, value3, value4, value5;
     ;                   };
     ;
   RetX_    proc near; struct int_values RetX()
            mov word ptr SS:0[SI],71
            mov word ptr SS:4[SI],72
            mov word ptr SS:8[SI],73
            mov word ptr SS:12[SI],74
            mov word ptr SS:16[SI],75
            ret
   RetX_    endp
   _TEXT    ends
            end

     祭 p ⥪,    ᯮ짮 
  ᥣ ⭮⥫쭮 ᥣ ⥪ (SS).

   p ਬ pp WATCOM C/C++ 16, 뢠饩 -
  㯮 ணࠬ ᥬ.

   #include <stdio.h>
   struct int_values {
       int valuel;
       int value2;
       int value3;
       int value4;
       int value5;
   };

   extern char                      Ret1 (void);
   extern short int                 Ret2 (void);
   extern long int                  Ret4 (void);
   extern double                    Ret8 (void);
   extern struct int values         RetX (void);


                                - 103 -

   void main()
   {
        struct int_values x;

        printf ("Ret1 = %c\n", Retl());
        printf ("Ret2 = %d\n", Ret2 ());
        printf ("Ret4 = %ld\n",Ret4 ());
        printf ("Ret8 = %f\n", Ret8 ());
        x = RetX();
        printf ("RetX1 = %d\n", x.valuel);
        printf ("RetX2 = %d\n", x.value2);
        printf ("RetX3 = %d\n", x.value3);
        printf ("RetX4 = %d\n", x.value4);
        printf ("RetX5 = %d\n", x.value5);
   }

  襯p 㭪樨  ஢  쪮 
   (ᯮ 樨 pp "ms"  "mc").

       5.5. 襭  맮  ᭮뢠  80x87 ਪ-
             ணࠬ

        室 䠩  WATCOM C/C++ 16     
  権 "fpi"  "fpi87",   ࠬ  饩 ⮩ ।-
    ⥪ 80x86. ࠢ  p ࠬ஢ ᫥騥.

   1) ᫨  p㬥    饩 ⮩,  ᯮ 楤,
      ᠭ ࠭  ⮩ .
   2) ᫨ ࠬ -  饩 ⮩,    뤥  
      ⥪ 80x86.

       5.5.1. p䥩  㭪ﬨ 몠 ᥬp

       ᬮ ᫥騩 ਬ.

   ਬ:

       extern void myrtn (int, float, double, long int);

       void main()
       {
       float x;
       double y;
       int i;

                                - 104 -

       long int j;

       x = 7.7;
       i = 7;
       y = 77.77
       j = 77;
       myrtn ( , x, y, j);
       }

       Myrtn - 㭪 ᥬ,   ॡ   ࠬ-
  ஢.    ࠬ   ⨯ "int" (2 ),  ன ࠬ
   ⨯ "float" (4 ),  ⨩ ࠬ  ⨯ "double" (8
  )  ⢥ ࠬ  ⨯ "long int" (4 ).   p-
  㬥  ।  myrtn ᫥騬 ᯮᮡ:

   1)   p㬥 㤥 ।  ॣ AX ⠢ BX,  CX 
      DX  㯭 ॣ  㣨 p㬥⮢.

   2) ன p㬥 㤥 ।  ⥪ 80x86,  ⠪   - p-
      㬥  饩 ⮩.

   3) ⨩ p㬥 㤥 ⠪ ।  ⥪ 80x86,  ⠪  
      - p㬥  饩 ⮩.

  4) ⢥ p㬥 㤥 ।  ⥪ 80x86,  ᪮ -
      饬 p㬥 稫   ⥪ 80x86.

  , p㬥   ⥪ ࠢ .     -
   襣 ࠧ鸞 頥 ᭠砫.

   㭪 ᥬ  ᮡ ᫥騥 ࠢ:

   1)  ࠬ, ।  ⥪,  㤠 㤠 -
       㭪樥.

   p pp  㭪樨  ᥬ,   ⢫
  myrtn.

       ਬ:

             .8087
   _TEXT     segment byte public 'CODE'
             assume    CS: _TEXT
             public    myrtn_

                                - 105 -

   myrtn_    proc      near
    ;
    ;  㭪樨
    ;
             ret 16;   祭 p㬥⮢
   Myrtn_    endp
   _TEXT     ends
             end

       ਬ砭:

       I) ᫥    㭪権  㪠뢠 ᨬ ન-
  .

       2)  ᯮ㥬 ॣ 80x86  ࠭  室
    ⠭  室,  ᪫ ,  p ᯮ
   । p㬥⮢   祭, ,  ᥣ-
   ॣ  ࠭  ⠭, ⮫쪮 ᫨  -
   ஢  ணp  樥 "r".    ਬ, AX
    ࠭, ⠪   ᯮ짮  । ࢮ-
   p㬥.  p  饩 ⮩    -
  ࠭  ᮤন.

       3)  ࠢ   饭 । ⮬  -
  饩 pp.

       4) ᪮  㭪 ᠫ  쪮    ,
   ᥣ, ᮤঠ騩 믮 ,  ਭ -
   "CODE"  ᥣ "_TEXT".  室 CS ᮤন ᥣ 
  "_TEXT". 㯮 ࠭祭  ਬ    -
  訬 .

       5)  ᠭ 㭪権 몠 ᥬ  쪮 
  ,      "near".  ᫨    㭪樨
  ᥬ  让  ,     "far".

       5.5.2. 祭  pp, ᭮  80x87

       祭   饩 ⮩   ST(0)  ᯮ-
   権 "fpi87  "fpi".   㣨  祭  
  ᯮᮡ, ᠭ ࠭  ⮩ .

       6. ᥢਨ (p)


                                - 106 -

       6.1. 

       ᥢ਩ - ४⨢ ࠭,  ᯥ稢-
   ᫥騥 .

       1) ᥢਨ   ।  ।  樨
  ࠭.

       2) ᥢਨ   ᯮ짮,  ⮡  ࠢ
  pp  ꥪ⭮   WATCOM C/C++ 16   ᯥ樠-
   ᫥⥫쭮⥩   맮 㭪権,  ᯮ-
   孨 p p㬥⮢   祭,  ⫨
   ᯮ㥬  㬮砭  WATCOM C/C++ 16.

       3) ᥢਨ  ᯮ짮, ⮡ 뢠 -
  ਡ 㭪権 (⨯  䥪⮢),    몮
  p C/C++.   ꥪ⭮   ᯮ짮  -
  ଠ, ⮡ ஢  䥪⨢ .

       4)   ᫥⥫쭮  ஥ 設 몮 -
  ,   맮 㭪権 QNX,  ஢  ꥪ⭮
  .

       ᥢਨ (p) ।  室 䠩,  -
   ४⨢ ᥢ (p). 饥 ।⠢-
   ᯮ  ᠭ ᨭ⠪ ᥢਥ.

  ABC            ᨬ abc ॡ.
  [Abc]           abc 易⥫.

  (Abc)           abc     襥
                 ⢮ ࠧ.

  'a'            ᨬ  ॡ.

  a|b|c            a, b  c   㪠.

  ::=b            p  ନ b.

  ()             業 p.

                                - 107 -

       騥  ᥢਥ ᯥ稢.

   1) ᥢਨ,   । 樨.
   2) ᥢਨ,  । ⥪  㬮砭.
   3) ᥢਨ,    뢠 ,  p 
      ࠭  
   4) ᥢਨ,  ᯥ稢 ⥫ ଠ-
      , ᯮ㥬  樨 ꥪ⭮ 

       6.2. ᯮ짮 ᥢਥ  㪠 権

        饥 ६,  ᫥騥 樨  ।  ᥢ-
  ﬨ:

   1) unreferenced
   2) Check_stack

  "unreferenced" ࠢ ᯮᮡ,  p WATCOM C/C++ 16 p-
  뢠 ᯮ㥬 ᨬ. ਬ,

   #pragma on (unreferenced);

  㤥 ⠢ WATCOM /C++ 16 뢮 ।०騥 ᮮ饭
    ᯮ㥬 ᨬ.   㬮砭. ।

   #pragma off (unreferenced);

  㤥 ⠢ WATCOM C/C++ 16 ஢ ᯮ㥬 ᨬ-
  . , , ᫨ ஢ ।०  筮 ᮪,
  ।०騥  ᮮ饭  ᯮ㥬 ᨬ  㤥 -
    ᫨  㪠 "unreferenced".

  "Check_stack" ࠢ ᯮᮡ p⪨ ९ ⥪, -
  ਬ, #pragma on (check_stack),  㤥 ⠢ p㦨 -
  ९ ⥪  #pragma off (check_stack) 㤥 ⠢ -
  pp ९ ⥪.

        "check_stack" 몫祭, WATCOM C/C++ 16 㤥 -
   맮 ६ 믮  ணࠬ ஢ન ⥪  -
    㥬 ணࠬ.   ணࠬ ६ -
   㤥 뢮 訡,  ᫨ ९ ⥪ ந室
    p 맮 ணࠬ.   㬮砭 ⥪  ஢
   ९. ஢ઠ ९ ⥪ ᮡ , -
   㭪樨 뢠 ppᨢ.  , , ᫨ -

                                - 108 -

  ઠ ⥪  p 뫠 ⬥,  ।᪠㥬 १-
    ந.
       ᫨ ९ ⥪ ந室  室 믮   㢥-
  p,   pp p쭠 (    㦭 ppp-
  ),  㢥稢 ࠧ ⥪.   ⥬ p-
      襩  ணp    㪠 樨 騪
  "STACK"  訬 ࠧ஬ ⥪.

         ।  祬    ᥢ-
  ਨ,   ᫥騬 ਬ஬.

   #pragma on (check_stack unreferenced);

       6.3. ᯮ짮  ᥢਥ   㪠 ⥪
             㬮砭

       ⥪  㬮砭  ।    ᯥ樠  
  ꥪ⭮ .      ᯥ樠-
   ᥩ 騪 WATCOM.  ᫥ p⪨  ꥪ-
   㫥,  㪠  p⨢ 騪 "FILE", 
  襭 뫪,   ⥪  㬮砭  ᫥ ᪠
   ⥪, ।塞  p⨢ 騪 "LIBRARY".
        㬮砭, ᫨ ᥢ਩ ⥪  ।-
  ,  pp WATCOM C/C++ 16   ꥪ⭮ 䠩, -
  饬  ணࠬ, ⥪  㬮砭 ᮮ⢥騥
  ᯮ㥬      饩 ⮩.  ਬ,
  ᫨  ஢ 室 䠩,  ᮤঠ騩   ணࠬ
     medium    饩 ⮩ c 맮, 
  ꥪ 䠩   ⥪ "clibm"  "mathm".
       ᫨      ᮡ⢥ ⥪  㬮-
  砭  ⮬ ᯨ,    ᤥ  ᥢਥ "lib-
  rary". ᬮ ᫥騩 ਬ.

   #pragma library (mylib);

   "mylib" 㤥   ᯨ ⥪,   㬮砭 -
  ।塞  ꥪ⭮ 䠩.

       ᫨ 筠 ᯥ䨪 ᮤন ᨬ ⨯ "11", ':'
   ',' ( ,  ᨬ  ᪠  䨪 ),
        窨   ᫥饬 ਬ.

   #pragma library ("/usr/lib/dos/graph.lib");


                                - 109 -

       ᫨   ।  祬  ⥪  -
  筮  ᥢਨ,      ⤥  ஡  
  ᫥饬 ਬ.

   #pragma library (mylib "/usr/lib/dos/graph.lib");

       6.4. ᥢਨ ⮢ (PACK)

       ᥢਨ ⮢  ᯮ짮   ࠢ
  ᯮᮡ,   ࠭  .  㬮砭 WAT-
  COM C/C++ 16 ࠢ         ࠭  .
   ଠ ᥢ   ᯮ짮, -
    ࠢ      .

    Ŀ
      #PRAGMA PACK '('n')'[';']                           
    

  :               ᠭ:

  n                - 1,2,4  8  । ⮤ ࠢ.

       ࠢ ⮢  뢠  ᫥饩  ⠡-
  .  ᫨ ࠧ  1,  2, 4  8, ࠢ  
    "zp" 権.  ᫨   - ᨢ  -
  , ࠢ 뢠 ப "x".

     sizeof () |    zpl     zp2      zp4      zp8
     -----------------+-----------------------------------
     1                |     0       0        0        0
     2                |     0       2        2        2
     4                |     0       2        4        4
     8                |     0       2        4        8
     x                |     p  p㯭襣 

       ࠢ 0  砥  ⢨ ࠢ,  2 砥
  ࠭ ᫮, 4 ࠭  ᫮,  ... ᫨ ᠬ 让
     "x" - 1 ,  ⮣ "x"  ࠢ.  ᫨
  ᠬ 让   "x" - 2 , ⮣ "x" ࠢ-
   ᮣ᭮ ப 2.  ᫨ ᠬ 让   "x" -
  4 ,  ⮣ "x" ࠢ ᮣ᭮  ப  4.  ᫨  ᠬ
  让    "x" - 8 ⮢,  ⮣ "x" ࠢ
  ᮣ᭮ ப 8.
       ᫨   祭  ।  ᥢਨ -

                                - 110 -

  ,  祭  㬮砭 1 ᯮ. ,  祭
   㬮砭   樥 "zp"  p p-
  p WATCOM C/C++ 16.

       6.5. ᥢ਩ ALLOC_TEXT

       ᥢp "Alloc_text"  ᯮ짮, ⮡ -
  ।  ⥪⮢ ᥣ,   p   ᣥ-
  ஢   㭪樨,  ᯨ᪠ 㭪権.  뢠
  ଠ ᥢp "alloc_text".

    Ŀ
     #PRAGMA ALLOC TEXT '('seg_name ',' fn {',' fn}')' [';'] 
    

  :                ᠭ:

  seg_name            -  ⥪⮢ ᥣ.

  fn                  -  㭪樨.

  ᬮਬ ᫥騩 ਬ.

   extern int fn1 (int);
   extern int fn2 (void);
   #pragma alloc_text (my_text, fnl, fn2);

    㭪権 fnl  fn2 㤥   ᥣ my_text. -
   :  㭪樮 ⨯      㭪権
   ⢮  ᥢp "alloc_text".

       6.6. ᥢ਩ CODE_SEG

       ᥢp "Code_seg"   ᯮ짮  ।-
    ⥪⮢ ᥣ,     ᣥ-
  ஢   㭪権.  뢠 ଠ ᥢ-
  p "code_seg".

    Ŀ
     #PRAGMA CODE_SEG '('seg_name [','class_name]')'[';']      
    

  :                 ᠭ:


                                - 111 -

  seg_name         -  ⥪⮢ ᥣ.

  class_name       -   ⥪⮢ ᥣ.

       ᬮ ᫥騩 ਬ.

       #pragma code_seg (my_text);
       int incr (int i) {
           return(i + 1);
       }

       int decr (int i) {
       return(i- 1);
       }

    㭪権 incr  decr 㤥   ᥣ my_text.

       6.7. ᥢ਩ DATA_SEG

       ᥢp "Data_seg"  ᯮ짮  㪠
   ᥣ,      .  뢠-
   ଠ ᥢ "data_seg".

     Ŀ
      PRAGMA DATA_SEG '('seg_name [','class_name]')'[';'] 
     


  :                  ᠭ:

  seg_name            -  ᥣ .

  class_name          -   ᥣ .

      ᬮਬ ᫥騩 ਬ.

   #pragma data_seg (my_data);
   static int i;
   static int j;

     i  j    ᥣ my_data.

       6.8. ᥢ਩ INTRINSIC


                                - 112 -

       । 㭪樨, p  ᠭ 樨 "oi", 
  ஥  (intrinsic)  .   㭪樨 - ᯥ樠 㭪樨,
   ᯮ ࠭஬  ࠡ뢠 ᯥ樠 ᯮ-
  ᮡ. ਬ, ࠭   ஢ p
    ⮩ 㭪樨.  ஥  ਡ      ᯥ樠
  㭪権  ⠭  । 樨 "oi"  ᯮ짮-
   ᥢ intrinsic.

  ଠ ᥢ "intrinsic".

    Ŀ
      #PRAGMA INTRINSIC '('fn{','fn}')'       
    

  :                ᠭ:

  fn                  -  㭪樨.

       ।,  ᫥騩 室 ⥪  ஢  
  ᯮ짮 樨 "oi" ⠪,   㭪   ஥-
   ਡ.  ᫨  ⨬ ᯮ짮 p  㭪樨
  sin,       । 㭪  ᥢਨ "intrin-
  sic".

   #include <math.h>
   #pragma intrinsic(sin);

    double test(double x)
   {
         return (sin (x));
   }

       6.9. ᥢ਩ FUNCTION

       । 㭪樨, p  ᠭ 樨 "oi", 
  ஥ .   㭪樨 - ᯥ樠 㭪樨,   -
   ࠭஬  ࠡ뢠 ᯥ樠 ᯮᮡ.  -
  ਬ,  ࠭    롨   p  
  ⮩ 㭪樨. ஥ ਡ   ᯥ樠 㭪権 -
     㪠 樨 "oi" 樨  ᯮ짮 ᥢ-
   "intrinsic".  ᥢ਩ "function"   -
  짮, ⮡ 㤠 p ਡ  㪠 ᯨ-
   㭪権.


                                - 113 -

  ଠ ᥢ "function":

    Ŀ
       #PRAGMA FUNCTION '('fn{','fn}')'                   
    

  :                 ᠭ:

  fn                   -  㭪樨.

       ।,  ᫥騩 室 ⥪ ஢, -
    "oi" ⠪,     ᯥ樠 㭪権 -
  ,  ᯮ ஥ ଠ.   襬 ਬ,  뫠-
    㭪 sin,    ஥ .  ।-
   sin  ᥢਨ "function",  p "஥" 㤥
  㤠, 㭪  sin 㤥 ࠡ뢠  筠 ।-
   짮⥫ 㭪.

   #include <math.h>
   #pragma function ( sin );

    double test( double x )
   {
        return ( sin ( x ) );
   }

       6.10. ᥢ਩ INLINE_DEPTH (⮫쪮 C++)

        ஥ 㭪 뢠, 饭  㭪樨 
    ஥ ७  ⮩ 㭪樨.   ஥
  ७   맮  㣨 ஥ 㭪,  -
    ⠪ . "Inline_depth" ᥢ਩ -
   ᯮ짮,  ⮡ ⠭ ᪮쪮 ࠧ  ७
  ஥ 㭪権 㤥 ந室 p 맮.

  ଠ ᥢp "inline_depth":

    Ŀ
      #PRAGMA INLINE_DEPTH n[';']                     
    

  :               ᠭ:

  n                  - 㡨 ७.

                                - 114 -


       ᫨ n  0,   ७  㤥 p. ᫨
  n = 1, ⮫쪮 ࢮ砫 맮 ࠧp뢠. ᫨ n = 2, -
  砫  맮  ஥ 㭪樨,  뢠 ࢮ砫쭮
  㭪樥,   ࠧp뢠.  祭  㬮砭  n =  8.
  ᨬ쭮 祭  n = 255.  ,  pp뢠 -
  ᨢ ஥ 㭪権  ந室,  ᫨ ⮫쪮  ᯥ-
  쭮  㪠 ᥢp "inline_recursion".

       6.11. ᥢ਩ INLINE_RECURSION (⮫쪮 C++)

       ᥢp "Inline_recursion"   ࠢ   ४ᨢ
  ७ ஥ 㭪権.  ଠ  ⮣  ᥢ  -
  ᫥:

    Ŀ
      #PRAGMA INLINE_RECURSION ON [';']                  
                                                      
      #PRAGMA INLINE_RECURSION OFF [';']                 
    

   "on"  pp  ७ ४ᨢ ஥ 㭪権.
  㡨 ७ । ᥢp  "inline_depth".
  㡨   㬮砭 - 8.   "off"  ७ -
  ᨢ ஥ 㭪権.  ⠭  㬮砭.

       6.12. ⠭ ஢ ।० ᮮ饭 (C++ ⮫쪮)

       ᥢ਩ "warning" ⠭ ஢ pp-
   ᮮ饭. ଠ ᥢ "warning" - ᫥:

    Ŀ
     *PRAGMA  msglevel [';']               
    

  :             ᠭ:

  sg              -  ।०饣 ᮮ饭.   -
                     ⢥ p,  뢮  ࠭஬  
                       㦥  ਫ "-
                      饭 WATCOM C++".  ᫨ msg 㪠 "*",
                     ஢  ।० ᮮ饭 -
                       㪠 ஢.
  level            - ᫮  0  9, ।⠢饥  ஢  ।-

                                - 115 -

                     ०饣 ᮮ饭.   㪠뢠 -
                      , ।० ⠭ 訡.

       6.13. ⠭ pp 樠樨 ᪨ 
             (⮫쪮 C++)

       ᥢ਩ "initialize"  ⠭  ਮ   
  樠樨 ᪨   䠩.   ਮ ⭮
  ⮫쪮  樠樨 ᪨ ,  ॡ 믮-
   .  ਬ,  樠 ,   ᮤন -
  pp,  ॡ 믮 pp.   , ,
  ᫨ ᫥⥫쭮,   ன 樠 ᪨ -
    襩 ணࠬ,    ᨬ⥩,  ᥢ-
  ਩ "initialize"   ᯮ짮.
        ଠ ᥢ "initialize" - ᫥:

    Ŀ
      #PRAGMA INITIALIZE [BEFORE | AFTER] priority [';']  
      priority ::= n | LIBRARY | PROGRAM                  
    

  :                ᠭ:

  n -    ।⠢騩 ਮ      0-255.
           訩 ਮ, ⥬  窠,  ன 樠-
           㤥 ந室.

       ਮ   0-20 १ࢨ  pp C++.
    ࠭஢,  p쭠 樠 ⥬ -
  প  믮  ++  㤥    । 믮 襩
  ணࠬ. 祢 ᫮ "library" ।⠢ ਮ 32  -
   ᯮ짮  ⥪ ᮢ,  ॡ 樠-
  樨  樠樨 ணࠬ.  祢 ᫮ "program"  ।-
  ⠢  ਮ 64 -  ਮ  㬮砭   ࠭-
  㥬 ணࠬ.   "before" ppp ਮ ⥬
  ⠭  .    "after" ppp ਮ ⥬
   .
       室 䠩, ᮤঠ騩 ᫥騩 ᥢ਩ "initia-
  lize" ।,   樠 ᪨   䠩 -
     । 樠樥  㣨 ᪨ 
   ணࠬ, ⠪  㤥 祭 ਮ 63.

       ਬ:     #pragma initialize before program


                                - 116 -

  ᫨ 㪠 "after"    "before",  樠  ᪨
    䠩 ந ᫥ 樠樨  㣨 -
     ணࠬ, ⠪  㤥  ਮ 65.

  ,  ᫥饥 ⭮ pp "before"

       ਬ:     #pragma initiaiize 63

   ᫥騩 ⥭ pp "after"

       ਬ:     #pragma initialize 65

  ᯮ짮 祢 ᫮ "before",  "after",   "program"  
  來 p ᥢਨ.

  , ⮡ ਮ 32 (ᯮ㥬 p 㪠 -
   ᫮ "library") ᯮ짮  ࠧࠡ⪥ ⥪  -
  ᮢ.   㤥 ࠭஢,  樠 ᪨ 
  । ⥪ ᮢ 㤥   ।  樠-
  樥 ᪨  । ணࠬ.  騩 ᥢ-
  ਩  ᯮ짮, ⮡ ⨣ ⮣.

       ਬ:     #pragma initialize library

       6.14. ᯮ⥫ ᥢਨ

       騥 ࠧ 뢠 ,  ᯥ稢 ᯮ-
  ⥫묨 ᥢﬨ.

       6.14.1.  ਡ⮢ ᨬ

       ᯮ⥫ ᥢਨ  ᯮ,  ⮡ -
   ਡ,      ꥪ⭮  .
  ࢮ砫쭮  ࠭  ।  p⮢  㬮砭.
   ᯮ⥫ ᥢ਩ ⭮    ᫥-
  饣 p:

   1)  (⨯ ६  㭪樨)

   2) । ⨯ ஥ ॠ  ⨯ 㭪樨

   3)  p⮢  㬮砭 । ࠭஬

   ᯮ⥫ ᥢ਩ 頥  㠫쭮-

                                - 117 -

   ᨬ,   ⥪饣  ਡ⮢  㬮砭 
    ꥤ    ਡ⠬,  ।塞묨  ᯮ⥫쭮
  ᥢਨ.  騥  १ ਡ  
  ।塞  ᨬ      ⮫쪮 㣨 ᯮ-
  ⥫ ᥢਥ,   頥   ⮬    ᠬ
  ᨬ.

  ਬ । ⨯ ஥ p  㭪樮쭮 ⨯:

   typedef void (*functype) ( ) ;

        ᯮ⥫  ᥢ਩  頥   ⠪
  । ⨯,     ⥪饣    ਡ⮢  
  㬮砭   ꥤ  ਡ⠬, ।塞묨  ᯮ-
  ⥫쭮 ᥢਨ. 騥  १ ਡ -
    㭪樨, 祩 ⨯ ᮮ⢥ 㪠 ।-
  .
          ᨬ 㪠뢠 㬮砭, ਡ -
  ।塞 ᯮ⥫ ᥢਥ    p-
  ⮢  㬮砭.  騥  १ ਡ ᯮ
  ᥬ ᨬ,  ᯥ樠쭮  㪠뢠 ।騬 ᯮ-
  ⥫ ᥢਥ.
       ,   ᯮ⥫ ᥢਨ  ࠡ-
   ०, 祬 稭  ꥪ⭮ . ᬮ-
   ᫥騩 ਬ.

       ,  ஬  뫪  ᨬ x

   #pragma aux y <attrs_1>;

   ,  ஬  뫪  ᨬ y

     ஬  뫪  ᨬ z

   #pragma aux default <attrs_2>;
   #pragma aux x <attrs_3>;

  ᯮ⥫ ਡ  x, y  z ᫥騬 ᯮᮡ.

       1)   x  砫 ਡ,   㬮砭 -
    ਡ⠬ ।塞묨 <attrs_2>  <attrs_3>.

       2)  y  砫 ਡ,   㬮砭  -
    ਡ⠬ ।塞묨 <attrs_1>.

                                - 118 -


       3)   z  砫 ਡ,   㬮砭 -
    ਡ⠬ ।塞묨 <attrs_2>.

       6.14.2  ᥢ (lias)

        ᨬ,   p 뫠 ᯮ⥫ ᥢ-
  ਩,  砥  ᥢ, ਡ  ᥢ ⠪
  ਭ ।塞 ᨬ.
          ⮤  㪠 ଠ樨 ᥢ.   ࢮ
  ⮤ ᨬ ਭ ⮫쪮 ਡ   ᥢ;  
  ⥫  ਡ    㪠뢠.  ன ⮤ 
  騩,  ⠪   㪠뢠  ᥢ ⠪   -
  ⥫ ᯮ⥫ ଠ.  ⮬ 砥, ᨬ ਭ
  ਡ  ᥢ ⠪    ਡ ।塞 -
  ⥫쭮 ᯮ⥫쭮 ଠ樥.
        ଠ ᯮ⥫쭮 ᥢ, ᯮ㥬-
   ⮡ । ᥢ - ᫥:

    Ŀ
     #PRAGMA AUX '('sym,alias')' [';']                  
    

  :               ᠭ:

  sym         -  ⨬ 䨪p C/C++.

  alias       -  ᥢ -  ⨬ 䨪p C/C++.

  ᬮਬ ᫥騩 ਬ.

   #pragma aux value_args parm (value);
   #pragma aux ( rtn, value_args );

  ணࠬ rtn ਭ ਡ ᥢ  push_args,  
  ।,  ࠬ  rtn ।  ⥪.

   ᬮਬ ਬ,  ஬ ᨬ - । ⨯.

   typedef void (func_type) (int);

   #pragma aux push_args parm [];
   #pragma aux (func_type, push_args);


                                - 119 -

   extern func_type rtnl;
   extern func_type rtn2;

        ᯮ⥫  ᥢ਩ ।  ᥢ-
   "push-args",   । 堭,  ᯮ-
     । p㬥⮢.   堭  । 
  ࠬ  ⥪.  ன ᯮ⥫ ᥢ਩ -
   ਡ,  ।塞  ࢮ ᥢਨ  p-
   ⨯ func_type. ᪮ rtn1  rtn2  ⨯ func_type, p-
  㬥     㭪権  ।  ⥪.

        ଠ ᯮ⥫쭮 ᥢ,   
  ᯮ짮, ⮡ । ᥢ - ᫥:

    Ŀ
     #PRAGMA AUX '('alias')'sym aux_attrs [';']              
    

  :               ᠭ:

  alias     -  ᥢ -  ⨬ 䨪p C/C++

  sym       -  ⨬ 䨪p C/C++.

  aux_attrs - ਡ,   㪠뢠  ᯮ⥫
              ᥢਥ.

  ᬮਬ ᫥騩 ਬ.

   #pragma aux MS_C "_ *"                                    \
                    parm caller []                           \
                    value struct float struct routine [ax]   \
                    modify [ax bx cx dx es];
   #pragma aux (MS_C) rtn1;
   #pragma aux (MS_C) rtn2;
   #pragma aux (MS_C) rtn3;

       ணࠬ rtn1,  rtn2  rtn3 ਭ   ᠬ ਡ
    ᥢ MS_C,   । ᮣ襭    맮
  ᯮ㥬 ࠭஬ Microsoft C. 直 ࠧ,  맮 -
    rtn1, rtn2  rtn3, 㤥 ᯮ짮 ᮣ襭  맮-
   Microsoft C.
       , ,  ᫨ p  MS_C  ,  ⮫쪮  
  ᥢ਩    .  ᫨     ᯮ짮 

                                - 120 -

  ᥢ  । ਡ     ᥢ-
    rtn1,  rtn2  rtn3,    뫨    ᥢ-
  .   室 ⠪ 㬥蠥 ꥬ  ,  ॡ㥬
  ࠭஬  ࠡ⪨ 室 䠩.

 Ŀ
  !  ᥢ MS_C  ⮫쪮 ᨬ. ᫨ MS_C
    襬 室 ⥪,   㤥 ਭ ਡ, 
  ।  ᥢਨ  MS_C.                      
 

       6.14.3. ୠ⨢   ᨬ 䨪p

        ଠ  ᯮ⥫쭮  ᥢ  -
  짮, ⮡ 뢠 ⮡ࠦ ᨬ  室 
   ꥪ⭮ ଥ.

    Ŀ
     #PRAGMA AUX sym obj_name [';']                         
    

  :             ᠭ:

  sym         -  ⨬ 䨪p C/C++

  obj_name    -  ᨬ쭠 ப, 祭   -
                

   । obj_name,  ᨬ 窨 ("*")  ᯥ樠쭮
  祭;  - 㪠⥫   ᨬ.

   ᫥饬 ਬ  "myrtn" 㤥  "myrtn_"  ꥪ-
   䠩.

   #pragma aux myrtn "*_";

   㬮砭    㭪権.

   ᫥饬 ਬ  "myvar" 㤥  "_myvar"  ꥪ-
   䠩.

   #pragma aux myvar "_*";

   㬮砭   ६ .

                                - 121 -


  ⮡ࠦ   㬮砭    ᨬ  ⠪ 
    ᫥騬 ਬ஬.

   #pragma aux default "_*_";

  㯮 ᯮ⥫  ᥢ਩  ।,  
  p    ᫥     p ᨬ ન
  ('_').
        '^' ⠪  ᯥ樠쭮 祭. 直 ࠧ, 
   p砥  obj_name,   ᨥ 孥 ॣ,
  㪠 "sym".

   ᫥饬  ਬ  "myrtn" 㤥  "MYRTN"  ꥪ-
   䠩.

   #pragma aux myrtn "^";

       6.14.4. ᠭ p樨 맮

        ଠ ᯮ⥫쭮 ᥢ    -
  짮,  ⮡ 뢠 ᯮᮡ, p 㭪  -
  .

    Ŀ
     #PRAGMA AUX gym FAR [';']                               
                                                          
     #PRAGMA AUX gym NEAR [';']                              
                                                          
     #PRAGMA AUX gym '=' in_line [';']                       
     in_line ::={const|(SEG id)|(OFFSET id)|(RELOFF id)|     
     (FLOAT fpinst)|"asm "                                   
     }                                                       
    

  :           ᠭ:

  gym       -  㭪樨.

  const     - ⨬ 楫 ⠭ C/C++.

  id        -  ⨬ 䨪p C/C++.

  fpinst    - ᫥⥫쭮 ⮢  ନ  ⨬

                                - 122 -

              p 80x87. 祢 ᫮ FLOAT  ।-
               fpinst ⠪, ⮡  뫮 p ᯥ樠-
               ன⢠   80x87.

  SEG         । ᥣ 䨪 ᨬ.

  OFFSET      । ᬥ饭 䨪 ᨬ.

  RELOFF      । ⭮⥫쭮 ᬥ饭 䨪 ᨬ-
                 p ࠢ.

  asm         -   p⨢ ᥬ.

        ᫥饬 ਬ WATCOM C/C++ 16 㤥 ஢ 쭨
  맮  㭪樨 myrtn.

   #pragma aux myrtn far;

        ,   ⬥ ᫥⥫쭮 맮,
   筮 ஢     .  㣨
  ᫮, 쭨 맮 㤥 ஢  ᫨  -
       쪮  .
        ᫥饬 ਬ,  WATCOM C/C++ 16 㤥 ஢ -
   맮  㭪樨 myrtn.

   #pragma aux myrtn near;

       ,   ⬥ ᫥⥫쭮 맮, 
  筮        .  㣨  ᫮,
    맮  㤥  ஢  ᫨   
     让  .
        ᫥饬  ਬ  DOS,  WATCOM C/C++ 16 㤥 ஢
  ᫥⥫쭮 ⮢, 㪠 ᫥ ᨬ "="  ᯮ-
  ⥫쭮 ᥢਨ 直 ࠧ,   ⠫  맮
   mode4. Mode4 뢠 ஥ 㭪樥.

   void mode4 (void);
   #pragma aux mode4 =                  \
        0xb4 0x00        /* mov AH,0 */ \
        0xb0 0x04        /* mov AL,4 */ \
        0xcd 0x10        /* int 10H  */ \
        modify [ AH AL ];

  ᫥⥫쭮   ਬ DOS ।⠢  ᥡ ᫥-

                                - 123 -

  騥 ப  ᥬ.

    mov      AH, 0   ; 롮 㭪樨 "set mode"
    mov      AL, 4   ; 㪠 ० (० 4)
    int      10H     ;  맮 BIOS

  㯮 ਬ 뢠,  ஢ p 맮-
    㭪権 BIOS  ᠭ 㭪樨 몠 ᥬ  맮 
   襩 pp C/C++.  ⨯   㭪樮쭮 ० 4
   室,   砥 ⠪,    짮 २-
  ⢮ ஫ ⨯ p㬥⮢ ᯥ稢 WATCOM C/C++ 16.
       騩 ਬ DOS ⥭ p饬 ਬ,   -
      ᥬ  筮 -
    ᥬ.

        void mode4 (void);
        #pragma aux mode4 =           \
                "mov AH, 0",          \
                "mov AL, 4",          \
                "int 10H"             \
                modify [AH AL];

  ᫨ ᫥⥫쭮 ஥  ᥬ  ᮤন  -
   80x87  饩 ⮩,    饩 ⮩
   ।⢮ "float".  ,   ॡ
  ⮫쪮, ᫨  ।  ࠭ "lpi";   㤥
  ஢.
       騩 ਬ   80X87 "祭 -
   ".

    double mysqrt (double);
    #pragma aux mysqrt parm [8087] =        \
         float 0xd9 0xfa / *fsqrt* /        \
         ;

  ᫥⥫쭮 ஥    ᥬ    ᮤঠ
  ᨬ᪨ 뫪.  ᫥饬 ਬ  맮 㭪樨 my-
  alias  直 ࠧ,  myrtn 뢠.

   extern void myalias (void);
   void myrtn (void);
   #pragma aux myrtn =                           \
       0xe8 offset myalias / *  맮 * / \
       ;

                                - 124 -


   ᫥饬 ਬ 쭨 맮  㭪樨 myalias  直
  ࠧ,  myrtn 뢠.

   extern void myalias (void);
   void myrtn (void);
   #pragma aux myrtn =                                  \
   0x9a offset myalias seg myalias / *쭨 맮* /  \

       6.14.4.1. 㧪 ᥣ⭮ p 

       pp   ஢ ⠪,   ॣ ᥣ DS
   ᮤন  ᥣ ᥣ      㬮砭  (㯯
  "DGROUP").   筮  , ᫨  ᯮ  -
    .  ।,     맢  㭪,
   ਭ.  ᥣ ॣ DS ᮤন  ᥣ-
   ᥣ   㬮砭.  뫮  祭 ஬ ᫨  
    ᥣ  㦤 ஢  ணp ⠪,  ⮡ -
   DS ᮤঠ ᥣ   㬮砭 (쪠  -
   ).

        ଠ  ᯮ⥫쭮 ᥢ 㤥 -
  ⠢ ॣ ᥣ DS 㦠 ᥣ ᮬ ᥣ
    㬮砭 । 맮 㪠 㭪樨.

    Ŀ
     #PRAGMA AUX sym FARM LOADDS [';']                 
    

  :     ᠭ:

  sym      -  㭪樨.

   ⢥  ୠ⨢,  ᫥ ଠ ᯮ⥫쭮 ᥢ-
   㤥 ⠢ ॣ ᥣ DS  㦠  ᥣ-
   ᮬ ᥣ   㬮砭    prolouge
  ᫥⥫쭮  㪠 㭪樨.

    Ŀ
     #PRAGMA AUX sym LOADDS [';']                         
    

  :           ᠭ:


                                - 125 -

  sym        -  㭪樨.

       6.14.4.2. । ᯮpp㥬 ᨬ  ᪨
                 ⥪ 

       ᯮ㥬 ᨬ  ᪮ ⥪  
  ᨬ,    뢠  p  ணp,  
      ⮩  ᪮ ⥪ .  筮,
  ᨬ  ᪨ ⥪   ᯮ,  -
   p⨢ "EXPORT" 騪 WATCOM.  ୠ⨢ -
  ⮤  ᯮ짮 ᫥  ᯮ⥫쭮 ᥢ-
  .

    Ŀ
     #PRAGMA AUX sym EXPORT [';']                           
    

  :          ᠭ:

  sym           -  㭪樨.

       6.14.4.3. । 㭪権 ୮ 맮 Windows

        ஢ p pp Microsoft Windows, -
   ᯮ짮  "zW"  p樨 ᯥ樠 ᫥⥫-
  ⥩  prologue/epilogue.    ⮣,  㭪樨 ୮ 맮
  ॡ  ᫥⥫쭮⥩ prologue/epilogue, 祬 ᣥ-
  ஢,    㪠   pp "zW".   ଠ
  ᯮ⥫쭮 ᥢ 맮 p ᫥⥫-
    prologue/epilogue    맮  㭪樨 ୮
  맮  樨  ᯮ짮 樨 "zW".

    Ŀ
     #PRAGMA AUX sym EXPORT [';']                     
    

  :         ᠭ:

  sym       -  㭪樨 ୮ 맮.

       p⨢  ᯮ짮   "zw"  ࠭  
  樨  ᫥⥫쭮  prologue/epilogue  맮.
  ,   㭪樨,  ᮤঠ騥  㫥,  ᪮㥬  -
  짮  樨  "zw",      ᫥⥫쭮 prolo-

                                - 126 -

  gue/epilogue  맮,   ᫨  㭪樨    㭪樨
  ୮ 맮.

       6.14.4.4. p  ⨢樨

       筮, 㭪 ᮤন  ⨢樨 (stack frame),  ᫨
  ࠬ । p ⥪  ᪠ 쭠 ६
  p饭  ⥪.    ⨢樨  㤥 ஢-
  ,  ᫨ 㯮 ᫮  㤮⢮७.   ଠ
  ᯮ⥫쭮  ᥢ 㤥 뢠 p 
  ⨢樨 p  ⥫⢠.

     Ŀ
      #PRAGMA AUX sym FRAME [';']                       
     

  :      ᠭ:

  sym    -  㭪樨.

       6.14.5. ᠭ ଠ樨  p㬥

       ᯮ ᯮ⥫ ᥢਨ,    뢠
  ᮣ襭   맮,  ஥ WATCOM C/C++ 16  ᯮ짮
   맮 㭪権.   ᮡ   p樨 䥩
   㭪,  ஢ 㣨 ࠭ࠬ  㭪-
  ﬨ, ᠭ묨  㣨 몠 ணࠬ஢.
        ଠ ᯮ⥫쭮 ᥢ,  -
   p p㬥⮢ ᫥.

    Ŀ
     #PRAGMA AUX sym PARM {pop_info | REVERSE | {reg_set} } [';'] 
     pop_info ::=CALLER | ROUTINE                                 
    

  :          ᠭ:

  sym         -  㭪樨.

  reg_set 뢠  ஬ pp.   ॣ஢ ।
            p,   ᯮ짮  p  -
            ࠬ.   ॣ஢  ᯨ᮪ p஢, p-
             ஡  祭   ᪮.


                                - 127 -

       6.14.5.1. p p㬥⮢  p

        ଠ ᯮ⥫쭮 ᥢ    -
  짮,  ⮡ । ॣ,    ᯮ짮-
    । ࠬ஢  㪠 㭪樨.

    Ŀ
     #PRAGMA AUX sym PARM {reg_set} [';']                     
    

  :          ᠭ:

  sym           -  㭪樨.

  reg_set 뢠 ஬ ॣ஢.   ॣ஢  ।
            p,    ᯮ짮  p p-
            㬥.   ॣ஢  ᯨ᮪ ॣ஢, p-
             ஡  祭   ᪮.

        p஢ ⠭ ਮ  । -
  ஢  祭 ࠡ⪨ ᯨ᪠ p㬥⮢.  p஢ -
  ࠡ뢠  ᫥ p.  ,   ।  ॣ஢,
  ॣ 롨   浪.   ⮫쪮  p ॣ-
  ஢ ࠡ⠭,  騥 p㬥   ⥪.

        ,  ᨬ  㪠 ஢ ॣ-
  ஢,  ⮫쪮 । 樨 ॣ஢  롨 
  p㬥⮢ 㠫쭮 ⨯.

       1) p㬥  8 ⠬ (p㬥 ⨯ double)  p-
   ⮫쪮  ᫥饩 樨 ॣ஢: AX: BX: CX: DX. -
    ,       ⭮  ࠬ  8 ⠬.
  ਬ, ᫨ ᫥騩  ॣ஢  㪠  ணࠬ-
   饩 p㬥 ⨯ double,  [AX BX SI DI]  p㬥 㤥
    ⥪,  ⠪  ⨬  ॣ஢  p-
  㬥  8 ⠬  ᮤন  㪠  ॣ஢.

       2)   (far)  㪠⥫   । ⮫쪮  
   ᫥  ॣ஢:  DX:AX,  CX:BX,  CX:AX,  CX:SI,  DX:BX,
  DI:AX,  CX:DI,DX:SI,  DI:BX,  SI:AX,  CX:DX,  DX:DI,  DI:SI, SI:BX,
  BX:AX,  DS:CX,  DS:DX,  DS:DI,  DS:SI,  DS:BX, DS:AX, ES:CX, ES:DX,
  ES:DI, ES:SI, ES:BX  ES:AX. ਬ, ᫨ far 㪠⥫ ।
   ᫥騬 ஬ ॣ஢ [ES BP]   p㬥  㤥  -
    ⥪,  ᪮ 㪠 ⨬  pp

                                - 128 -

   far 㪠⥫.

       3) ⢥ ॣ,     4--
  ⮢  p㬥⮢  (    p㬥⮢ ⨯ long int):  DX:AX,
  CX:BX,  CX:AX,  CX:SI,  DX:BX,  DI:AX,  CX:DI, DX:SI, DI:BX, SI:AX,
  CX:DX,  DX:DI, DI:SI, SI:BX  BX:AX. Hpp, ᫨ ᫥騩 p
  pp  㪠  pp   p㬥⮬ ⨯  long
  int,  [ES DI],   p㬥 㤥   ⥪, ᪮ 뫠
  㪠 ⨬  p஢  ࠬ  4  -
  ⠬.

       4) ⢥ ॣ,     2--
   p㬥⠬ (    p㬥⠬ ⨯ int ):  AX,  BX, CX, DX,
  SI   DI.  ਬ,  ᫨ ᫥騩  ॣ஢  㪠 
  ணࠬ   p㬥⮬ ⨯ int,  [BP],     p㬥
  㤥   ⥪, ᪮  㪠 ⨬ pp.

       5) p㬥, 祩 ࠧ - 1  (p㬥 ⨯ char) p-
  p  2 ⠬  ⥬  ॣ    뫨 p-
  㬥  2 ⠬.

       6) p㬥,     ⭮    㯮
  ⥣਩    ।   ॣ    ।  p
  ⥪. ᫨ p㬥 稫   ⥪, ᥬ 騬 p-
  㬥⠬     ⥪  ᫨      -
  ஢  ௠.

       ਬ砭:

    1)  ॣ஢  㬮砭 - [AX BX CX DX].

    2)   ॣ஢ AH  AL ⭮ 㪠 ॣ AX.
  । ॣ஢ DH  DL ⭮ । ॣ DX.
  । ॣ஢ CH  CL ⭮ । ॣ CX.
  । pp BH  BL ⭮ । ॣ BX.

    3) ᫨          쪮  
  ,  뫠 p  pp "zdp",  -
   pp,  ᮤঠ ॣ DS ⠭ 饭.  -
  쪮 (small)   ॣ DS  ⠢ -
  ,  ᪮  㪠뢠  ᥣ  ணࠬ. ,
    p "zdf"  ᯮ짮,  ⮡ 㪠뢠,
   ॣ DS  ᮤন  ᥣ    ᥣ  
  ணࠬ.   ⮬ 砥 樨 ॣ஢,  ᮤঠ騥 ॣ

                                - 129 -

  DS ⨬.

  ᬮ ᫥騩 ਬ.

       #pragma aux myrtn parm [ax bx cx dx] [bp si];

  ।,  myrtn - ணࠬ  3 p㬥⠬,    
  p ⨯ long int.

   1)  ࠬ 㤥 ।   DX:AX.

   2) ன ࠬ 㤥 ।   CX:BX.

   3) ⨩ ࠬ 㤥 ।  ⥪ ᪮  BP:SI  
       ⨬  ॣ஢  p㬥⮢ ⨯ long int.

        ॣ஢ ⨬,  ⮡ p p pp ᯮ-
   ०,  祬 ॣ  ࢮ  ॣ஢. ᬮ-
   ᫥騩 ਬ.

   #pragma aux myrtn parm [ax bx cx dx] [si di];

       ।,  myrtn - ணࠬ  3 ࠬࠬ, 
  ⨯ int  p  ⨩ ⨯ long int.

   1)   ࠬ 㤥 ।  ॣ AX.
   2) ன ࠬ 㤥 ।   ॣ஢ CX:BX.
   3) ⨩ ࠬ 㤥 ।  p ॣ஢ DI:SI.

       ,   ॣ   롨   ॣ-
  ஢ ᫥ ⮣  ॣ 롨  ᫥  ஢  -
  ஢,    ᫨    ॣ  ࢮ砫쭮  -
  ஢ 뫨 ௠.
       p蠥 ⮩  ॣ஢.  ᫥騥  -
  ஢ ᫥ ⮣  ॣ஢ ;  騥
  p㬥   ⥪.

   ਬ砭:

       1) ᫨     ⮩  ॣ஢ ।,
   p㬥 ।  ⥪.

       2) ᫨   ॣ஢  ।,  ᯮ
  p ॣ஢  㬮砭 [AX BX CX DX].

                                - 130 -


       6.14.5.2. 饭 p㬥⮢  ᯥ᪨ p

          p㬥  ᯥ᪨ ॣ.  ।-
  ,     㭪, ᪠ "mycopy", p  -
  .  p㬥 - 筨, ன p㬥 - p,  -
  ⨩ p㬥 -   ஢. ᫨  ॡ㥬, ⮡ 
  p㬥 ।  pp SI, ன p㬥  ॣ DI 
  ⨩ p㬥  ॣ CX, ᫥騩 ᯮ⥫ ᥢ-
  ਩  ᯮ짮.

   void mycopy (char near *, char *, int );
   #pragma aux mycopy parm [DI] [SI] [CX];

  ,     ࠧ p㬥⮢,  ⮡  ࠭-
  ,  p㬥  ।  ᮮ⢥饬 ॣ.

       6.14.5.3. p p㬥⮢  p 㭪

        㭪権, 祩   WATCOM C/C++ 16  祩 ᯨ᮪
  p㬥⮢ 뢠 ᯮ⥫  ᥢਥ,  WATCOM
  C/C++ 16  p ᢮  롮 ⮣  p㬥 -
    ॣࠬ.     ஥ 㭪権 ।
  ணࠬ⮬,  ᠭ ᯨ᪠ p㬥⮢   祭 .
  ⮡  ,  WATCOM C/C++ 16 ਭ,    -
  ஢  ᮮ⢥ p㬥.  ᬮ ᫥ ஥
  㭪 뢠 scroIIactivepgup.

   void scrollactivepqup (char, char, char, char, char, char);
   #pragma aux scrollactivepgup =          \
         "mov AH, 6"                       \
         "int 10h"                         \
         parm [ch] [cl] [dh] [dl] [all [bh]\
         modify [ah];

  ᫥⥫쭮  㯮⮬ ਬ DOS ।⠢ ᫥-
  騥 ப  ᥬ.

        mov AH, 6; 롮p 㭪樨 "scroll active page up"
        int 10h;    맮 BIOS

  맮 BIOS  "scroll active page up" ॡ ᫥ p㬥-
  ⮢.


                                - 131 -

   1) ப  ⮫ 孥  㣫  ப⪨ p
       ॣ CH  CL ᮮ⢥⢥.

   2) ப  ⮫  ࠢ 㣫  ப⪨ ।
       ॣ DH  DL ᮮ⢥⢥.

   3) ᫮ ப,      ,  ।   -
       AL.

   4) ਡ,  p 㤥 ᯮ짮   ப, -
      ।  ॣ BH.

        p p㬥⮢, WATCOM C/C++ 16 㤥 ८ࠧ뢠
  p㬥 ⠪,  ⮡  頫  ॣ (pp), 㪠
    ॣ஢  ⮣ p㬥.   㯮⮬  ਬ,
  ᫨   p㬥 scrolIactivepgup 뢠  ࠬ஬,  祩
  ⨯  int,  㤥 ᭠砫 ८ࠧ뢠  char । -
  祭  ॣ CH.   p,  ᫨ ஥ 㭪
  ॡ ᢮ p㬥   ॣ஢ DX:AX  p㬥   ⨯
  short int, p㬥 㤥 ८ࠧ뢠  lng int । -
  祭  ॣ஢  DX:AX.
        饬  WATCOM  /C++ 16 砥 ᫥騥 ⨯  p
  ॣ஢.

   1)  ॣ஢,  饬  筮 ॣ  8 ⠬
     (1 ), 砥 ⨯ unsigned char.

   2)  ॣ஢, 饬  筮 ॣ  16 ⠬
      (2 ), 砥 ⨯ unsigned short int.

   3)  ॣ஢,  饬   ॣ஢  16 ⠬  (4
      ), 砥 ⨯ unsigned long int.

   4)   ॣ஢,  饬   ॣ஢  16 ⠬
       (8 ⮢),  ⨯ double.

       6.14.5.4. ᪫祭 p㬥⮢  ⥪

        ଠ ᯮ⥫쭮 ᥢ ।,
   㤠  ⥪ 㬥,  뫨 ।  ⥪.

 Ŀ
  #PRAGMA AUX sym PARM (   ) [';']  
 

                                - 132 -


  :      ᠭ:

  sym        㭪樨.

  "뢠騩 "  ।,   뢠騩  㤥
  ⠫ p㬥 (ࠬ)  ⥪;  "ணࠬ" ।-
  ,   뢠 ணࠬ 㤥 ⠫ ࠬ 
  ⥪.  ᫨ "뢠騩 "   "ணࠬ"  ᪠,
  p "ணࠬ",  ᫨ 㬮砭  뫮   -
  饬 ᯮ⥫쭮 ᥢਨ,   ⠪ 砥 p-
    㬮砭.

       6.14.5.5. p p㬥⮢  ⭮ 浪

        ଠ  ᯮ⥫쭮 ᥢ 㪠뢠,
   p㬥 ।  ⭮ 浪.

    Ŀ
     #PRAGMA AUX sym  PARM REVERSE [';']               
    

  :       ᠭ:

  sym         㭪樨.

       筮, p㬥 ࠡ뢠 ᫥ p.  ࠩ 
  p㬥  ।   ॣ,   p p  ⥪ (᫨
  ॣ, ᯮ㥬  宦 p㬥⮢, 뫨 ௠).
  p㬥,  ।  ⥪,  ࠢ .
        p冷 p㬥⮢ 饭,    p  p㬥
  p  ॣ,  ࠩ  p㬥 ।  ⥪
  (᫨ ॣ,  ᯮ㥬  宦 p㬥⮢,  뫨 -
  ௠). p㬥,  ।  ⥪,  ࠢ -
  .

       ஢ p㬥⮢    㭪権,  -
   ॡ,  ⮡ ࠬ ।  ⥪  浪, -
   ᯮ㥬  㬮砭.
       騩 ⥫  ᥢ਩  뢠  ⠪
  㭪.

  Ŀ
   #pragma aux rtn parm reverse [];                
  

                                - 133 -
       6.14.6. ᠭ ଠ樨  㭪樨.

       ᯮ ⥫ ᥢਨ,     -
   , p묨 㭪樨   祭.  ᮡ-
     p樨 䥩  㭪,  -
   㣨 ࠭ࠬ  㭪ﬨ,  뢠묨  㣨
  몠 ணࠬ஢.
        ଠ ⥫쭮 ᥢ  뢠-
   ᯮᮡ, p 㭪 頥  祭 ᫥:

   Ŀ
    #PRAGMA AUX gym VALUE {N08087|reg_set|struct_info}[';']   
    struct_info::=STRUCT                                      
              {FLOAT|STRUCT|(ROUTINE|CALLER)|reg_set}         
   

   :             ᠭ:

   sym             -  㭪樨.

   reg_set           뢠 ஬ ॣ஢.   ॣ஢
                     । p,      ᯮ짮-
                       p p㬥.  ॣ஢ -
                     ᯨ᮪ ॣ஢, p ⤥ ஡ 
                        ᪮.

       6.14.6.1. p 祭 㭪権  p

        ଠ ⥫쭮  ᥢ    -
  짮,  ⮡  㪠뢠 ॣ,    ᯮ짮-
     祭 㭪樨.

    Ŀ
     #PRAGMA AUX sym VALUE reg_set [';']                    
    

  :                    ᠭ:

  sym                      㭪樨.

  reg_set                  ॣ஢.


                                - 134 -

        ᨬ  ⨯ p頥 祭,  ⮫쪮  ।-
   ॣ ᪠   reg_set.

       1)  1-⮢ 祭 , ⮫쪮 ᫥騥 ॣ
  :  AL, AH, DL, DH, BL, BH, CL  CH. ᫨  
  p஢  ।, ॣ AL 㤥 ᯮ짮.

       2)  2-⮢ 祭 , ⮫쪮 ᫥騥 ॣ
  :  AX, DX, BX, CX, SI  DI. ᫨   ॣ-
  ஢  㪠뢠, ॣ AX 㤥 ᯮ짮.

       3)   4-⮢  祭   ( ᪫祭 
  FAR 㪠⥫)  ⮫쪮  c騥  ॣ஢  p  :
  DX:AX,  CX:BX,  CX:AX,  CX:SI,  DX:BX,  DI:AX, CX:DI, DX:SI, DI:BX,
  SI:AX,  CX:DX, DX:DI, DI:SI, SI:BX  BX:AX. ᫨ pp p
   㪠,  㤥 ᯮ짮 p DX:AX.

       4)  㭪権    FAR 㪠⥫ ᫥-
  騥 ॣ஢ p  :  DX:AX,  CX:BX,  CX:AX,  CX:SI,
  DX:BX,  DI:AX,  CX:DI,  DX:SI,  DI:BX,  SI:AX, CX:DX, DX:DI, DI:SI,
  SI:BX,  BX:AX,  DS:CX,  DS:DX,  DS:DI,  DS:SI, DS:BX, DS:AX, ES:CX,
  ES:DX,  ES:DI, ES:SI, ES:BX  ES:AX. ᫨   ॣ஢
   㪠,  ᯮ ॣ DX:AX.

       5)  祭   8 ⠬  (㭪樨  ⨯  double),
  ⮫쪮  c騥  樨  ॣ஢ ᪠:  AX:BX:CX:DX.
    p ᯮ, ᫨   ॣ஢  㪠.

       砭:

       1) ⮩ p pp  pp蠥.

       2) ᫨  p    ,  ᯮ  -
    small   ,    㯮 pp
  権 ॣ, ᮤঠ ॣ DS, ⠭ 饭.
    쪨 ,  ॣ DS  ⠢ -
  , ⠪   㪠뢠  ᥣ  ணࠬ.

       6.14.6.2.  

       筮,     ॣ .  , -
  騩    ।  ࠭⢮   ⥪  祭
    ⠭ ॣ SI ⠪, ⮡  㪠뢠  .
  뢠  ணࠬ ⥬ 頥 祭   -

                                - 135 -

   㪠뢠 SI.
        ଠ  ᯮ⥫쭮  ᥢ  -
  짮,  ⮡ । ॣ,     ᯮ짮-
  , ⮡ 㪠뢠  祭 .

    Ŀ
      #PRAGMA AUX sym VALUE STRUCT (CALLER|ROUTINE) reg_set [';']
    

  :            ᠭ:

  sym              㭪樨.

  reg_set          pp.

       CALLER (뢠  pp)  ।,    뢠
  pp 㤥 ।    祭  .  
    ।   祭  頥  ॣ,
  㪠    ॣ஢  뢠騬  ஬  ०,  祬
  㭪 뢠. ᫨ ⮩  ॣ஢ 㪠,  -
  ,  ।  祭 ,  㤥   ⥪
  p⢥  ।  맮   㤥   ॣ AX
  뢠 ணࠬ,  ਭ,        祭
   ।  ᥣ ⥪ (ᥣ ⥪ ᮤন
   ᥣ⭮ ॣ SS).
       ROUTINE (ணࠬ)  ।,   뢠 ண-
  ࠬ 㤥 ࠧ   祭 .  ᫥ 
   뢠饩 pp,  ॣ, 㪠   ॣ஢, -
   ᮤঠ  祭 .  ⮩   ॣ஢  
  pp蠥.
       쪮 ᫥騥 ॣ pp     ॣ-
  ஢:  AX,  DX,  BX, CX, SI  DI.  ,   让
  BIG  ,   ॣ   室騬
   ᥣ ।塞 祭  ᥣ⭮ ॣ SS.
       ᫨ ࠧ p頥  1, 2  4 ,  㤥
    ॣ.   㤥 롨  -
    ॣ஢ ᫥騬 ᯮᮡ.

       1)   1 ⮬ 㤥      ᫥-
   ॣ஢:  AL,  AH,  DL, DH, BL, BH, CL  CH. ᫨  -
  ஢  ।, ॣ AL 㤥 ᯮ짮.

       2)   2 ⠬ 㤥     ᫥-
   ॣ஢:  AX,  DX, BX, CX, SI  DI. ᫨  ॣ஢ 

                                - 136 -

  ।, ॣ AX 㤥 ᯮ짮.

      3)   4 ⠬ 㤥      ᫥-
    ॣ஢: DX:AX, CX:BX, CX:AX, CX:Sl, DX:BX, DI:AX, CX:DI,
  DX:SI, DI:BX, SI:AX, CX:DX, DX:DI, DI:SI, SI:BX  BX:AX. ᫨ -
    ॣ஢  㪠,  ॣ஢ DX:AX 㤥 ᯮ-
  .

        ଠ ᯮ⥫쭮 ᥢ    -
  짮, ⮡ 㪠뢠,  , 祩 ࠧ 1, 2  4
  ,      ॣ. , 뢠騩 -
   㤥 । ࠭⢮  ⥪  祭 -
     p pp SI  .

    Ŀ
     #PRAGMA AUX sym VALUE STRUCT STRUCT [';']                
    

  :              ᠭ:

  sym                㭪樨.

       6.14.6.3.    饩 ⮩

        ଠ ᯮ⥫쭮 ᥢ    -
  짮,  ⮡  㪠뢠 祭  㭪権,  祩 ⨯
  float  double  p     ॣ. -
  ,  뢠騩   㤥 । ࠭⢮  ⥪
   祭   p ॣ SI  .

  Ŀ
   #PRAGMA AUX sym VALUE STRUCT FLOAT [';']          
  

  :               ᠭ:

  sym                 㭪樨.

       㣨 ᫮,  祭  饩 ⮩   -
   ⥬  ᯮᮡ   pp.
        ଠ ᯮ⥫쭮 ᥢ    -
  짮,  ⮡ 㪠뢠,   祭  㭪権, 祩
  ⨯ float  double,      ॣ 80x87 
  ஢   樥 "fpi87  "fpi".   ⮣,  祭

                                - 137 -

  㤥   ॣ 80x86.  頥 祭  㭪-
  権, 祩 ⨯ float,    ॣ DX:AX. p-
   祭 㭪権, 祩 ⨯ double,    ॣ-
   AX:BX:CX:DX.

  Ŀ
    #PRAGMA AUX sym VALUE N08087 [';']                
  

  :         ᠭ:

  sym           㭪樨.

        ଠ  ᯮ⥫쭮  ᥢ  -
  짮  㪠,   祭  㭪樨,  祩 ⨯
  float  double,     ST(0)  ஢ 
  ﬨ "fpi87  "fpi".

  Ŀ
    #PRAGMA AUX sym VALUE [8087][';']                      
  

  :         ᠭ :

  sym           㭪樨.

       6.14.7. 㭪樨,   p騥  室 pp-
               

        ଠ  ᯮ⥫쭮  ᥢ  -
  짮,  ⮡ 뢠 㭪,    頥  
  뢠饩 pp.

  Ŀ
    #PRAGMA AUX sym  ABORTS [';']               
  

  :          ᠭ:

  sym            㭪樨.

   ᬮ ᫥騩 ਬ.

   #pragma aux exitrtn aborts;

                                - 138 -

   extern void exitrtn(void);

   void rtn()
   {
      exitrtn();
   }

       室 rtn  ।    騩 㭪樥,   
  頥. ਬ,   뢠 exit, ⮡ 
   ⥬.   ⮬ 砥,  WATCOM C/C++16   "jmp"
    "call", ⮡ 뢠 室  rtn.

       6.14.8.  㭪樨 ᯮ 

        ଠ ᯮ⥫쭮 ᥢ    -
  짮   ᠭ 㭪樨,      (
  ,   ᪨ ६),  ᯮ -
    ᢥ 뢠饩 pp.

  Ŀ
    #PRAGMA AUX sym MODIFY NOMEMORY[';']            
  

  :           ᠭ:

  sym             㭪樨.

  ᬮ ᫥騩 ਬ.

   #pragma off (check_stack);

   extern void myrtn(void);
   int1= {1033};

   extern Rtn() {
        while (i < 10000) {
            i += 383;
        }
   myrtn();
   i += 13143;
   };

       ⮡ ஢ 㯮 ணࠬ, "rtn.c",  -
   ᫥ .

                                - 139 -


   $ wcc rtn -oai -d1

        ⨢  楫,    ᪠  ⨬ 横 
  ᯨ᪠ ⨬権 ,    ॡ㥬  ࠭.  
  ࠭  "di"  㪠뢠 ⮡ ꥪ 䠩,  ந
  WATCOM C/C++16, ᮤঠ p  p 室 ப.
           ஢  䠩  ᮤঠ騩  ᥬp
  rtn.o,  ᫥ .

   $ wdisasm rtn -l -s -r

        "s" । ⮡  䠩  ᯥ⪨,  ந
  ᥬ஬ WATCOM,  ᮤঠ 室 ப  rtn.c.  -
  ⪨ rtn.lst 룫廊 ᫥騬 ࠧ.

   odule: rtn.c
   Group:  'DGROUP' CONST, _DATA

   Segment: '_TEXT' BYTE 0026 bytes
   #pragma off (check-stack);

   extern void MyRtn (void);
   int i= (1033);

   extern Rtn()
     {
   0000 52             Rtn             push DX
   0001 8b16 00 00                     mov  DX, _i

        while(i < 10000) {
   0005 81 fa 10 27    L1              cmp DX 2710H
   0009 7d 06                          jge L2
         i += 383;
      }
   000b 81 c2 7f 01000f                add DX,017fH
   000f eb f4                          jmp L1

      MyRtn();
   0011 89 16 00 00    L2              mov _i,DX
   0015 E8 00 00                       call MyRtn_
   00l8 8b 16 00 00                    mov  DX, _i

      i +=13143

                                - 140 -

   001c 81 c2 57 33                    add  DX, 3357H
   0020 89 16 00 00                    mov  _i, DX

    };
   0024 5a                             pop  DX
   0025 C3                             ret

  No disassembly errors
--------------------------------------------------------------
  Segment:'_DATA' WORD 0002 bytes
   0000 09 04                     _i         - ..
   No disassembly errors
--------------------------------------------------------------

         ᫥騩 ᯮ⥫ ᥢਨ  
  室 䠩.

   #pragma aux myrtn modify nomemory;

       ᫨   㥬 室 䠩  㯮 ᥢ-
  ਥ  ᥬp㥬 ꥪ 䠩,  ᯮ ᥬp
  WATCOM,  稬 ᫥騩 䠩 ᯥ⪨.

   dule: rtn.c
   Group: 'DGROUP' CONST, _DATA

   Segment: 'TEXT' BYTE 0022 bytes
   #pragma ff (check-stack);

   extern void MyRtn(void);
   #pragma aux MyRtn modify nomemory;

   int i= {1033};
   extern Rtn()
     {
   0000 52                 Rtn            push  Dx
   0001 8b 16 00 00                       mov   Dx, _i

      While(i < 10000) {
   0005 81 fa 10 27        L1             cmp   DX,2710H
   0009 7d 06                             jge   L2

         i += 383
      }

                                - 141 -

   000b 81 c2 7f 01                       add   DX,017fH
   000f eb f4                             jmp   L1

      MyRtn();
   0011 89 16 00 00        L2              mov  _i,Dx
   0015 E8 00 00                           call MyRtn_

      i += 13143;
   0018 81 c2 57 33                        add  DX,3357H
   001c 89 16 00 00                        mov  _i,DX

    };
   0020 5a                                 pop   DX
   0021 c3                                 ret

   No disassembly errors

---------------------------------------------------------------------
   Segment: 'DATA' WORD 0002 bytes
   0000 09 04                   _i               - ..

   No disassembly errors

---------------------------------------------------------------------

        ,  祭 i 室  ॣ DX -
   襭 横 "while".  ᫥ 맮  myrtn,  祭 i  
  㦠    ॣ, ⮡ 믮 ᫥ -
  .  ᯮ⥫ ᥢ਩ ᮮ頥  ࠭,  
  myrtn    ( ,   ᪨ -
  ), p ᯮ אַ  ᢥ Rtn  ᫥⥫-
  , ॣ DX ᮤন ࠢ쭮 祭 i.

       ।騩 ᯮ⥫  ᥢ਩   
  ணࠬ,   .  ᬮਬ 砩,
   ணࠬ 뫠  .  ଠ ᯮ⥫-
   ᥢ  ᯮ짮,  ⮡ 뢠 㭪-
  ,     뫠     (.e.   
   ᪨ ६),   ᯮ אַ    ᢥ
  뢠饩 pp.

  Ŀ
    #PRAGMA AUX sym PARM NOMEMORY MODIFY NOMEMORY [';']    
  

                                - 142 -


  :        ᠭ:

  sym          㭪樨 .

     ਬ砭:

       1)   㪠뢠  "parm nomemory" ⠪  "modify nome-
  mory".

    ᯮ⥫ ᥢ਩   㯮⮬
  ਬ ᫥騬 ᯮ⥫ ᥢਥ:

     #pragma aux myrtn parm nomemory modify nomemory;

       ᫨   ⥯   室 䠩  ᥬp
  ꥪ 䠩, ᯮ wdisasm,   १  ᫥-
  騩 䠩 ᯥ⪨:

   Module: rtn.c
   Group: 'DGROUP' CONST,_DATA

   Segment: '_TEXT' BYTE 001e bytes
   #pragma off (check_stack);

   extern void MyRtn(void);
   #praqma aux MyRtn parm nomemory modify nomemory;

   int i= { 1033 };

   extern Rtn()
   {
   0000 52                  Rtn_           push   DX
   0001 8b 16 00 00                        mov    DX,_i

      while (i < 10000) {
   0005 81 fa 10 27           L1           cmp     DX,2710H
   0009 7d 06                              jge     L2

          i  += 383;
      }
   000b 81 c2 7f 01                        add      DX,017fH
   000f eb f4                              jmp      L1

                                - 143 -

      MyRtn();
   0011 E8 00 00    L2        call      MyRtn_

      i += 13143;
   0014 81 c2 57 33           add       DX,3357H
   0018 89 16 00 00           mov       _i,DX

    };
   001c 5a                    pop       DX
   001d c3                    ret

   No disassembly errors
  ------------------------------------------------------------

   Segment: '_DATA' WORD 0002 bytes
   0000 09 04                    _i
   No disassembly errors
  ------------------------------------------------------------

        ,   ᫥ 襭 横 "while",   
   ஢ i  祭    ॣ  DX  ।  맮
  myrtn.  ᯮ⥫ ᥢ਩ ᮮ頥 ࠭, 
  myrtn  뫠     (       
  ᪨ ६),   ᯮ אַ  ᢥ myrtn
  ⠪,  ஢ i  室 । 맮 myrtn.

       6.14.9.  p஢, 塞 㭪樥

        ଠ ᯮ⥫쭮 ᥢ    -
  짮,  ⮡ 뢠 ॣ,   㭪 㤥 -
  짮  ࠭.

  Ŀ
   #PRAGMA AUX sym MODIFY [EXACT] reg_set [';']       
  

  :          ᠭ:

  sym            㭪樨.

  reg_set        ॣ஢.

       ।  ॣ஢ ᮮ頥 WATCOM C/C++16,   p-
  ,  ਭ騥  ⮬  ॣ஢,  㭪-

                                - 144 -

  .   祭  ॣ । 맮 㭪樨 ⫨砥 
  祭 ᫥ 믮 㭪樨.
       ,  ᯮ,  ⮡  ।  p㬥,
   p묨 , ᫥⥫쭮,   ࠭-
    ⠭ 뢠 㭪樥.  砥 室,
  뢠 pp  ᮤঠ ,  ⮡ ࠭  -
  ⠭ ᮤন ॣ஢, ᯮ㥬 ⮡ । p-
  㬥.   ,  ࠭  ⠭ ᮤ-
    ॣ஢      室,  ᫨  뢠
  㭪   .  ଠ ᯮ⥫쭮 ᥢ-
    ᯮ짮,  ⮡ 뢠 筮   ॣ,
     뢠 㭪樥.

  Ŀ
   #PRAGMA AUX sym MODIFY EXACT reg_set[';']              
  

  :                ᠭ:

  sym                  㭪樨.

  reg_set              ॣ஢.

       㯮 ଠ  ᯮ⥫쭮 ᥢ ᮮ-
  頥 WATCOM C/C++16  ,  ॣ, ᯮ㥬  -
  ।  p㬥⮢,     뢠 㭪樥.  
  ⮣,  ⮫쪮 ॣ, ।塞   ॣ஢,  -
  .  㤥 । p ,   -
  室 ࠭  ⠭ ᮤন ॣ஢, ᯮ-
  㥬 ⮡ । p㬥.

       6.14.10. ਬ

        㯮   ࠭ ࠧ,  ᫥騩 ᥢ-
  ਩ । ᮣ襭   맮    㭪権  㥬
  Microsoft C.

     #pragma aux MS_C "_*"                                    \
                       parm caller []]                        \
                       value struct float struct routine [ax] \
                       modify [ax bx cx dx es];

        p 㤨  ᥢ਩.


                                - 145 -

  "_*"              ।,    㭪権  ६
                    稭  ᨬ ન (_) p ࠭-
                    樨  室   ꥪ .

  Parm caller []    ।,   p㬥  ।
                     ⥪  (⮩    ॣ஢ ।) 
                    뢠 pp 㤥 㤠  p㬥  
                    ⥪.

  value struct      ⬥砥 ࠧ 뢠騩   뢠 -
                    ணࠬ p頥 ଠ  .

  float             ।,  p㬥   饩 ⮩
                     ⥬  ᯮᮡ   p.

  struct            ।,   1,  2    4-⮢ 
                      p  p.

  routine           ।,  뢠 ணࠬ ।-
                       p頥   p-
                     p  ॣ஬, 㪠뢠騬   .

  [x]              ।,  ॣ AX ᯮ,  ⮡
                    㪠뢠  頥 祭 .

  modify [ax bx cx dx es]
                    뢠,  ॣ AX,  BX,  CX,  DX  ES 
                    ࠭ 뢠 ணࠬ.

        ,    ᯮ  ⮤   㬮砭 
   祭 楫 ᫠;  1-⮢ ᨬ   
  ॣ AL, 楫 ᫠  2 ⠬   ॣ AX , 
  楫 ᫠  4 ⠬   pp  DX:AX.

       6.14.11. ᯮ⥫ ᥢਨ  80x87

        ࠧ    ⥬ ᯥ⠬,  ⭮騬  ᯮ-
  ⥫  ᥢ,    ᯥ᪨ 
  80x87.  㦤  ⮩  ਭ,    権 "fpi"
   "fpi87" ᯮ p 樨 㭪権.  騥 
  p ਬ  権.

   1) p p㬥⮢  饩 ⮩  㭪,
   2)   祭    饩  ⮩  㭪権 

                                - 146 -

   3)  pp  饩 ⮩ 80x87 pp蠥  
      뢠 ணࠬ.

       6.14.11.1 ᯮ짮 80x87  । p㬥⮢

        㬮砭, p㬥  饩 ⮩ ।  -
   80x87.   80x86   ᯮ, ⮡ ।
  p㬥  饩 ⮩,  㭪   -
   "fpi87  "fpi".  ,   ᯮ짮, ⮡ -
   p㬥,  祩 ⨯   饩 ⮩,  pp, p-
  ⮢ ⨯ "int".

        ଠ ᯮ⥫쭮 ᥢ    -
  짮  ᠭ ॣ஢,    ᯮ짮
   । p㬥⮢  㭪.

  Ŀ
   #PRAGMA AUX sym PARM {reg_set} [';']              
  

  :         ᠭ:

  sym           㭪樨.

  reg_set
              ॣ஢.     ॣ஢      ᮤঠ
             p 8086 / p "8087".

       ਬ砭 :

       1) ᫨ ⮩  ॣ஢ ।,      p㬥,
   p㬥  饩 ⮩,  ।  ⥪ 80x86.

        p "8087"    ॣ஢,   
  砥,   p㬥  饩 ⮩   ।  
  ॣ  饩 ⮩ 8087,  ᫨ 室 䠩 -
    ﬨ "fpi87  "fpi".  । ⠫ 㦤 -
    p㬥⮢   騥 砭 ⭮⥫쭮 -
   pp  饩 ⮩ 80x87.

       80x87 ᮤন 8 ॣ஢  饩 ⮩,   -
    ନ  ⥪.  ⥫  設  ⥪ 뢠 ST 
  p⠢  ᥡ ᫮  0  7, 㪠뢠饥  ॣ 
  饩 ⮩ 8087 室  設 ⥪. ST ࢮ砫쭮

                                - 147 -

   祭 0.   80x87 뫠     ॣ  ⥬
  㪠  ॣ  饩 ⮩.    ⥬ -
    ⥪饬 祭 ST.  㬬 (   8)  ।
  ॣ    饩  ⮩  8087,   㦭 ᯮ짮.
  ।⠢ ST(n),   "n" 室  0   7,  ᯮ
   㪠 樨 pp  饩 ⮩ ⭮⥫쭮 ST.
        祭  饩 ⮩ 㦠  ⥪  ॣ-
  ஢   饩 ⮩ 8087,  ST - 㬥蠥 (  8),  
  祭 㦠  ST(0).   祭   饩  ⮩
  ࠭       ⥪ ॣ஢  饩 ⮩
  8087, ST 㢥稢 (  8)  ST(1) ⠭ ST(0). H-
  ᫥饥    ਬ ॣ஢  饩 ⮩
  8087  ⢥ ⥪,  ਭ  祭 ST p 4 (4 -
   㦥  ⥪ ॣ஢  饩 ⮩ 8087).

                          Ŀ
               0           4th from top     ST (4)
                          Ĵ
               1           sth from top     ST (5)
                          Ĵ
               2           6th from top     ST (6)
                          Ĵ
               3           7th from top     ST (7)
                          Ĵ
         ST -> 4           top of stack     ST (0)
                          Ĵ
               5           lst from top     ST (1)
                          Ĵ
               6           2nd from top     ST (2)
                          Ĵ
               7           3rd from top     ST (3)
                          

       H稭  ᨨ 9.5, p WATCOM ᯮ  ᥬ
   ॣ஢ 80x87  ⥪, ᫨ ⮫쪮     -
    "fpr"    ᮢ⨬  ,  㥬  ।騬
  ﬨ.  ⮬ 砥 ⮫쪮   ॣ஢ ᯮ 
  ⥪.
        ᨨ 9.0    ࠭,  p  WATCOM  ᯮ
  ⮫쪮     쬨 pp 80x87  ⥪.    -
   ᯮ,  ⮡ । p㬥, 㣨  p-
  p ନp ,  뢠  80x87.  ᯮ 
   ६  饩 ⮩.
       p 믮  ணࠬ ﭨ ॣ஢ 80x87 ᫥-

                                - 148 -

  饥:

       1)  ॣ  饩 ⮩ 8087,  ନ-
   ⥪ 樠஢.

       2)  ॣ  饩 ⮩ 8087,  ନ-
    樠 㫥.

       ⥫쭮, ࢮ砫쭮    80x87  ⮨     ST(0),
  ST(I),  ST(2)  ST(3).  ST  祭 4   p -
  ࠬ.   祭  饩 ⮩ 頥  ⥪ ( 
  砥  p  p㬥⮢   饩 ⮩),   ⠭
  ST(0)   80x87 ⮨  ST(1),  ST(2),  ST(3)   ST(4).  
  ⥪ 80x87 ,  ST(0),  ST(1), ST(2)  ST(3) ନ ⥪ 
  ST(4), ST(5), ST(6)  ST(7) ନ  8087.

       ࠢ  p p㬥⮢ ᫥騥:

       1) ᫨ p㬥   饩 ⮩, ᯮ 楤
  ᠭ ࠭  ⮩ .

       2) ᫨ p㬥 -  饩 ⮩,   ।騩 p㬥
  稫   ⥪ 80x86 (  ⥪  80x87),  p㬥  
  饩 ⮩ ⠪    ⥪ 80x86.  -
  ३  ᫥饬 蠣.

       3) ᫨ p "8087"    ॣ஢   ᥢ-
  ਨ,   ᫨ ⥪ 80x87  , p㬥  饩 -
  ⮩ 砥 ॣ  饩 ⮩ ST(0)  (孨  -
    ⥪  80x87).  ।騩 孨  (᫨   )
  ⥯ 室  ST(1).  ᪮ ࠬ      ⥪
  ࠢ  ,  ࠩ  ࠬ  饩 ⮩ 㤥 
  ST(0).   p㬥  饩 ⮩      
  ⥪ 80x86.

       ᬮ ᫥騩 ਬ.

   #pragma aux myrtn parm [8087];

   void main() {
       float x;
       double y;
       int i;
       long int j;

                                - 149 -


       x = 7.7;
       i = 7;
       y = 77.77;
       j = 77;
       myrtn ( x, i, y, j);
   }

       myrtn - 㭪 ᥬ,   ॡ  p㬥.
   p㬥 ⨯ float (4 ), ன p㬥  ⨯ int
  (2 ),  ⨩ p㬥  ⨯ double (8 ⮢)  ⢥
  p㬥  ⨯ long int (4 ).  p㬥  ।
   myrtn ᫥騬 ᯮᮡ:

       1) ᪮ "8087" 㪠   ॣ஢,    p-
   ⨯ float, 㤥 ।  p  饩 ⮩ 8087.

       2) ன  p㬥  㤥 ।  ⥪,  ᪮ 
  p 80x86  㪠뢠   ॣ஢.

       3) ⨩ p㬥 㤥 ⠪ ।  ⥪.   ᫥-
  饥 ࠢ: ᫨ p㬥 砥   ⥪,  -
  騥 p㬥     ⥪.  -
  ,   㯮⮥ ࠢ ,   ᫨  -
  쪮 pp  饩 ⮩ 8087 㯭    p
  p㬥⮢  饩 ⮩.

       4) ⢥ ࠬ 㤥 ⠪ ।  ⥪.

         ᯮ⥫ ᥢ਩  㯮-
  ⮬ ਬ ᫥騬 ࠧ:

   #pragma aux myrtn parm [ax 8087];

  p㬥  ⥯ ।  myrtn ᫥騬 ᯮᮡ:

       1)   p "8087" 㪠   ॣ஢  ,  
  p㬥,  ⨯ float,  㤥 ।  p  饩 ⮩
  8087.

       2) ன p㬥 㤥 ।  ॣ AX, p뢠 
  pp 8086 㯭  p p㬥⮢.

       3) ⨩ p㬥, ⨯ double, 㤥 ⠪ ।  ॣ-

                                - 150 -

    饩 ⮩ 8087.

       4) ⢥ p㬥 㤥 ।  ⥪ ᪮   -
  ⠫ 㯭 p஢ 80x86  㪠  ॣ஢.

       6.14.11.2 ᯮ짮 80x87   祭 㭪権

        ଠ  ᯮ⥫쭮  ᥢ  -
  짮  ᠭ 㭪樨,   頥  祭  
  饩 ⮩  ST(0).

  Ŀ
   #PRAGMA AUX sym VALUE reg_set [';']                    
  

  :          ᠭ:

  sym             㭪樨.

  reg_set         ॣ஢ ᮤঠ騩 "8087"   [8087].

       6.14.11.3. ࠭ p஢ 饩 ⮩ p 맮

        ꥪ⭮  ਭ,    ᥬ ॣ஢
   饩 ⮩ 8087 㯭    ᯮ짮    ।
  㭪樨,  ᫨ ⮫쪮  ᯮ  "fpr",  ⮡ -
   ᮢ⨬   (  ࠭ WATCOM ᯮ-
     ॣ  ).   ଠ ᯮ⥫쭮
  ᥢ ।,   pp  饩  ⮩  
   80x87   㪠 㭪樥:

  Ŀ
  #PRAGMA AUX sym MODIFY reg_set [';']                     
  

  :           ᠭ:

  sym             㭪樨.

  reg_set         ॣ஢, ᮤঠ騩 p "8087".

         WATCOM C/C++16 ࠭   -
  ६,   ࠧ   80x87 । 맮 㪠
  ணࠬ.
.
                                - 151 -


                    WATCOM C/C++ 32


       7. p WATCOM C/C++ 32

       7.1. 

          뢠 p WATCOM C/C++ 32,   
  樨 p. WATCOM C/C++ 32 ন ࠧࠡ 32-p-
  p來 ਪ  ணࠬ    QNX.  p WATCOM C/C++ 32
  㯭  p拉 p .   樨, ᠭ
  ,  ਬ  ஢ ਪ ணࠬ QNX. 
  p 㪠뢠,    .

       7.2. ଠ  ப WATCOM C/C++ 32

       ଠ  p WATCOM /++ 32 뢠 .


    wcc386 [options] file_spec  [options]  [@env_var]

    wpp386 [options] file_spec  [options]  [@env_var]


   ᪮ [ ]  易⥫ 㭪.

  Wcc386    p WATCOM C32.

  Wpp386    p WATCOM C++ 32.

  file_spec
       䨪   䠩  QNX,    㦭 ஢.
  ७  䠩  㬮砭 p  WATCOM  C32  ".c",
  ᫨ ७  ।. ᫨ ७ 䠩  ।-
  ,  ⮣ WATCOM C++ 32 㤥 ᪠ 䠩      ᫥
  ७,  ᫥ 浪:

              1) .pp

              2) .c

              3) .


                                - 152 -

  ७  䠩 QNX ⮨    䠩, ᮤঠ饩
  ᫥ "."   ᨬ ᫥騥  .

          ਬ:

          䨪 䠩          p

          /home/john.doe/foo           ()
          /home/john.doe/foo.          .
          /home/john.doe/foo.bar       .bar
          /home/john.doe/foo.goo.bar   .bar

  ᫨     ।,   ⥪騩 p稩 ⠫.
  ᫨ 䠩   ⥪饬 ⠫,  pᬠp ᬥ ⠫
  "C" ( , ../c).

  options    ᯨ᮪ ⨬ 権 WATCOM C/C++32, p  
            ⮨ p ("-").  樨  㪠뢠   -
            .

  nv_var    ६ p,  ᮤন ⥫ -
            樨  ப  ࠡ⪨.

        WATCOM C++32,    ७  ⥯p 砥
  䠩  ⥫ 権  ப. ᫨ 㪠 -
  ६ p  ,  䠩  ⠪ . ᫨ p-
  p  䠩  砥  㪠 ,  㬮砭 -
  p p७ ".occ".   pᬮp ⥪饣 ⠫. ᫨
    ᯥ,  pᬠp  ᬥ  "OCC" ⠫ ( ,
  ../occ), ᫨  .

       7.3. p 権 WATCOM C/C++32

        ⮬ ࠧ   ।⠢塞  ᦠ⮥  १  権  WATCOM
  C/C++32.  騩 ࠧ 뢠  樨  ஡.  
  १ ⮡ࠦ  ࠭     "wcc386"  
  "wpp386"  ࠬ஢.

  樨
  ࠭:   ᠭ:

  -3r
          386,  ᭮  ᨭp樨 
       386,  ᯮ ᭮  ॣ ᮣ襭  p-

                                - 153 -

        p㬥⮢

  -3s
         386,  ᭮  ᨭp樨  
       386,   ᯮ ᭮  ⥪ ᮣ襭  p
       p㬥⮢

  -4r
          386,  ᭮  ᨭp樨 
       486,  ᯮ ᭮  pp ᮣ襭  p-
        p㬥⮢ ( ⠭  㬮砭)

  -4s
         386,  ᭮  ᨭp樨  
       486    ᯮ ᭮  ⥪ ᮣ襭  p
       p㬥⮢

  -5r
         386,  ᭮뢠  ᨭp樨 
       Intel Pentium  ᯮ짮 ᭮  pp ᮣ-
         p p㬥⮢

  -5s
         386,  ᭮뢠  ᨭp樨 
       Intel Pentium  ᯮ짮 ᭮  ⥪ ᮣ襭 
       p p㬥⮢

  -7
       pp ஥  80x87

  -b{d,m,w}
       ନ ᪠  ,   -,   
       pp ࠡ    㬮砭

  -bt[=<os>]
       ᮧ  (楫)  樮 ⥬ <os>

  -dl{+}
       砥 ⫠筠  ଠ   ப (⮫쪮  
       "dl+" 砥 ଠ  ⨯    ᨬ,  
       ⠪  pp  ᨢ)

  -d2
       砥  ᨬ쭠 ଠ  ⫠

                                - 154 -


  -d3
       砥   ᨬ쭠 ଠ  ⫠  -
       묨  ⨯

  -d<name>[=text]
        ९  #define [text]

  -d+
       pp ७ -d ம।

  -e<᫮>
       ⠭ p ᫠ 訡 (-e20  㬮砭)

  -ee
       뢠 ணࠬ 誨 epilogue

  -ei
       (C ⮫쪮) 㦤 p᫨ ⨯  ⨯ "int"

  -en
       ᪠  ணࠬ ।   prologue

  -ep[<᫮>]
       뢠 ணࠬ 誨 prologue  ᫮ 㯭 -
       ⮢ ⥪

  -ew
       (C++ ⮫쪮)   ஡ ᮮ饭

  -ez
        ꥪ 䠩 Phar Lap Easy OMF-386

  -fi=<_䠩>
       뢠 祭 㪠  䠩

  -fo=<_䠩>
       ⠭  ꥪ⭮  ९୮ 䠩

  -fpc
        맮  ⥪  饩 ⮩

  -lpi
        ஥  387  樥 (㬮砭)

                                - 155 -


  -fpi87
        ஥   387 ( 樨 "7" -
       )

  -fp2
        ஥  287

  -fp3
        ஥  387

  -fps
        p    80x87  ⨬஢  
       pp Pentium

  -fpr
          8087  ᮢ⨬     묨 ﬨ
       ࠭

  -g=<p㯯_>
       ⠭  p㯯 

  -i=<⠫>
         ⠫  ᯨ ⠫ include

  -j
        㬮砭  char    

  -m{f,s,m,c,l}
         (mf=flat-᪠,  ms=small,  mm=medium, mc=com-
       pact, l=large) ( 㬮砭 -mf)

  -nc=<__>
       ⠭   

  -nd=<_ᥣ_>
       ⠭  ᥣ "data"

  -nm=<_>
       ⠭  , ⫨饣   䠩

  -nt=<_ᥣ_⥪>
       ⠭  ᥣ "text"


                                - 156 -

  -o{a,c,d,e,f,f+,i,l,m,n,o,p,r,s,t,u,x}
       ࠢ ⨬樥

  -p{clw=<᫮>}
       ⮫쪮 ppp  p⪠  䠩,  뢮 뫠 
       ⠭ 뢮;  "c" 砥 ਨ; "l" 砥 -
       p⨢  #line;  w=<᫮> p 室 ப  <᫮>
       ⮫ ( 砥,   p  )

  -r
       ࠭/⠭ ᥣ ॣ஢

  -ri
        ᨬ chars  shorts  楫 int

  -s
       p pp p ⥪

  -sg
        맮  㢥祭 ⥪

  -St
       p砫쭮 p ⥪ १ SS

  -u<>
        ९ #undef

  -v
       (C ⮫쪮) p樨 室 㭪権  .def 䠩 ( -
        typedef)

  -w<᫮>
       ⠭ p ।० ᮮ饭 (㬮砭 -w1)

  -we
        ।० p뢠  訡

  -wx
       (C++ ⮫쪮)  ⠭  p ।०  ᨬ쭮
       ⠭

  -xs
       (C++ ⮫쪮) pp ᪫祭 (᪫⥫ 樨)


                                - 157 -

  -z{a,e}
       ⪫砥/᪠ 몮 ७ (-ze  㬮砭)

  -zc
       頥 ࠫ ப  ᥣ 

  -zd{f,p}
       pp蠥 ॣ DS ""  "pp"   DGROUP
       (-zdp  㬮砭)

  -zdl
       㦠 ॣ DS אַ  DGROUP

  -zf{f,p}
        ॣ  FS ᯮ짮 ( 㬮砭  ᥣ,
       ஬ ᪮  )   ᯮ짮 ( 㬮-
         ᪮  )

  -zg
       (C ⮫쪮) 뢮 㭪樮   .def ( 
       typedef)

  -zg{f,p}
          ॣ GS ᯮ짮

  -zk0
       p 塠⮢ ᨬ  Kanji

  -zk0u
       ࠭ 塠⮢ ᨬ Kanji  UNICODE

  -zk1
       p 塠⮢ ᨬ  /Ta

  -zk2
       p 塠⮢ ᨬ  p᪮ 몠

  -zku=<_p>
       㧪 p᫨p饩  ⠡ UNICODE  ।塞 -
        ࠭

  -zl
        p   䠩  뫪  ꥪ-
       ⭮ 䠩

                                - 158 -


  -zld
        p ଠ樨  ᨬ 䠩  ꥪ-
        䠩

  -zm
        㠫 㭪樨  ࠧ ᥣ

  -xp[{1,2,4,8}]
       ⠭ 쭮 㯠 pp (ࠢ  -
       ⮢) (-zp1  㬮砭)

  -zq
       "宥" 㭪樮஢ ( ᮮ饭)

  -zs
       ⮫쪮 pp ᨭ⠪

  -zt<pp>
       ⠭ ண  (-zt32767  㬮砭)

  -zu
        ,  SS ᮤন ᥣ DGROUP

  -zw
       ᫥⥫쭮  prologue/epilogue  Windows  Micro-
       soft

       7.4. 樨 p

  -3{r|s}
       WATCOM C/C++32 㤥 pp  386,  ᭮뢠 
       ᨭp樨  386 (. "4"  "5" ). ᫨ 㪠뢠-
        䨪 "r",  ᫥ p⥣ p樨 設  
       ᯮ.

       - WATCOM C/C++32 㤥 । p㬥  ॣ ,
         .   - ⮤  㬮砭 ᯮ㥬 
       । p㬥⮢.

       -  ॣ,   ᪫祭 EAX,  ࠭ १ 맮
       㭪権

       -   "fpi" ᯮ, p 㭪権 ⨯ float

                                - 159 -

        double 頥  ST(0)

       -   "fpc" ᯮ, १ 㭪樨 ⨯ float
       頥  EAX  p 㭪樨 ⨯ double 頥-
         EDX:EAX.

       - 騩   १  㤥 訩 祬 㥬
        ᭮  ⥪ ⮤ p p㬥⮢ (.  "3s"
       ).

       - 襭   㬮砭    㭪-
       権 ⠪,   ᨬ p ("_") ਡ ᧠
          ᨬ.  襭   㬮砭  
        ६ ⠪,   ᨬ p  ("_")
       ।  ᨬ.

  ᫨ 䨪 "s" 㪠,  ᫥ ⥣ p⪨  設-
   ஢ ᯮ.

       - WATCOM C/C++32 㤥 ।  p㬥 p ⥪,

       - EAX, ECX  EDX ॣ  ࠭ p 맮 㭪権.

       -  FS  GS  ࠭ p 맮 㭪権.

       -  㭪樨 ⨯ float 頥   EAX.  
         㭪樨 ⨯ double 頥  EDX:EAX.

       - 騩    १   㤥 訩 祬  ⮤
         ॣ஢ p ࠬ஢ (. "3r" ).

       - ᮣ襭     㭪権  ६-
           ⠪,  ᨬ ન ("_")  p-
           稢  ᨬ.

       樨 "s"  ᯮ㥬 p MetaWare  High
  C 386.

        㬮砭, ds,bhftncz "r" ᫨  "r"  "s"  㪠.

       ப __SW_3  㤥 ।।, ᫨ 롨ࠥ "3".

       ப __SW_3R 㤥 ।।, ᫨ 롨p "r"
  ( 㬮砭).

                                - 160 -


       ப __SW_3S 㤥 ।। ᫨ 롨ࠥ "s".

  -4{r|s}
          筠 "3(r|s)",  ᪫   WATCOM C/C++32
       㤥 ஢  386,  ᭮뢠   ᨭp樨
        486.   ⨬  pp 486 ᪮॥ 祬
        386.   㬮砭,  "r" 롨ࠥ, ᫨  "r"  "s" 
       㪠.  ப  __SW_4 㤥 ।।,  ᫨ "4"
       롨ࠥ.  ப __SW_3R 㤥  ।।,  ᫨
       "r" 롨ࠥ (  㬮砭).  ப __SW_3S 㤥
       ।।, ᫨ "s" 롨ࠥ.

  -5{r|s}
          筠 "3(r|s)",  ᪫   WATCOM C/C++32
       㤥 ஢  386,  ᭮뢠   ᨭp樨
         Pentium.    ⨬   pp Pentium
       ᪮॥ 祬  386.   㬮砭 "r" 롨ࠥ,  ᫨  "r"
        "s"    㪠.  ப __SW_5 㤥 ।।
       it' "5" 㪠.  ப __SW_3R  㤥  ।।,
       ᫨ "r" 㪠뢠 (  㬮砭),   __SW_3S 㤥
       ।।, ᫨ "s" 㪠뢠.

  -7
       WATCOM C/C++32  㤥 ஢ ஥ ᫮ 
       ᮯ 387  ꥪ   権  饩  -
       ⮩.      ⭠  "Fpi87".  p  __FPI__ 
       __SW_FPI87  ।।, ᫨  "7" 롨ࠥ.

  -bd
       (OS/2, Windows  NT  ⮫쪮)      㪠뢠 ࠭
       ⠢ ᮮ⢥饥 筮  DLL  ꥪ 䠩
         ᮮ⢥騩  樠樨 DLL,   p-
       p  ().  ப SW BD 㤥  -
       ।, ᫨  "bd" 롨ࠥ.    ਬ-
         QNX.

  -bm
       (OS/2, Windows  NT  ⮫쪮)      ⠢ ࠭
       ⠢ ᮮ⢥饥    -⮩  ⥪  
       ꥪ 䠩.   __SW_BM 㤥 ।।, ᫨ -
        "bm" 롨ࠥ.    ਬ  QNX.

  -bt=<楫_>

                                - 161 -

         ⠢ ࠭ । "ନ騩" -
       .     ᯮ  -ࠧࠡ⪨ pp.
        ।頥 ࠭  । p ⥬ 
       㬮砭 (    ⥬,  ࠭-
        믮)   ।  ப,  
         ப "<楫_>",  ८ࠧ  ᨬ 孥
       ॣ    ᯥp  ᧠    ᨬ  -
       ન.  ப  ⥬   㬮砭 뢠 
       p "pp p WATCOM C/C++".

       ਬ,  㪠 樨: -bt=fro ࠭ 㤥 ।-
         __FOO__   㤥 । MsDos  __Dos__, -
        p 믮  DOS, __OS2__, ᫨ p -
       p    OS/2,  __NT__   ᯮ짮 p饣 
       Windows NT,   __QNX__  ᯮ짮 pᨨ p饩
        QNX.   ப   ᨬ,  ,  ᨬ
       ન  ᯮ짮     ⥬.  p
       ⮣, ᪮쪮  ⥬ ᯮ ࠭஬  -
        ⥫ 樨.

        ⥬      ⥫쭠 

       dos              । c MSDOS.

       widows           筮 㪠 樨 "zw" 樨.
                        32-pp來 ࠭ ⥫쭮 ।-
                          WINDOWS_386_.

       netware          (32-pp來 p ⮫쪮) 뢠
                        ࠭ ᯮ짮  ᭮  ⥪
                        ᮣ襭  맮,  ᫨ ⮫쪮   -
                         ﬨ "3r",  "5r  "4r".  -
                        ।  __NETWARE_386__.

       penpoint         (32-pp來 p ⮫쪮) 뢠
                        ࠭ ᯮ짮  ᭮  ⥪
                        ᮣ襭  맮,  ᫨ ⮫쪮   -
                         ﬨ "3r", "5r  "4r".

   -bt    ᫥饣    ⥬ ⠭ 
  ⥬  㬮砭.

  -bw
       (OS/2, Windows 3.x,  Windows NT ⮫쪮)      㪠뢠

                                - 162 -

       ࠭ ஢ ᯥ樠 ᨬ ⠪ ⮡ ᯮ-
       㥬  㬮砭   p    -
            ணp.   __SW_BW 㤥 ।।,
       ᫨ "bw" 롨ࠥ.    ਬ  QNX.

  -dl
       ⫠筠 ଠ     ப 砥  ꥪ
       䠩.    ᯥ稢 ⥫ ଠ ⫠-
       稪    (     ꥪ 䠩  ᯮ塞
       䠩 ).   ப 㤮  ⫠ 襩  ணp  
           ஢ 室 ⥪ .   த⢨
           .  ⮡  ࠭᫨-
       ,  ⨫ WATCOM Strip  ᯮ짮  㤠
       ⫠筮 ଠ樨  믮塞 䠩.

  -dl+
       (C ⮫쪮)  ⫠筠 ଠ ஢ ப  ⭠
       ଠ   ᨬ   pp  -
       ᨢ 砥  ꥪ 䠩.   p  -
        ᨬ   㯭  ⫠稪    १
         騪  WATCOM,   ଠ  
       ᨬ   pp  ᨢ 㦭  訢,
        p 室 䠩.    ᯥ稢 -
       ⥫ ଠ ⫠稪  (    -
         䠩   ᯮ塞 䠩).   த⢨ 
          .  ⮡  ࠭᫨஢,
       ⨫  WATCOM Streep  ᯮ짮  㤠 ⫠-
       筮 ଠ樨  믮塞 䠩.

  -d2
       ஬ p樨   ப,  p   ᨬ-
          ⨯  砥  ꥪ 䠩.    -
       ଠ   ᨬ   㯭 ⫠-
       稪  १  騪 WATCOM,  p   -
         ᨬ    ⨯ 㦭 訢,   室
       䠩 .    ᯥ稢 ⥫ -
       ଠ    (   ꥪ 䠩  ᯮ-
       塞 䠩).   㬮砭,  WATCOM C/C++32 㤥  롨
       ஢ ⨬樨 "od",  ᫨ 㪠 "d2" (. ᠭ -
       樨 "od").  ,   㤥  ⫠    䠩
       ᪮쪮  ⮩.  த⢨    -
       . ⮡ ᮧ 䥪⨢ ,   ࠭-
       ஢  ⮩ 樨.


                                - 163 -

  -d3
         筠 "d2",  ⠪ 砥 ᨬ쭠 ⫠-
       筠 ଠ  뢠  ⨯.

  -d<>[=⥪]
       ।塞 ᠭ 砥,    뫠  -
       室  ⥪.  ਬ ⮩ 樨 ⭮ 祭
       ᫥饩 ப  室 ⥪.

       #define  [⥪]

       ਬ:     -d_MODDATE="87/05/04"

        ਬ ⥭ ப 室 䠩 ᮤঠ饩:

       #define _MODDATE "87/05/04"

  -d+
       ᨭ⠪  樨 "d",   ᫥   ப
       p ⠪,  ⮡ ⮡    ᥬ  C/C++  
        "⥪".  ப ᥬ 蠥 ஡.  -
         ᫮ ᨭ⠪, 祬 筮.

       ਬ:     -d+ -d_radx = x *3.1415926/180

        ⭮ । ᫥饣  室 ⥪.

       #define _radx x7 0*3.1415926/180

       WATCOM C++32 pp   ⥬ pp襭  p-
       p  ப.  p  㪠  ᯨ᪠ ࠬ஢,
        㪠뢠 ᨬ "=".  ⠪ ࠧ蠥 ।⢥-
        ᠭ ப    p ப ਬ-
       .

       ਬ :    -d+ -d_rad(x)x*3.1415926/180
                   -d+_rad(x)x*3.1415926/180
        ⭮ 㪠 ᫥饣  室 ⥪.

       ਬ:     #define _rad(x) x * 3.1415926/180

  -e<᫮>
       WATCOM C/C++32 㤥 ⠭ ࠭,  ⨣
       㪠 <᫮> 訡.   㬮砭,  WATCOM C/C++32 -

                                - 164 -

        ࠭ ᫥ 20 訡.

  -ee
         ⠢ ࠭ ஢ 맮   __EPI  
       Epilogue-᫥⥫쭮    㭪樨.   -
       ணࠬ   ᯮ짮  ⮡  ᮡ/ppp
       ଠ p䨫 믮.   __SW_EE 㤥 ।-
        ᫨ 㪠뢠 "ee".

  -ei
       (C ⮫쪮)  㬮砭,  WATCOM C/C++32 㤥 뤥 ᠬ
       쪨   ॡ㥬, ⮡ ᮤp  -
        祭   ᯨ᪠ ᫨ ⨯.  
         ᯮ짮,  ⮡  㦤  p  뤥
       "int"    ᫨ ⨯.  p __SW_EI 㤥 -
       ।, ᫨ 㪠뢠 "ei".

  -en
       WATCOM C/C++32  㤥   㭪樨  ꥪ  
       ப ᨬ  p p p樥 㭪樮쭮 ᫥-
       ⥫쭮 prologue.   ப 蠥 ⮬--
        ᫠ ᨬ  ப.

                       ; void Toaster (int arg)

                                db "Toaster", 7
                       public Toaster
                       Toaster label byte
                                 .
                                 .
                                 .
                                 ret

         ।砥  ࠧࠡ稪 p  ⥬
       (᭮   ਪ ணࠬ).   __SW_EN 㤥
       ।।, ᫨ 롨ࠥ "en".

  -ep<᫮>
          ⠢ ࠭ ஢ 맮  prologue
       ᫥⥫쭮 __PRO  砫  㭪樨.  ண-
       ࠬ  ᯮ짮, ⮡ ᮡ/ ppp -
       ଠ p䨫 믮.  易⥫ ࠬ  <᫮>
        ᯮ짮, ⮡ ⠢ ࠭ ।
       㪠 ⢮   ⥪    __PRO  -

                                - 165 -

       ࠭ ଠ樨.

  -ew
       (C++ ⮫쪮)   ⠢ p  C++  -
        ,   ஡ ᪨ ᮮ-
       .

  -ez
       WATCOM C/C++32  㤥  ஢  ꥪ  䠩  p
       Phar Lap Easy OMF-386 (ଠ ꥪ⭮ )    -
       㥬   㬮砭 Microsoft OMF.   __SW_EZ 㤥
       ।।, ᫨ 㪠뢠 "Ez".

  -fi=<_䠩>
        䠩 砥   p⨢

       #include "<_䠩>"

       뫠 饭  砫 室 䠩.

       ਬ:     $ wcc386 report -fi=/usr/include/stdarg.h

  -fo=<_䠩>
        樨 "p{cl}"  "fo" ᯮ    㪠  㧫
       ,  ,   㬮砭 ꥪ⭮ 䠩. ᫨ 
       ꥪ⭮ 䠩  㪠뢠,  ᮧ   室-
        䠩.  ᫨ p७ ꥪ⭮ 䠩  㪠,  -
       p  㬮砭 ".o".

       ਬ:     $ wcc386 report -fo=//2/proj/obj/

         "/"  㪠뢠   ⠫. ᫨,
       ਬ,  ।﫠  -fo= //2/proj/obj, ⮣ -
        䠩 㤥 뢠 //2/proj/obj.o.

       p p७  䠩  㬮砭   ।⢮-
        窠 (".").

       ਬ:     $wcc386 report -fo= //2/proj/obj/.dbo

       樥 "p{cl}" 롨p ९,  ᯮ  樨
       "p". "Fo"  ᯮ  㪠 㧫, pp, -
         pp 室 䠩  㬮砭.  ᫨  室-
        䠩  㪠뢠,   ᮧ     室

                                - 166 -

       䠩 . ᫨ p७ 室 䠩  㪠뢠, p-
        ".i"  㬮砭.

       ਬ:     $wcc386 report -p -fo=//2/proj/prep/

         "/"  㪠뢠   ⠫. ᫨,
       ਬ,  ।﫠  -fo= //2/proj/prep, ⮣ -
       室 䠩 㤥 뢠 //2/proj/prep.i. p p७-
         䠩  㬮砭  ।⢮ 窠 (".").

       ਬ:     $ wcc386 report -p -fo=//2/proj/prep/.cpr

  -fpc
        䬥⨪  饩 ⮩ 믮    맮  
       ⥪  樨  饩 ⮩.     -
       짮    ᫥ 稭:

       1) த⢨ 樨 饩 ⮩ ⤠ p-
       ⥭ p ࠧ஬ .

       2) pp  ᮤঠ  樨   饩 ⮩ 
       ࠭    80x87  㤥 ।⠢  ⥬.

        __SW_FPC 㤥 pp ᫨  "fpc" 롨ࠥ-
       .

        :     ணp -
                            樥 "fpc" 樥,  ⮣  㫨
                           ஢  ⮩ 樥.

        ⥬᪨  ⥪ p⠢  ਪ-
        ணࠬ,   ஢  p묨 ﬨ
       饩 ⮩. . p "⥪ WATCOM C/C++32" -
          .

  -fpi
       WATCOM C/C++32  㤥  ஢ ஥ 387-ᮢ⨬
        ᮯpp  ꥪ   権   饩
       ⮩.    ,  ᮤঠ騩 樨  饩
       ⮩,   樥 "fpi", ணࠬ ᯥ祭
       樨  ᮯ 㤥   pp p -
        ().   ࠧ, ⥬᪨ ᮯpp
        㦥  p p.   p  饩 ⮩
        㬮砭,  ᫨        ।.  p

                                - 167 -

       __FPI__  __SW_FPI  ।।,  ᫨ "fpi" 롨ࠥ-
       .

        :     ணp -
                             -  樥 "饩 ⮩",
                          ⮣  㫨   ஢  
                          ⮩  ᠬ 樥.

       ᫨  , ⮡ ணࠬ ᯥ祭 樨 -
       饩 ⮩ 뫮 祭  ணp,    
       "fpi".  ⥬᪨  ᮯ  㦥  ६ p 
       ⮬ 砥.

        ⥬᪨ ⥪ p⠢   ਪ-
        ணࠬ,   ஢  p묨 ﬨ
       p  饩  ⮩.  .  ࠧ"  ⥪  WATCOM
       C/C++32"   ⮩ .

  -fpi87
       WATCOM C/C++32 㤥 ஢ ஥  387- ᮢ-
       ⨬  ⥬᪮  ᮯpp    ꥪ  
       p権  饩 ⮩.   "fpi87" ᯮ
       ⢥, ணࠬ ᯥ祭 樨 ᮯ 
       砥  ணp p . 387  ᮢ⨬ -
       ⥬᪨  ᮯ    ।⠢  ६ -
        ⮣ pp.  p __FPI__  __SW_FPI87 -
        ।।,  ᫨ 롨p "Fpi87". . ਬ砭 
       ᠭ 樨 "fpi".

  -fp2
       WATCOM C/C++32 㤥 ஢ ஥  ⥬-
       ᪮ ᮯpp 287  ꥪ   権  -
       饩 ⮩.  8087, 287  ᮢ⨬ ⥬᪨ ᮯ-
          ।⠢   ६  믮  ⮣
       pp.  WATCOM ࠭஢    16 -
       ,     㬮砭.  32-pp來 ਪ ண-
       ࠬ,  ᯮ   ,  ᫨   p 
       讥 ⢮ ⥬ 386   287 ᫮-
         ஬  ( "fp3"  㬮砭  pp
       WATCOM,     32 ⠬). ,  32-pp-
        ਪ ணࠬ, ਬ ⮩ 樨 㤥 㬥
       䥪⨢ 믮.  ᯮ    ᮢ⭮  
       ﬨ "fpi"  "fpi87".  __SW_FP2 㤥 ।।
       p 롮p "fp2".

                                - 168 -


  -fp3
       WATCOM C/C++32   㤥  ஢  ஥    
       387-ᮢ⨬ ⥬᪮ ᮯ  ꥪ  
        p権  饩 ⮩.  287XL,  387  ᮢ⨬
       ⥬᪨ ᮯ    ।⠢    ६
       믮  ⮣  pp.    16-pp來 ਪ
       ணࠬ ਬ ⮩  樨  㤥  ࠭稢  
       p  ⥬,    ணp 㤥 믮,
        䥪⨢ 믮 .  ᯮ   
       ᮢ⭮   ﬨ "fpi"  "fpi87".   __SW_FP3 㤥
       ।।, ᫨ "fp3" 롨ࠥ.

  -fp5
       WATCOM C/C++32 㤥 ஢ ஥  ⥬-
       ᪮ ᮯpp 80x87  ꥪ   p権  -
       饩 ⮩.  ᫥⥫쭮   饩 ⮩
       㤥 ⨬஢  ᠬ 让    䥪⨢-
         pp INTEL Pentium.  287XL, 387  ᮢ⨬
       ⥬᪨ ᮯ   ।⠢    ⥬
        p 믮.  l6-pp來 ਪ ணࠬ -
        ⮩ 樨 㤥  ࠭稢    p
       ⥬,    ணp 㤥 믮,   䥪⨢-
        믮 㢥. ᯮ   ᮢ⭮ 
       ﬨ  "fpi"  "fpi87".   __SW_FP5 㤥 ।।-
       , ᫨ "fp5" 롨ࠥ.

  -fpr
       WATCOM C/C++32 㤥 ஢ ஥  ⥬-
       ᪮ ᮯpp 8087  ꥪ   権   -
       饩 ⮩.  ᯮ  , ᫨   -
       ஢   饩 ⮩,   ᮢ⨬ 
       ᨥ 9.0   ࠭ ࠭஢.  __SW_FPR -
        ।।, ᫨ "fpr" 롨ࠥ.

  -g=<p㯯_>
       ஢   頥   㯯,  뢠 "<p-
       _>".  ᥣ "text"  㬮砭 㤥 "<p㯯_-
       >_TEXT", ᫨   ⬥ 樥 "nt".

       ਬ:     $wcc386 report -g=RPTGROUP -s

  -i=<⠫>
        "<⠫>"     : ...

                                - 169 -

           ᯨ ⠫,   ஬ WAT-
       COM C/C++32 㤥 ᪠ 䠩 "include". . ࠧ "p-
        #include 䠩 pp WATCOM C/C++32"  祭
       ଠ樨 ⭮⥫쭮 ᪠ ⠫.

  -j
       ⨯ char    㬮砭     
       .  p __CHAR_SIGNED__  __SW_J   -
       ।, ᫨ "j" 롨ࠥ.

  -m?
       ?    ᨬ f, s, m,   l. 㠫쭠 
        롨ࠥ  p樨 ꥪ⭮ .  (ਬ砭:
        ᪮쪨   ⥪,   ᨬ p -
        ,  ᨬ ન).

  -mf
       롨p "᪠" (flat)   (      4
       ).  ப 㤥 ।।.

                      __ FLAT__
  -ms
       롨p "쪠" (small)    (쪨  ,
       쪨 ).  㬮砭, WATCOM C/C++32 㤥 롨
         .  騥 ப  ।।-
       .
                         __SMALL__
                         M_I86SM
  -mf
       롨p "।" (medium)   (让 ,  -
       쪨 ). 騥 ப  p।.

                          __MEDIUM__
                          M_I86MM
  -mc
       롨p "⭠"  (compact)      (쪨
       , 訥 ). 騥 ப  ।।-
       .
                        __COMPACT__
                        M_I86CM
  -ml
       롨p "" (large)   (让 , -
       訥 ). 騥 ப  ।।.


                                - 170 -

              __LARGE__
              M_I86LM

         p ᠭ   " ". 㣨
       ⥪  ᯥ 80386 ⠪  p 㪠⥫ -
         ࠧ " ஥ ⨯"   "ࠦ-
         몥 ᥬ".

  -nc=<__>
         ""  㬮砭 - "CODE".    "_TEXT"  -
       쪮    ᥣ "__TEXT" 让 -
         ਭ  "CODE".      롨-
         p㣮       ᥣ⮢ .   
       "code" ⠭  "__code".

        ,    㬮砭      ""-
       "DATA"  (  ᥣ⮢  "CONST",  "CONST2"  "_DATA")  "BSS"
       ( ᥣ "_BSS").    ।    
        "".

  -nd=<p䨪>
         ࠧ蠥   ।  ᯥ樠  䨪  
        ᥣ⮢ "CONST", "CONST2", "_DATA",  "_BSS".  -
       ,     ᥣ ਭ,  ⠪   
       "DGROUP"  "prefix_GROUP".

       ਬ:     $wcc386 report -nd=spec

         ਬ,  ᥣ⮢ ⠭ "SpecCONST", "Spec-
       CONST2", "spec_DATA",  "spec_BSS",   㯯 ⠭
       "spec_GROUP".

        㬮砭,  㯯    "DGROUP"  ⮨   ᥣ⮢
       "CONST", "CONST2", "_DATA"  "_BSS". ࠭ 頥 -
         ⨯        ⤥ ᥣ.  
       "CONST" ᮤন ﭭ ࠫ,    室-
        ⥪.

       ਬ:     char *birds [3] = {"robin", "finch" "wren"};
                   printf (" Hello world\n ");

         ਬ,  ப "Hello world\n", "robin", "finch", 
       ..,   ᥣ "CONST".


                                - 171 -

        "CONST2"  ᮤন  樠஢   "⮫쪮
        ⥭"  " ⥭/" ⨯ ᪠஢, , 
       ᨢ.

       ਬ:

              const int cvar = 1;
              int var = 2;
              int table[5] = {1, 2, 3, 4, 5};
              char * birds[3] = {"robin", "finch", "wren"};

         ਬ,  ᨢ birds 室  ᥣ "CONST2".
       ⥫  ⮬ ᨢ 㪠뢠  ப "Robin", "finch",
        .., p 室  ᥣ "CONST".
        "_BSS"  ᮤন 樠஢  ⨯ ᪠-
       ஢,   ᨢ.

       ਬ:     int van;
                   int array1 [ 400 ];

       㣨 ᥣ  ᮤঠ騥 , ᯥ樠쭮 -
         騥 ⨯ far  ॢ騥  p  (.
         "zt"),    "_N_DATA",   "N" - ᫮
       襥 5.

       ਬ:     int far array2 [ 400 ];

         ਬ,  array2 頥  ᥣ  "report6_DATA"
       p ᫮,    - "report".

  -nm=<_>
        㬮砭,  ꥪ⭮ 䠩   , p -
       頥  ,  ᮧ   室 䠩.   -
         "nm",  , p 頥  ꥪ-
         䠩  - <_>.     訬 ,  
       ᥣ "⥪" - "__TEXT",  ᫨ ⮫쪮   "nt"
        ᯮ.
        ᫥饬 ਬ,  ९pp 뢮  䠩  report.c
       ࠭    㣮 㧫    //2/temp.c.  
         樥 "nm" ⠪,     ⠢塞 
       ꥪ 䠩 - "report"   "tmp".

       ਬ:     $ wcc386 report -pl -fo= //2/temp.c
                   $ wcc386 //2/temp -nm=report -fo=report

                                - 172 -


         ⠪ ᯮ  "fo",  pp騩 ꥪ-
        䠩 뢠 report.o.

  -nt=<_ᥣ_text>
        ⠭  ᥣ "text".    㬮砭,  
       ᥣ  ⥪  -  "_TEXT"      쪨  
       "__TEXT"    訬 .

                         
                         
              -------          -------------------
              flat             _TEXT
              small            _TEXT
              medium           __TEXT
              compact          _TEXT
              large            __TEXT

  -o?
       ?    ᨬ a,  ,  d, e, f, f+, i, l, m, n, o, p,
       r,  s,  t,  u  x. 롨p p⭠ ⥣ 樨
       ꥪ⭮ .  権  㪠뢠 ᮢ⭮ 
        "-oailt".

  -oa
       ஢ઠ ᥢ ᫠.     㪠뢠,
       ⨬    㤥 ਭ,    ६
       ᢥ  뢠 १ 㪠⥫.   । -
        㬥 p pp㥬 .  騩 ਬ -
        .

       ਬ :    extern int i;

                   void rtn (int *pi)
                 {
                    int k;
                    for (k = 0; k < 10; ++k) {
                       (*pi)++;
                       i++;
                  }
              }

        ⮬ ਬ, ᫨ "i"  "*pi" 뫠    ᠬ -
        ꥪ ⮣ "i" 㤥 㢥稢   2    ࠧ  

                                - 173 -

       横  "for"    㤥 뢠 뫪 p 㪠⥫ "*pi"
       ᥢ  ६ "i".  ⮩ 樨, ࠭ 
         뢠 ६ "i"  ॣ஬  筥 ⮣
         "i"   ᮢ६.   設⢥ 砥, -
       㯮⮥   .   뫠   
       ᠬ ६ אַ    ᢥ १  㪠⥫  
       ⮩    ᠬ  ணࠬ.   "a"  
       ꥪ⭮ ,  ⠪ 砨    㫥, -
       p  㤥  ஢.    ꥪ⭮  㤥
       ᯮᮡ ந  䥪⨢ ,     
        ⭮⥫쭮 "஡" ᥢ.
           __SW_OA 㤥 ।।, ᫨  "oa" 롨-
       .

  -oc
         ᯮ,  ⮡ ⪫  ⨬樨 
       "call"  c  ᫥騬  "ret"  ()    
       "JMP".  ப __SW_OC 㤥 ।।,  ᫨ 
       "oc" 롨ࠥ.

  -od
       pp ⨬஢     ᫥⥫쭮.
       騩    १  㤥 ⥫쭮  ⫠-
        ⫠稪 VIDEO.   㬮砭, WATCOM C/C++32 㤥 -
        "od", ᫨ 㪠  "d2". ᫨  "d2" ᫥ -
         㣨 権 "o?", ⮣ "d" ⬥.

       ਬ:     $ Wcc386 report -d2 -us

       c __SW_OD 㤥 ।।,  ᫨  "d" 롨ࠥ-
       .

  -oe=<᫮_quads>
       । 짮⥫᪨ 㭪樨 ࠧp뢠  ஥-
       묨. ਩,  ஬ 㭪樨 롨  ஥
       pp뢠,   "ࠧ" 㭪樨  ନ -
         㥬 㭪樥 "quads".  ᫮ ᣥ஢ "qu-
       ads" ᭮ 易  ᫮ ᯮ㥬  p  -
       ஢.  㭪樨,   ॡ  祬 "<᫮_quads>", 
        ஥묨.  ᫮  㬮砭 - 20.  ⨬-
        ,   쭮 뢠 㭪樨 쪨 
       ࠧ.

       ਬ:     $ Wcc386 dhrystone -oe

                                - 174 -


  -of
          롨ࠥ p ᫥ (raceable) 
       ⨢樨   㭪権,  ᮤঠ 맮  ॡ
       ⠭ ᥩ ⨢樨.    (near) 㭪権 -
       pp ᫥   㭪樮쭠  ᫥⥫쭮
       (prologue).
                         push EBP
                         mov EBP, ESP

        far  㭪権  ᫥   㭪樮쭠 ᫥-
       ⥫쭮 (prologue) .

                  inc EBP
                  push EBP
                  mov EBP, ESP

       祭 EBP  ⥪ 㤥       ᨬ
         .

       ਬ:     $ wcc386 toaster -of

        __SW_OF  㤥  ।।,  ᫨  롨ࠥ  
       "of".

  -of+
          뢠  p ᫥ ᥩ ⨢樨
         㭪権 ᨬ  ⮣ ᮤঠ      맮,
        ॡ ⠭ ᥩ ⨢樨.    ।-
       砥  ࠧࠡ稪 p ⥬ ( ᭮  
       ਪ ணࠬ).    (near) 㭪権,  ᫥
        㭪樮쭠 ᫥⥫쭮 (prologue) -
       .
                     push EBP
                     mov EBP, ESP

         far 㭪権, ᫥  㭪樮쭠 -
       ⥫쭮 (prologue) .

                     inc EBP
                     push EBP
                     mov EBP, ESP

       祭 EBP  ⥪ 㤥       ᨬ

                                - 175 -

         .

       ਬ:     $ wcc386 toaster -of+

  -oi
       ।  㭪樨 arc (p. arcsin) -
        ஥묨.     ᮮ⢥騩 䠩 -
       ,  cঠ騩 ⨯   㭪樨    ⮣,
       ⮡   ஢ ஥.  㭪樨,   
       ஢ ஥묨:  abs  _disable  div  _enable  fabs
       _fmemchr _fmemcmp _fmemcpy _fmemset _fstrcat _fstrcmp _fstrcpy
       _fstrlen labs ldiv _lrotl lrotr inp inpw memchr memcmp  memcpy
       memset  movedata  outp  outpw _rotl _rotr strcat strchr strcmp
       strcpy strlen

       p __INLINE_FUNCTIONS__  __SW_OI    ।।,
       ᫨  "oi" 롨ࠥ.

  -ol
       믮 ⨬樨 横.  砥 ६饭 -
       塞  横 p  横.  __SW_OL 㤥 -
       ।, ᫨ "l" 롨ࠥ.

  -om
        ஥    80x87  ⥬᪨ 㭪権
        sin,  cos, tan  .. . ᫨   롨ࠥ, 
        pp  ⢥⢥  ,    p㬥
        ⨬ 㭪 室  ।    ਭ⮣  
       sin,  cos  .., ᪮  ᪮ ஫ 
       . 㭪樨,   ஢ ஥묨:
       acos asin  atan atan2 cos sin tan cosh sinh tanh log log10
       fabs fmod sqrt exp pow
       ᫨ ⠪ 㪠뢠  "ot", ⠪  ஥-
        㭪 p.

        __SW_OM 㤥 ।।,  ᫨  "om" 롨ࠥ-
       .

  -on
          ࠭      饩
       ⮩  㬭   稭.  p ⮬ pp-
          ,   १      -
       , ⮬  ⭠ 稭   筮  ।-
       .  __SW_ON 㤥 ।।, ᫨  "on" -

                                - 176 -

       ࠥ.

  -oo
       ࠭  㬮砭 뢠    ᫨  墠⠥
       .     㦤 ࠭ த 
         墠⠥ , ,   ਢ  -
       p樨  祭 宣 .   __SW_OO 㤥 ।।-
       , ᫨  "-oo" 롨ࠥ.

  -op
          ⠢  ࠭  ࠭ ஬ p-
        p権  饩 ⮩  ,  ⮡ -
       ஢  ⨢稢 p  饩 ⮩ 
       ⮣,  ⮡ ࠭ 祭  pp 8087,    
        筮.  __SW_OP 㤥 ।।, ᫨ -
        "op" 롨ࠥ.

  -or
           㯮冷祭  (஢-
        )  ⨦ 襩 䥪⨢  p
       ⥪  ⨯ INTEL 486  Pentium.    ⢥
        p樨 ண   pp Pentium. 롮 ⮩
       樨 ᤥ   㤭 ⫠ ⮬,  -
        ᥬ,  ᣥ஢  室 , 
       p訢    ,  ᣥ஢묨  㦠
       ஢.  __SW_OR 㤥 ।।, ᫨ "-or" -
       ࠥ.

  -os
       pp ⤠ p⥭ p ᪮p  p-
       樨  (訩 ,     믮).  
       㬮砭,  WATCOM C/C++32 롨p ࠢᨥ    "-
       p⢮"    "६".   __SW_OS 㤥 ।।,
       ᫨  "os" 롨ࠥ.

  -ot
       p ⤠ p⥭ p p⢮  p-
       樨  ( ஥ 믮,    訩 ).
        㬮砭, WATCOM C/C++32 롨p ࠢᨥ  "-
       p⢮"  "६".  ப __SW_OT 㤥 ।।,
       ᫨  "ot" 롨ࠥ.

  -ou
         㦤 ࠭ pp,    ⪨ 㭪-

                                - 177 -

       権 㭨. ⮬ ࠭    㭪樮-
        ⪨    ᠬ ,  ᫨    㭪樨
       祭.  __SW_OU 㤥 ।।, ᫨  "ou"
       롨ࠥ.

  -ox
       p 樨 "oilmr"  "s" ( ஢ન ९ ⥪).
        "ox" oꥤ  ﬨ  "on",  "oe",  "oa"    "ot"
       ("Oneatx"  )   樥 "zp4",   ꥪ⭮  㤥
         ᠬ   ᯮ塞   -
       ᨬ   ⥪.  㣨 樨   ⥪-
       -ᯥ ⨬, ⮡   த-
       ⢨  .   ,   "-oneatx" ⭠ "
       -oneatilmr -s ". . ࠧ "  p⥫쭮" 
       ⥫쭮 ଠ樨  p樨 ண .

  -p{clw=<᫮>}
       室 䠩  p  ९pp  ࠡ⪥  ,  
       㬮砭,  뢠   ⠭ 室 䠩.  
       "fo"  ᯮ짮,  ⮡ ७ 뢮  䠩  
       ७   㬮砭 ".i".   "p",  ᫨  
        p p 室 ⥪   室
       䠩 ppp WATCOM C/C++32.  "pl", ᫨  -
         p⨢ #line.   "pcl"  "plc", ᫨ 
         室 ਥ  p⨢ #line.  ᯮ
       䨪 "w= <num>", ᫨  , ⮡ 室 ப 뫨
       p  <᫮> ⮫殢.  砥 ⢨ p-
         ⮫.

       ਬ:     $ wcc386 report -pclw=80

       室 䠩 p  ⮫쪮  ppp  p⪥.
        㪠뢠 "p",  室 ਨ  p⨢ #line
        .     ,  ᯮ짮 䨪
       "c"    "l".    뢮 ९   pp
       WATCOM C/C++32,  ४⨢ #line    ࠭
       뢮  ⨪  ନ ஢ ப ࢮ砫쭮
       室 䠩.
       樨,  p  p訢 ppp
       WATCOM C/C++32: "d", "fi", "fo", "i", "m?"  "u".

  -r
            WATCOM C/C++32 ஢ 㭪樮-
        ᫥⥫쭮 prologue  epilogue,  -

                                - 178 -

           ⠭   ᥣ p 塞
       㭪樥. p ᯮ짮 ⮩ 樨 㦭 p. -
        ⠭ 祭 ᥣ⭮ ᮮ⢥ -
        ᥣ,   ᢮  । 㭪樨,  p-
          ࠢ   ।  饭 ०-
       .   㬮砭 WATCOM C/C++32  ࠭   ⠭-
        ᥣ ॣ.   p⠢  ᮢ-
       ⨬  ᨥ 8.0.   __SW_R 㤥  ।।,
       ᫨  "r" 롨ࠥ.

  -ri
            WATCOM  C/C++32  pᬠp  ⨯
       chars  shorts  int.

  -s
       ஢ઠ ९ ⥪ ᪠  ᣥ஢ -
       .  㬮砭, WATCOM C/C++32 㤥 ⠢  砫 -
        㭪樨   ஢ ᫮  "९  -
       ".    ᯮ짮  ⪫祭 ⮣. -
        __SW_S 㤥 ।।, ᫨  "s" 롨ࠥ.

  -sg
              p pp OS/2
       2.x  ਪ ணࠬ PenPoint.   㪠뢠  
       ꥪ⭮    ᮧ 맮  ६ 믮  砫
        㭪樨,    4  ᪨ 
       ६ (६ ࠧ饭  ⥪).

        OS/2 2.x  PenPoint,  ⥪ ⠥ ⮬᪨ ࠭-
       栬  4  ᯮ 堭 " p" ⥪. ⥪
       ⮨      ࠭  ᢥp  ᯥ樠쭮 ⭮
       p. 뫪   ࠭  4  ⠢ -
       樮 ⥬ 㢥稢 ⥪   4  p  -
         4  ࠭ .    ࠡ⠥  ४᭮,
           祬 4  ᪨  ६-
         㭪樨,     祬 4  ⮬᪨
       ,  ⥪    p ⥬,   4 
        p,    p  ⥪     筮,  ⮡
       㤮⢮p  ᥬ  ॡ   p ᪨ -
        ६.   ⥪ 室  pp
       㢥祭 ⥪    ६ 믮.  pp ⠭
       ⥪  ६ 믮 뢠 __GRO.

        __SW_SG 㤥 ।।,  ᫨  "sg" 롨ࠥ-

                                - 179 -

       .

  -st
         ⠢  ꥪ⭮   ࠭஢,
       ⮡ ࢠ 뫪  ⥪  㭪樨 p室  "" -
       ,  ᯮ ॣ SS. ᫨   ⮩  ⥪ 
       뤥  ,  p  ᡮ  騩 ॣ
       SS.   ࠧ蠥 樮 ⥬ ⨯ PenPoint 뤥
       ⥫쭮  p⢮  ⥪ ᡮ .   
       pࠡ⠭  ᯮ짮    0     PenPo-
       int.

       ।,   㭪 ॡ 100 ⮢ pp⢠ -
       .  ꥪ⭮  筮 뤠 ᫥⥫쭮
          㪠⥫ 設 ⥪  ॡ㥬 -
        ⮢ p⢠ ⥪, ⠪ ࠧ ⠭ 
       "" ⥪.  㪠뢠  "st",  ꥪ⭮-
         㤥 ࠭஢,   ࢠ 뫪  ⥪  p-
         祩   ᠬ  ᮬ.  ᫨ ࠢ-
         ந,  樮 ⥬ ᬮ  ।-
       ,      뫠 뫪  ⥪ (⠪  祭 ॣ
       SS),  ⠪ ᪮쪮 ⥫쭮 p⢠ ⥪ ॡ-
       .

       . ᠭ  樨  "sg"      饣 p襭 ஡
       । ⥪.  ப __SW_ST 㤥 ।।-
       , ᫨  "st" 롨ࠥ.

  -u<䨪p>
        "u"  ᯮ짮  ⪫祭 p -
       । .  ᫨  樨  䨪 
       㪠뢠,    ।। ப  ᪫-
        pᮢ   ।.

       ਬ :    $ wcc386 report -uM_186

  -v
       (C ⮫쪮) WATCOM C 32 㤥 뢮 㭪樮 -
           䠩    ⥬  ᠬ   室 䠩   
       pp ".def".   "ᠭ"  ᯮ짮  
       "include"  䠩  ஢ 㣨 㫥,  ⮡ -
       짮 २⢮ p ⨯ 㭪権    p㬥-
       ⮢, p WATCOM C/C++32.


                                - 180 -

  -w<᫮>
       WATCOM C/C++32 㤥 뢮 ⮫쪮 ।०騥 ᮮ饭
       p p쥧 <᫮>  . ।०騥 ᮮ饭
       ⨯ 1 -  쥧   ६  ।०騥 -
       饭 ⨯ 3 -  쥧.

  -w0
        ।०騥 ᮮ饭  뢮

  -wl
       뢮 ⮫쪮 ।०騥 ᮮ饭 p 1 ( 㬮-
       砭)

  -w2
       뢮 ।०騥 ᮮ饭 p 1  2

  -w3
       뢮 ।०騥 ᮮ饭 p 1, 2  3

  -w4
       뢮 ।०騥 ᮮ饭 p 1,  2  3,  ⠪
       ଠ樮 ᮮ饭 뢠  䠩 訡

  -we
        㬮砭, WATCOM C/C++32 㤥 த ᮧ ꥪ-
        䠩 ᫥ 뢮 ।०.    ᯮ-
       ,  ⮡  ࠡ뢠   ।०  訡,
       ⠪ ࠧ p ࠭ ᮧ  ꥪ  䠩,
       ᫨  ।०, 㦥  । .

  -wx
       (C++ ⮫쪮)   ⠭ ஢ ।० 
       ᨬ쭮 ⠭.

  -xs
       (C++ ⮫쪮)    ।,  ᫨  ᪫祭
       (᪫⥫ 樨) ᯮ  ணp. ਬ
       ⮩ 樨 㤥 㢥稢 pp /    ணp,
       ⠪ ࠧ 㬥 䥪⨢ 믮. ᫨ ᪫-
         ᯮ,   㪠뢠  ,  ⮡ 
       p 㬥襭 䥪⨢.

  -za
          ࠭஢,  ⮡ p㥬  

                                - 181 -

       ᮮ⢥⢮ ᯥ䨪樨 ANSI C.  NO_EXT_KEYS (-
        ७ 祢 ᫮) 㤥 ।।, ᫨ 
       "za" 롨ࠥ. . ⠪ ᠭ 樨 "ze".

  -zc
        "zc" ⠢  ꥪ⭮   -
       ࠫ ப  ꥪ-⠭  ᥣ .

       ਬ:

           const int cvar = 1;
           int var = 2;
           const int ctable[ 5 ] = ( 1 , 2 , 3 , 4 , 5 );
           char *birds[ 3 ] = { "robin" , "finch" , "wren" };

         ਬ,  cvar  ctable  ப "robin",  "finch", 
       ..   ᥣ .   p ⮫-
           訬 묨.   __SW_ZC 㤥 ।-
       ।, ᫨  "zc" 롨ࠥ.

  -zd{f,p}
        "zdf"   ꥪ⭮   ᯮ짮
       pp  DS  㪠  㣨 ᥣ ஬ "DGROUP" (
       㬮砭    compact  large).  "zdp" ᮮ-
       頥    ꥪ⭮   ॣ DS  ᥣ
       㪠뢠  "DGROUP" ( 㬮砭       small,
       medium  flat).   __SW_ZDF 㤥 ।।, ᫨ -
        "zdf" 롨ࠥ.  __SW_ZDP 㤥 ।।, -
         "zdp" 롨ࠥ.

  -zdl
        "zdl" 뢠 p   㧪  pp  DS
       אַ    DGROUP  ( ᯮ㥬  㬮砭 run-time
       맮).    뢠 p p饭  ᥣ⮢.
         ᯮ  樥 "zdp",    "zdf".

  -ze
        "ze" ( 㬮砭) ᪠ ਬ ᫥ p-
       p  WATCOM C/C++32:

       1) ॡ     ࠩ   譥 ᠭ 
            ᫠.

       2) ࠢ ᫥⥫쭮  "/1"    

                                - 182 -

          ᨭ  "\n"  ப  ᨬ ⠭.

       3)   p⥫  ᮮ⢥⢨  ⨯  㪠⥫
          ⠭ ।०ﬨ  訡.

       4) p  ஥  ⥬᪨  㭪樨  (
          ,    p  errno   㤥 ⠭
          ஥묨 㭪ﬨ).

       5) p  pp/ꥤ.

       ਬ:
                     struct {
                         int a;
                         Union {
                             int b;
                             float aft_b;
                         };
                         int c;
                     } x;

        ⮬ ਬ, "x.b" - ⨬ 뫪   "b".

       6) ࠢ    㭪樮  ⨯  ANSI
          ᫠ ⠪, ⮡  ᫥饩 ணࠬ -
          ஢  訡.
                                - 183 -

           ਬ:
                 void foe (struct a *__p);

                 struct a {
                     int b;
                     int c;
                 };

                 void bar(void)
                 {
                     struct a x;
                     foo (&x);
                 }

  ᭮ ண 樨 ⠭p ANSI C,  ⨯ 㭪樨
     ,  p 蠥 窮  -
  ⮩ (;).   ⮣ ,  ⥣ ""   㭪樨 "foo"
      ᠬ ⥣ "",  । ᫥ ⨯.   ᮮ-
  ⢨  ANSI C  뢮 ᪨ ᮮ饭.

       7) 筠  (,) pp蠥 ᫥ ᫥  ⠭
            p᫨ ⨯.

       ਬ:     enum colour { RED, GREEN, BLUE, };

       8) ॡ  ANSI   ⮬,  ⮡  p᫨ ⨯ 
          室 ⨯ int ᫠.  ⨢ ⮣ pp -
          ࠭ .  p᫨ ⨯  ।⠢-
           楫᫥묨 ⨯,     ࠧ 祬
          int.

        ਬ:
                 enum colour { RED, GREEN, BLUE, };

                 void foo (void)
                 {
                     enum colour x;

                     x = RED;
                 }

   ⮬ ਬ,  "x"  ࠭  unsigned char,  ⮬ 
   祭 墠뢠   0  2.


                                - 184 -

       9) p ANSI  ⮬, ⮡ 室 ⨯  ⨯ bitfield
           int  unsigned ᫠.   ணࠬ-
           । bitfield p 訥     祬
          int (ਬ, unsigned char).

       ਬ:
                    struct {
                        unsigned char a : 1;
                        unsigned char b : 1;
                        unsigned char c : 1;
                    } x;

                    struct {
                        unsigned a : 1;
                        unsigned b : 1;
                        unsigned c : 1;
                    } y;

   ⮬ ਬ,  ࠧ "x" -   ᠬ p  unsigned char
     ६,   ࠧ "y"  ⥬  ᠬ ࠧ஬  un-
  signed int.

       10) 騥 ப ।.

                     _near, near
                     _far, far
                     _huge, huge
                     _cdecl, cdecl
                     _pascal, pascal
                     _fortran, fortran
                     _interrupt, interrupt
                     _export
                     _loadds
                     _saveregs

         . ⠪ ᠭ 樨 "za".

  -zf{f,p}
        "zfr"   ꥪ⭮   ᯮ짮
       pp FS ( 㬮砭     p ᪮
       flat).   "zfp" ᮮ頥  ꥪ⭮  ,  
       p FS      ᯮ짮 ( 㬮砭  ᪮
       flat  ).  __SW_ZFF 㤥 ।।, ᫨
         "zff" 롨ࠥ.   __SW_ZFP 㤥 ।।,

                                - 185 -

       ᫨  "zfp" 롨ࠥ.

  -zg
       (C ⮫쪮)   "zg"  樨 "v"  ᪫祭 ⮣,
        p樨 㭪権  뢮  "DEF" 䠩, ᯮ
       室  ⨯  ( ,  typedefs 㬥   室
       ⨯).

       ਬ:
              typedef unsigned int UINT;
              UINT f (UINT x)
              {
                   return(x + 1);
              }

       ᫨ ᯮ  "v", 뢮 㤥:

                 xtern UINT f (UINT);

       ᫨ ᯮ  "zg", 뢮 㤥:

                 xtern unsigned int f (unsigned int);

  -zg{f,p}
        "zgf"   ꥪ⭮   ᯮ짮
       pp  GS  (㬮砭    ).   "Zgp"
       ᮮ頥  ꥪ⭮ ,   ॣ GS  
       ᯮ짮 .  __SW_ZGF 㤥 ।।, ᫨ -
        "zgf" 롨ࠥ.  __SW_ZGP 㤥 ।।, -
         "zgp" 롨ࠥ.

  -zk{0,1,2}
         ⠢ ࠭ ᯮ 塠⮢ ᨬ-
         ப.  ࠭ ᬠਢ ⥪⮢ -
       ,  祭  窨("),   㤥  ᯮ  
         ᨬ        ᪨ 
       ண .   㤥 । ࠭    p-
       쭮 pp樨 ண   ᨬ "\"  (").

  -zk, -zk0
        樨 ⠢ ࠭ ࠡ뢠  ப  ﯮ᪨
       ᨬ      ⮬  (  0x81  - 0x9F  0xE0 -
       0xFC).     A0 - DF   ⮢  ᨬ
       Hiragana.

                                - 186 -


  -zk1
         ⠢ ࠭ ࠡ뢠 ப ࠤ樮-
         ⠩᪨    ⠩᪨ 塠⮢ ᨬ (
       0x81 - OxFC).

  -zk2
          ⠢ ࠭ ࠡ뢠 ப p᪨
       Hangeul 塠⮢ ᨬ ( 0x81 - 0xFD).

        __SW_ZK 㤥 ।।,  ᫨   "zk" -
       ࠥ.

  -zk0u
         ⠢ ࠭ ࠡ뢠  ப  ﯮ᪨
       塠⮢  ᨬ  (  0xX1 - 0x9F  0xE0 - 0xFC).
          AO - DF  ⮢  Hiragana  .  
       ᨬ,    Kanji,    ப  ᨬ (L"c") 
       ப (L "ப") ࠭᫨  UNICODE.  ࠭
       ᬠਢ ⥪⮢ ப,  祭  窨 ("), 
       㤥 ᯮ   塠⮢ ᨬ   -
        ᪨  ண .  㤥 ।
       ࠭  p쭮  pp樨  p    
       ᨬ "\"  ("),

  -zku=< p>
         ப ᨬ (L'c')  ப  ப  (L
       "ப") ࠭᫨  UNICODE.   p樨 UNICODE
        㪠  ࠭ 㦠  䠩    
       "UNICODE.cpn",    "cpn" - p  p (ਬ,
       -zku=850 롨p 䠩 "UNICODE.850").

  -zl
        㬮砭,  WATCOM  C/C++32 頥  ꥪ 䠩 
       ⥪ ,   ᮮ⢥ p   
       樨 p  饩 ⮩. 騪 WATCOM ᯮ-
          ,  ⮡ 롨 ⥪, ॡ-
             pp.  p ᯮ짮 樨 "zl"
             ᣥ஢  ꥪ
       䠩.  p  WATCOM  C/C++32   ஢ 譨
       뫪   ,   㤮  㪠 -
       騪  ⫨騩 .   ⠪ pp: ᫨ 
        㭪樨,   ।     祭  
       饩  ⮩(float  double),  ࠭ 㤥 ⠢-

                                - 187 -

         뫪,  㤥 뢠 祭  ᯮ-
       塞  䠩  pp  pp  饩 ⮩.
        "Zl" 㤥 ⪫  譨 뫪.

       ᯮ  ,    ᮧ ⥪ -
         㫥,      ᮤঠ 뫪  
        WATCOM C/C++32.

  -zld
        㬮砭, WATCOM C/C++32 頥  ꥪ 䠩  
       ⪨ p   䠩, 뢠 室 䠩. 
       ଠ    ᨬ  䠩  ⥬ ᯮ짮
       WMAKE  । ⮣,    䠩  ࠭-
       ஢, ᫨   뢠 䠩 p 
       p ᮧ ꥪ⭮ 䠩.   ⠢ -
       p  ⠢  ଠ  ꥪ 䠩.

  -zm
        "zm"    ꥪ⭮    
         㭪  ⤥ ᥣ.    ᯮ 
       p p,     ᯮ짮  ᮡ  p冷
       ᥣ⮢.  ᥢp "Alloc_text "  ᯮ
       ᮢ⭮  ⮩ 樥,  ⮡  㭪樨  ᯥ-
        ᥣ. ⪨ ⮩ 樨:

       1) ᪨ 㭪樨 "뢠 "   -
           . ⨬ " 맮" .

       2) ⨬ "騩 epilogue" p.

        __SW_ZM 㤥 ।।,  ᫨  "zm" 롨ࠥ-
       .

  -zp[{1,2,4,8}]
        "Zp"    ।  ࠢ  ⮢   
       .  㬮砭 - "zp1". ࠢ ⮢ -
        뢠  ᫥饩 ⠡.  ᫨ ࠧ   1,
       2, 4  8, ࠢ     権 "zp". ᫨
         - ᨢ  ,  ࠢ -
        ப "x".


                                - 188 -
                                    zp1      zp2     zp4     zp8
                Sizeof () \ -------------------------------
                        l         |  0        0       0       0
                        2         |  0        2       2       2
                        4         |  0        2       4       4
                        8         |  0        2       4       8
                        x         |  p  襬
                                     童

       ࠢ 0 砥 ⢨  ࠢ,  2  砥
       p  p栬 ᫮,  4  ࠭栬  ᫮,  
       ..  ᫨ ᠬ 让   "x" - 1 , ⮣
       "x"  ࠢ. ᫨ ᠬ 让   "x"
       - 2 , ⮣ "x" ࠢ ᮣ᭮ ப 2. ᫨ -
        让   "x" - 4 ,  ⮣ "x" ࠢ-
        ᮣ᭮ ப 4.  ᫨ ᠬ 让  -
        "x" - 8 , ⮣ "x" ࠢ ᮣ᭮ ப 8.

       ⮡  祬 ࠢ    
       , ᬮ ᫥騩 ਬ.

       ਬ:
           typedef struct memo_el {
           char  data [9];
           struct memo_el *prev, *next;
           ref_number int;
           } memo;

        ⮬ ਬ,  ࠢ  㬮砭 "zp1" 㤥 ⠢-
        㪠⥫  楫 ꥪ ࠢ   -
       , ⠪  ᨢ "data" - 9 ⮢  .  p
       ⥬,    l6-pp來 ( 32-pp來) 設,
       襭 䥪⨢   祭,   ꥪ-
        ࠢ   ࠭栬.

  -zq
        "宣 ०" 뢠  ଠ樮 ᮮ-
       饭 p WATCOM C/C++32.  筮 뢮  ᮮ饭
       騥  p  ⮣ ᫮ ᪮஢
       ப.  p ⮣,   ᪮쪮 ᥪ㭤 뢮 窠,
       ⮡  㪠뢠,   p  ࠡ⠥.   ᮮ饭
         ⮩ 樥. 饭  訡  ।०-
       騥 ᮮ饭  .

  -zs
       WATCOM C/C++32 㤥 ⮫쪮 ஢ 室 ⥪    -
        p ꥪ⭮ .  ஢ઠ ᨭ⠪, ஫

                                - 189 -

       ᮮ⢥⢨ ⨯,  ⠪  믮  筮.

  -zt<pp>
        "ண " ᯮ, ⮡ ⠭ -
        ࠧ  ꥪ⮢ ,  砥  ᥣ -
         㬮砭.     ᯮ짮 ⮫쪮  -
       ﬨ  - compact  large.    ,  -
          祬  ᥣ  . 筮  ꥪ-
        ,  祩 ࠧ -   ࠢ ண 祭,
         ᥣ   㬮砭 " _DATA ", ᫨ ⮫-
         ᯥ樠쭮     (far) ꥪ. -
          ᪨ ,    ⠭
       ண ࠧ  ⠪,  ⮡  ꥪ,  訥  祬
         ࠧ,  頫    㣮 () ᥣ .
       ਬ, : -zt100 ⠢  ꥪ , 訥
       祬  100 ⮢  ࠧ,    묨  -
       , 㯯஢  㣨 ᥣ .

       祭 ண   㬮砭 32767.   ࠧ,  
       㬮砭,  ꥪ,  祬 32767 ⮢  ࠧ, -
           (far)       㣨
       ᥣ . ᫨  "zt" 㪠뢠  ࠧ, -
       祭 ண  p 256.

       ᫨  "zt" ᯮ  ஢   
         ணࠬ,  ⮣    ஢   㣨 㫨 
       ணࠬ  ⮩ 樥 ( 祭).

       ஦ 㦭   ࠧ ꥪ⮢  ࠧ
       .  ᬮ  ᫥騥      ࠧ
       䠩 . ।,   ।塞 ᨢ   -
        ᫥騬 ࠧ:

                xtern int Array [100] = { 0 };

        ।,    뫠    ᠬ ᨢ  -
        㫥 ᫥騬 ࠧ:

                extern int Array [10];

       ,   㫨 ஢  樥  "zt100",  
       稬  ஡.   ࢮ 㫥 ᨢ 㤥  
       㣮 ᥣ, ᪮ Array [100]  祬 ண .
         ஬  㫥 ᨢ 㤥   ᥣ  

                                - 190 -

       㬮砭, ᪮ Array[10]  祬 ண . -
       ⥫  ,  ॡ㥬  ⮡ 뫠  ꥪ  㣮
       ᥣ ,   㤥 ஢.  ,   
       ஡  ந室,   ᫨  "zt"  ᯮ-
        (pp,   ꥪ⮢,  祬 32767 ⮢  ࠧ-
       ).    襭  ⮩ ஡: (1)  -
       ⨢稬   ࠧ ꥪ,  , (2)  ।-
        ࠧ  p 뫮  .

  -zu
        "zu" ⬥ ࠭祭,  饥  ⮬,  ॣ
       SS ᮤন   ᥣ   㬮砭, "DGRO-
       UP". 筮      㯯 "DGROUP" 
       ॣ  SS  ᮤন    ⮩ 㯯.   
       "zu" 롨ࠥ,  p SS ᢮ (p,   
       㪠뢠   㣮 ᥣ)    뫪 
       ॡ 㧪 ᥣ⭮ p ⨯ DS   ᮬ
       "DGROUP".

           ஢ ணࠬ,   
         "騥" (shared) ⥪,  ⠪  ॣ  SS
       㪠뢠    ᥣ  ⥪ 뢠饩 pp p 室 
       㭪.

        __SW_ZU 㤥 ।।,  ᫨  "zu" 롨ࠥ-
       .

  -zw
         ⠢ ࠭ ஢  ᯥ樠
         ᫥⥫쭮,  ॡ㥬  32-pp來 ਪ-
         ணࠬ  Microsoft  Windows.    __WINDOWS__  
       __WINDOWS_386__  ।।,  ᫨  "zw" 롨-
       .

          ਬ  QNX.

       7.5. p p WCC386/WPP386

       p p WCC386  ᯮ짮, ⮡ ।
  筮 ᯮ㥬 樨 WATCOM C32. p p WPP386 
  ᯮ짮,  ⮡ । 筮 ᯮ㥬 樨  WATCOM
  C++32.   樨 ࠡ뢠 । ﬨ, ।塞묨  -
   ப.


                                - 191 -

       ਬ:     $ export "WCC386=-d1 -ot"
                   $ export "WPP386=-d1 -ot"

       襯p ਬ  ।  樨    㬮砭  "d1"
  ( ⫠ ଠ   ப  ꥪ  䠩),
   "ot" (⨬  ᪮p  ⨬樨 ࠧ).

        ⮫쪮 p p WCC386 ।, 㪠 樨
  ⠭ 㬮砭  ࠧ,   p WATCOM C32  -
  .  p p WCC386 ᯮ ⮫쪮 -
  p WATCOM C32.   p p WATCOM C32   -
  짮,  ⮡  ⬥   樨,  ।塞  ப
  ।.
        ⮫쪮 p p WPP386 ।, 㪠 -
  樨 ⠭ 㬮砭  ࠧ,  p WATCOM C++32
  ᯮ.  p p WPP386 ᯮ ⮫쪮 -
  p WATCOM C++32.  p p WATCOM C++32 
  ᯮ짮,  ⮡ ⬥  樨,  ।塞  ப
  ।.

       : ᫨  ᯮ   ᠬ 樨  ࠭  
       ६,   । ६ p  襬 짮-
       ⥫᪮ 䠩 樠樨.

       7.6. pp  p WATCOM C/C++32

        p  ᪮쪮  ਬ஢   ᯮ짮   WATCOM
  C/C++32  ஢ 室 ⥪⮢ C/C++.   ᯮ-
   p WATCOM C32,   ਬ ⠪ ਬ  -
  p WATCOM C++32 (   wpp386  wcc386).

       ਬ 1:   $ Wcc386 report -d1 -s

       p WATCOM C32 ࠡ뢠 report.c, ந ꥪ-
   䠩,   ᮤন ଠ     ப  室
  䠩. ஢ઠ ९ ⥪ ᪠  ꥪ⭮ .

       ਬ 2:   $ Wcc386 -mf -3s calc

       WATCOM C32  calc.c  "᪮"  , -
   ᭮  ⥪ ᮣ襭  p ࠬ஢. -
    뢠   " ". 襭  p-
   p㬥⮢ 뢠   "ࠦ  몥 ᥬ".


                                - 192 -

       ਬ 3:   $ Wcc386 kwikdraw -3r -fpi87 -oaimxt

       p WATCOM C32 ࠡ뢠 kwikdraw.c,  ந -
      386-ᮢ⨬ 㤮 ⥬᪨ ᮯp-
  p 387. ᯮ ᭮  ॣ ᮣ襭  -
  p ࠬ஢.  騩  १  㤥 ᮪ -
  ஢  386- ⥬.

       ਬ 4:   $ Wcc386 ../source/modabs -d2

       p WATCOM C32 ࠡ뢠 ../source/modabs.c (䠩  
  ⠫,    ᬥ  ⥪饬). ꥪ 䠩 -
  頥  ⥪騩 ⠫.     ꥪ      묨
  砥  ଠ ⭮⥫쭮  ᨬ  ⨯ -
  .  ஢  - אַ, ⨬஢,  -
    ⫠ ⫠稪 .

       ਬ 5:   $ export "WCC386=-i=/includes -mf"
                   $ wcc386 /cprogs/grep.tst -fi=iomods.c

       p WATCOM C32 ࠡ뢠 ணࠬ ,  ᮤঠ
    䠩 /cprogs/grep.tst.   iomods.c 砥,    
  ନ஢  室 ⮪ .  樨 "-i=  /includes"  
  "-mf" ⠭ 祭ﬨ  㬮砭  ࠧ p 맮 -
  p WATCOM C32.  "-mf"  ⬥   -
  . ᫥ ᪠ "include" 䠩  ⥪饬 ⠫, WATCOM C32 -
   pᬠp  ⠫,  㪠   "i"  .  .
  ࠧ  "p⪠ #include 䠩 p WATCOM C/C++32" 
  ⥫쭮 ଠ樨.  ꥪ  ,    ,
  ᫥ "᪮"  .

       ਬ 6:   $ Wcc386 grep -fo= ../obj/ -mf

       p WATCOM C32 ࠡ뢠 ணࠬ ,  ᮤঠ
   䠩 grep.,   室   ⥪饬  ⠫.  ꥪ
  䠩 頥  ⠫ ../obj   grep.o.  ꥪ ,
   , ᮮ⢥ "᪮"  .

       ਬ 7:   $ Wcc 386 -dDBG=1 grep - fo= ../obj/.dbo -mf

       p WATCOM C32 ࠡ뢠 ணࠬ ,  ᮤঠ
   䠩 grep.,   室  ⥪饬 ⠫. ப
  "DBG" ।  ⮣,  ⮡ p ⫠  -
    pp,   室  䠩 筨.  ꥪ

                                - 193 -

  䠩 頥  ⠫ ../obj   ७    䠩  㤥
  ".dbo" ( ".o"). 롮 p㣮 ७  䠩 ࠧ-
    䨪 ꥪ 䠩,   ஢
    pp  ⫠.  pp㥬  ꥪ  ᮮ⢥
  "᪮"  .

       ਬ 8:   $ Wcc386 -g=GKS -s /gks/gopks

       p WATCOM C32     gopks.c    頥
    㯯 "GKS".  ᫨   뫠 㪠  "g",    
   饭    㯯. ,  㪠 䠩 ᮤন
  ᠭ ணࠬ gopengks ᫥騬 ࠧ:

     void far gopengks ( int workstation, long int h)
     {
         .
         .
         .
      }

        쪮   ணࠬ gopengks  ।-
    ⮬ 䠩  far,  ⠪   頥   -
  .  㪠뢠  "s", ⮡ । 맮  ६
  믮 ணࠬ ஢ન ९ ⥪,   㤥
    p㣮 ᥣ    ६  ।஢  痢.
  pp gopengks   p⨯  㣨 㯯 

     void far gopengks ( int workstation, long int h);

       p㣮 ᥣ .

       7.7.   p⥫쭮

       p WATCOM C/C++32 ᮤন  讥  ⢮  権
   ࠢ ᮧ .   । -
   権 p,    ᯥ稢 ᮫⭮  ᠬ
    ६ 믮    ਪ ணࠬ.
   ⮬ ᪠,   㪠 樨 p,  ,  
  㬠,      訥  ६  믮  設⢠
  ਪ ணࠬ.    ᯥਬ஢    ࠧ묨
  ﬨ,  ⮡   権,   ᠬ 
    襩 p⭮ pp.

       㥬 樨  ᮧ ᠬ ண  -  "one-

                                - 194 -

  atx", "zp4"  "5r".  "on" 㪠뢠 p  -
    饩 ⮩  㬭   稭.   -
        (㬭  ஥ 祬 ),
   १      ᠬ,  ⮬  ⭠ -
  稭   筮  ।⠢.
        "oe" ⠢ 쪨 짮⥫᪨ 㭪樨  
  ஥묨    p樨  맮   ⮩ 㭪樨.  
  㭪権 ஥묨  ᤥ  묨  㣨  ⨬樨,
      㦥 p 樨 맮  ⮩ 㭪-
  樨.
        "oa"  ⠢ ࠭ ᫠ ஢ ᥢ-
  .
        "ot"    ।,  ⮡  ⠢ 
  ꥪ⭮  롨 ᫥⥫쭮 ,  
   묨 ⭮⥫쭮  ࠧ .  㬮砭 -
  p ࠢᨥ  ࠧ஬  த⢨.
        "ox" ⭠  "oilmr"  "s",   ⠢-
   p  짮⥫᪨ 㭪樨 ஥묨 ("oi"),
  믮 ⨬ 横 ("ol"), ஢ p -
   387  ⥬᪨ 㭪権 ⨯ sin, cos, sqrt ("om"), -
  㯮冷稢 ,  ⮡   ⠭ ("or")
    ஢ ஢ ९  ⥪  ("s").    "or"
  祭   ᮧ ண   pp Pentium.
        "zp4" ⠢   ࠢ   4-⮢
  p. 砭 "zp1" 㯠뢠  ,  㬥蠥 -
  ⢮ ॡ㥬  ,   ॡ ⥫ 横
  ᨭ஭樨   㯠  ,   室   ᮮ-
  饩 ࠭.
        "5r" 㪠뢠,    ⨬஢  p-
  p Pentium.     㤥 ᨫ쭮 ⢮  ६
  믮   386,    ᤥ ⥫ pp  p-
  p 486  Pentium.

       7.8. ⨪ p

       ᫨ p WATCOM C/C++32 뢮 ᪨ ᮮ-
    ࠭,  ⠪ 頥   ᮮ饭  䠩  襬
  ⥪饬 ⠫.   㤥    ᠬ      室
  䠩   ७ ".err".  p 뢮  ⨯ -
  ᪨ ᮮ饭,   , ।०  訡 . ।०-
  饥 ᮮ饭  ।頥 ᮧ ꥪ⭮ 䠩.  -
  , ᮮ饭  訡 㪠뢠,  ஡ 筮 쥧-
      ࠢ ०, 祬 ࠭ 㤥 ᮧ
  ꥪ 䠩 .  訡 - 㤮 뫪,    -

                                - 195 -

  ࠢ 訡  室 䠩.
       쪮 ⮡ ஢ ᪨ ᮡ WATCOM
  C/C++32,  㤥  pp "hello",  ஥ -
  ⢮ 訡.

       ਬ:

     #include <stdio.h>

     int main(),
       {
           int x;
           printf("Hello world\n");
           return(y);
        }
   ⭠ pp  C++:

     ਬ:

     #include <iostream.h>
     #include <iomanip.h>

     int main()
     {
         int x;
         cout << "Hello world" << endl;
         return(y);
      }

      ⮬ ਬ   ப:

     int x;
     

     return(y);

       祢 ᫮ void  int.

     ᫨  㥬  ணࠬ  樥 "।०",

     $ wcc386 hello -w3

     騩 뢮   ࠭:


                                - 196 -

     hello.c(7): Error!  E1011:  Symbol 'y' has  not  been  declared
                                ( 'y'   )

     hello.c(5): warning!  W202: Symbol 'y'has been defined, but not
                                 referenced ( 'x'   ।-
                                 ,   뢠)

     hello.c: 8 lines, included 174, 1 warnings, 1 errors

     (hello.c: 8 p, 祭 174, pp 1, 訡 1)

      pp C++, ᫥騩 뢮   ࠭.

     File: hello.cpp
     ( : hello.cpp)

     (8,13): Error!  E209: symbol 'y' has not been declared (訡!
             E029 : ᨬ 'y'   )

     (9,1): warning!  W014:  no reference to symbol 'x' 'x' declared
       at: (6,9)

            (।०! W014:   뫪  ᨬ 'x' 'x' -
         : (6,9)

     hello.cpp: 9 lines, included 1267, 1 warning, 1 error (9 ப,
                祭 1267, ।० 1, 訡 1

            ਬ    ⨯ ᮮ饭.  饭 
  訡  ।०饥 ᮮ饭 뢥.  㪠 ᮮ饭
    訡,  ॡ ⨢   䨪 y.
  ।०饥 ᮮ饭 㪠뢠  ,      -
   ࠢ C/C++, । ६  -  ᯮ-
  ,   ⭮  ।  ⠪.  ᫥ ண-
  ࠬ,  , :

  1) ६ x   祭 祭, 

  2) ६ y,  ⭮,  뫠 ࠢ쭮    -
       .

        ᯨ᮪ ᪨ ᮮ饭 WATCOM C/C++32  
   ਫ   㪮.


                                - 197 -

       7.9. p⪠ #include 䠩 p WATCOM C/C++32

        ᯮ짮  ४⨢ ९ #include,  
  䠩  ᫥⥫쭮 ᨬ, 饭 -
    p⥫ﬨ  "<"  ">" (pp,  <file>),   室 䠩
   ᫥⥫쭮 ᨬ, p祭 ⪠
  ஢ (pp, "file"). WATCOM C/C++32  ࠧ稥 -
   ਬ "<>"  ⮪ ஢  㦥  -
  砥 䠩. 孨 ᪠   䠩  室 䠩
   ࠧ筠. ᬮ ᫥騩 ਬ.

       ਬ:

     #include <stdio.h> / *  䠩 */
     #include "stdio.h" / * 室 䠩 * /

          ᯮ짮  "<"  ">"  饭  ⠭
   ⥬  䠩  ⪨ ஢   饭  
  襬 ᮡ⢥ 室   䠩.
       쭠 ᫥⥫쭮,  饭  ࠧ⥫ﬨ
    ४⨢  #include ।⠢ ᮡ  䠩,   㦭
  .   䠩   㧥 ,   ⠫ 
  ७.    室   㧥    ᯥ䨪
  䠩,  ᫨ 䠩 ﭭ 室  p㣮 㧫     p㣮
  ⠫. WATCOM C/C++32 p⠢ 堭  ᪠ 砥-
   䠩,    ࠧ  ࠧ ⠫  -
    p ⥬.  WATCOM C/C++32 pᬠp ⠫ 
  ᪥   室 䠩  ᫥饬 浪 (  -
  , ᫨ 䠩 ):

       1) ᫨  ᯥ䨪  䠩,  祭  ⪨ ஢
  ("䨪_䠩")  㣫  ᪮  (<ᯥ䨪_䠩>),
  ᮤন   ᯥ䨪 㧫    ⠫,  
  䠩 砥 (p ᫮,    ).    㣮
    믮.    易⥫쭮 㪠뢠,  ⮬ 砥
  p ⥪騩 㧥.

       2) ᫨ ᯥ䨪  䠩  祭    ⪨  ஢,
  pᬠp ⥪騩 ⠫.

       3) ⥬,  ᫨ ᯥ䨪 䠩 祭  ⪨ ஢-
  , pᬠp ⠫ 䠩, ᮤঠ饣 ४⨢ #include.
  ᫨ ⥪騩 䠩 ⠪ #include 䠩,  ⥬ pᬠp -
  ⠫ p⥫᪮ 䠩.   த ppᨢ १

                                - 198 -

     #include 䠩   㤥 pᬮp ⠫ -
  砫쭮 室 䠩.

       4) ⥬,  ᫨ ᯥ䨪 䠩 祭  ⪨ ஢-
   ("ᯥ䨪_䠩")   㣫 ᪮ (<ᯥ䨪_䠩-
  >),   ⠫, 㪠   "i", pᬠp (
  浪   㪠뢠).

       5) ⥬,  ᫨ 㪠뢠  bt= <os>,   ⠫,
  㪠  p p <os> INCLUDE  pᬠp  (  ⮬
  浪,    㪠뢠).  ਬ,  ᫨ 뫠 㪠 
  bt=DOS,  㤥 p   ᮮ⢥⢨  p p
  DOS INCLUDE.

       6) ⥬,   ⠫, 㪠  p p INCLU-
  DE, pᬠp ( ⮬ 浪   㪠).

       7)  祭, ᫨ ᯥ䨪 䠩 祭  ⪨ -
  ஢, ᬥ ⠫ "H" ( , ../h) pᬠp, -
    .

        㯮⮬ ਬ,  <stdio.h>  "stdio.h"    ⭮-
     ࠧ 䠩,  ᫨  stdio.h  ⥪饬 -
  ⠫   ⠪      ⠫  include  䠩,  WATCOM  C/C++32
  (/usr/include)  ⥪騩 ⠫  㪠   "i"   -
  p p INCLUDE.
       p 㤥 pᬠp ⠫, 㪠  
  "i" (.  ᠭ 樨 "i")  p p INCLUDE  ᯮᮡ,
   ⮬,   窠 樮 ⥬ ᯮ
   ᪥ ணࠬ  ᯮ짮 ⥬ ६ PATH.
        "export"  ᯮ,  ⮡  ।  p
  p INCLUDE,  ᮤন ᯨ᮪ ⠫.  

     export INCLUDE=:.

      । p ᪮ WATCOM C/C++32.

      㥬 ਬ ४⨢ #include  ᫥騬  ਬ-
  ஬.

     ਬ:

     #include <stdio.h>
     #include <time.h>

                                - 199 -

     #include <dos.h>

     #include "common.c"

     int main()
     {
         initialize ();
         update-files ();
         create-report ();
         finalize ();
     }

     #include "part1.c"
     #include "part2.c"

       ᫨ 㯮 ⥪ ࠭  室 䠩 report.c 
  ⥪饬 ⠫,  ⮣    ᫥騥 ,  ⮡
  ஢ pp.

     $ export INCLUDE=/usr/include://1/headers
     $ wcc386 report -fo=../obj/ -i=../source

        ⮬ ਬ,   "ᯮ" ᯮ, ⮡ ।-
   p p INCLUDE.   㪠뢠,   pᬠp
   ⠫ /usr/incIude (⥪饣 㧫)  ⠫ /headers (-
  ⠫  㧫 1).
        WATCOM  C/C++32 "i" ।  ,   ᪠
  䠩  祭.  २⢮ p p INCLUDE   ⮬,
     ॡ ।  ࠧ p ᪥ p.

       7.10. ppp WATCOM C/C++32

       ppp WATCOM  C/C++32 ନ ⥣p  WAT-
  COM C/C++32.    ଠ 樨 "p" 㪠뢠, ⮫쪮 ९-
   뢠.        ꥪ-
   䠩  ᮧ. 뢮 ९ 뢠  ⠭-
    室  䠩,      ⠪ ७  p㣮
  䠩,  ᯮ  "fo".  ।,  ᫥ pp
  C/C++ ᮤন  䠩 msgid..

       ਬ:
     #define _IBMPC 0
     #define _IBMPS2 1


                                - 200 -

     *If _TARGET == _IBMPS2
     char *SysId = {"IBM PS/2"};
     #else
     char *SysId = {"IBM PC"};
     #endif

     /* ⥫   䨪樨 ⥬ */

     char *GetSysId ()
       {
         return (SysId);
       }

         ᯮ짮 ppp WATCOM C/C++32, ⮡ -
  ஢    C/C++,    㤥  䠪᪨ ஢
  pp WATCOM C/C++32   ᫥饩 .

       $ wcc386 msgid -plc -fo -d_TARGET=_IBMPS2

       㤥 ᮧ 䠩 msgid.i,  p 㤥 ᮤঠ  ᫥騩
   C/C++.

     #line 1 "msgid.c"

     char *SysId = ("IBM PS/2");

     #line 9 "msgid.c"

     /* ⥫   䨪樨 ⥬ */

     har *GetSysId()
       {
          return (SysId);
       }

        ,   䠩 msgid.i  ᯮ짮  
    p WATCOM C/C++ 32.

       $ wcc 386 msgid.i

       ᪮ ४⨢  #line  ।⠢   䠩,  p
  WATCOM C/C++32  뢮 ᮮ饭  訡  ନ  -
  砫 ஢ ப 室 䠩.


                                - 201 -

       7.11. pp p WATCOM C/C++

       ஬ ⠭  ᠭ  ANSI  ப WATCOM C/C++
  ⠪ p⠢ ᪮쪮 ⥫ ᨬ    ⥬
  ப.   뢠  ⮬ ࠧ. . p㪮⢮ "-
  ᠭ 몠",  뢠 ⠭ ப.
       p WATCOM   C/C++  p    ࠧ  
  (host) 樮 ⥬,   DOS, OS/2, Windows NT  QNX.
    p  樮 ⥬  ᯮ짮-
    ࠧࠡ⪨ ਪ ணࠬ  鸞 楫  ⥬.
   㬮砭, 楫 樮 ⥬  p pp
  -    樮 ⥬, ᫨    㪠-
    ண ⢠ 権.  ਬ,  ਪ ணࠬ
  DOS ନ  DOS  㬮砭, OS/2 ਪ ணࠬ -
    OS/2  㬮砭,   ⠪ .    
  ନ஢ ਪ ணࠬ  㣨 p樮 ⥬ 
  p㦥.
       ப, ᠭ  ,    ᯮ짮,   ⮡
  ஢ 楫 ⥬,   ன pp -
  . ਬ砭:  ᪮쪨   ⥪ p,  ᨬ-
   p  ,  ᨬ ન-
  .
       p WATCOM C/C++ p pp  32-p-
  p來 ⠪  16-pp來 p pp.  騥  ப-
   ।  32-pp來  16-pp來 楫 ⥬.

  M_I86
        楫  p, ᮢ⨬  16-pp來묨 In-
       tel 80x86 (। p WATCOM C/C++16).

  M_I386
        楫  p, ᮢ⨬  32-pp來묨 In-
       tel   386   ᮢ⨬   (।  p  WATCOM
       C/C++32.

  __386__
        楫  p, ᮢ⨬  32-pp來묨 In-
       tel 386 ᮢ⨬ (। p  WATCOM  C/C++
       32).

       p WATCOM  C/C++ ᯥ稢 ࠧࠡ p
  pp  鸞 樮 ⥬. 騥 ப -
    p 楫 樮 ⥬.


                                - 202 -

  __DOS__
        楫 樮 ⥬  MS/DOS  (-
        p⥫ DOS).

  MSDOS
        楫 樮 ⥬  MS/DOS  (-
        p⥫ DOS).

  __OS2__
        楫 樮 ⥬  OS/2 ( 1.x 
       2.x).

  _PENPOINT_
        楫 樮 ⥬  PENPOINT.

  _QNX_
        楫 樮 ⥬  QNX.

  _NETWARE_386
        楫 樮 ⥬  Novell NetWare
       386.

  _NT_
        楫 樮 ⥬  NT.

  _WINDOWS_
        楫 樮 ⥬  Microsoft Win-
       dows.   ப ।,   㪠뢠 樨
       "zw"  "bt=windows".

  _WINDOWS_386_
        楫 樮 ⥬  32-  Microsoft
       Windows.   ப ।,  㪠뢠 -
        "Zw"  "bt=windows".

       騥 ப 㪠뢠,  ࠭ 
  室 ⥪ /++.

  _cplusplus
        ࠭  p C++.

  _WATCOMC_
        ࠭        p  WATCOM
       C/C++.

                                - 203 -


       祭 ⮣      ᨨ  p.
       祭  100 ࠧ p室  ᨨ ( 8.5 뤠
       850,  9.0 뤠 900,  ..).

  _EXPRESSC_
        p    p  WATCOM  Express C.
       p Express C 믮 ⮫쪮  16-pp來 -
        DOS.

       騥 p । ⮫쪮 p ᠭ ᫮.

  _FPI_
       ।,  ᯮ 樨 "fpi"  "fpi87".

  CHAR_SIGNED
       ।,   "j" ᯮ.

  _INLINE_FUNCTIONS_
       ।,  ᯮ  "oi".

  NO_EXT_KEYS
       ।,  ᯮ  "za".

  _FLAT_
       ।,  ᯮ  "mf".

  M_I86SM, _SMALL_
       ।,  ᯮ  "ms".

  M_I86MM, _MEDIUM_
       ।,  ᯮ  "mm".

  M_I86CM, _COMPACT_
       ।,  ᯮ  "mc".

  M_I86LM, _LARGE_
       ।,  ᯮ  "ml".

       7.12. p 祢 ᫮ WATCOM C/C++32

       WATCOM C/C++32 ন ਬ  ᯥ樠
  祢 ᫮,  ⮡ 뢠 ⥬-ᨬ ਡ 㭪権
   㣨 ꥪ .   ਡ  孮  ⥪ன

                                - 204 -

  ஢  INTEL  ⢮ 㭪樮 ᮣ襭  맮
   ᯮ㥬 p  ⮩ ⥪.  ᮮ⢥⢨ 
  몮묨  ⠭p⠬ ANSI C  C++,  WATCOM C/C++32 ᯮ
  p䨪 -  ᨬ ન ("_")  ⨬ 祢묨 ᫮-
    ॣ.  ᯥ祭 ᮢ⨬  㣨 -
  p C/C++ p  ⠪  p⨢    
  祢 ᫮ १ ।। .

  __near
       WATCOM C/C++32 ন  祢  ᫮  __near,  ⮡
       뢠  㭪権  㣨 ꥪ⮢,  室 
          㪠⥫   ꥪ⠬.

       WATCOM C/C++32 ।।  near  _near  -
        祢 ᫮ __near.

  __far
       WATCOM "C" / "C" ++ 32 ন 祢 ᫮ __far, -
        뢠  㭪権  㣨 ꥪ⮢,  室-
          far   㪠⥫   ꥪ⠬.

       WATCOM C/C++32 ।। ப far  _far  -
        祢 ᫮ __far.

  __huge
       WATCOM C/C++32 ন  祢  ᫮  __huge,  ⮡
       뢠  㭪権  㣨 ꥪ⮢,  室 
       huge   㪠⥫    huge  ꥪ⠬.  WATCOM  C/C++32
       pᬠp  ࠡ뢠      far  ꥪ-
       ⠬.

       WATCOM C/C++32  ।। ப huge  _huge 
        祢 ᫮ __huge.

  __based
       WATCOM C/C++32  ন  祢 ᫮ __based,  ⮡
       뢠 㪠⥫  ꥪ⠬,       㣨
       ᥣ  ᠬ ꥪ. . "ᠭ 몠 WATCOM C" 
       ᭥ 祢 ᫮ __based.

  __segment
       WATCOM C/C++32 ন 祢 ᫮ __segment,  -
       ஥ ᯮ   ᠭ  ꥪ⮢  ⨯  ᥣ.  .
       "ᠭ  몠  WATCOM  C"    ᭥ 祢 ᫮

                                - 205 -

       __segment.

  __segname
       WATCOM C/C++32 ন 祢 ᫮ __segname,  -
       ஥ ᯮ  ᠭ  ᭮      ᥣ
       㪠⥫   ꥪ⮢.  .  "ᠭ 몠 WATCOM C" 
       ᭥ 祢 ᫮ __segname.

  __self
       WATCOM C/C++32 ন 祢 ᫮ __self, ஥ -
        p ᠭ self-based 㪠⥫.  .  "ᠭ
       몠 WATCOM C"  ᭥ 祢 ᫮ __self.

  __cdecl
       WATCOM C/C++32 ন 祢  ᫮  __cdecl,  ⮡
       뢠 㭪樨 ,  뢠  ᯮ짮 ᯥ-
       樠쭮 ᮣ襭 뢠 ᥢਥ    䠩
        "stddef.h".

       WATCOM C/C++32  ।।  ப  cdecl  _cdecl
         祢 ᫮ __cdecl.

  __pascal
       WATCOM C/C++32  ন 祢 ᫮ __pascal,  ⮡
       뢠 㭪樨 ᪠,  뢠  ᯮ짮
       ᯥ樠쭮  ᮣ襭,  뢠  ᥢਥ  
       䠩 "stddef.h".

       WATCOM C/C++32 ।।  pascal   _pascal  
        祢 ᫮ __pascal.

  __fortran
       WATCOM C/C++32 ন 祢  ᫮  __fortran,  ⮡
       뢠 㭪樨 pp,  뢠  ᯮ짮-
        ᯥ樠쭮 ᮣ襭,  뢠 ᥢਥ 
       䠩 -  "stddef.h".

       WATCOM C/C++32  ।। ப fortran  _fort-
       ran   祢 ᫮ __fortran.

  __interrupt
       WATCOM C/C++32 ন 祢 ᫮ __interrupt, -
        뢠 㭪樨,     ணࠬ  ࠡ⪨
       뢠.

                                - 206 -


       ਬ:
                 #include <i86.h>

                 void __interrupt int10 (union INTPACK r)
                 {
                      .
                      .
                      .
                 }

        ꥪ⭮    㤥 pp ,  ⮡
       ࠭  p.    p  ⥪  
       p થ ⠪, ⮡    뫮 뫠, -
        ꥤ "INTPACK",     ਬ DOS -
       .    ꥪ⭮  㤥 pp  
       ᯥ祭 㥬 ᥣ  ணࠬ,  ᪮
       ᮤp pp DS 㤥 ।᪠㥬.  室  㭪樨
       㤥 p    "IRETD".

       WATCOM C/C++32 ।।  interrupt   interrupt
         祢 ᫮ __interrupt.

  __export
       WATCOM C/C++32 ন 祢 ᫮  __export,  ⮡
       뢠  㭪権  㣨 ꥪ⮢,   -
       ஢  Microsoft  Windows,  ᪮  ⥪
        (DLL) OS/2,   PenPoint DLL.  .  ⠪ ᠭ
       樨 "zu".

       ਬ:
              void __export _Setcolo (int color).
              {
                      .
                      .
                      .
              }

       WATCOM C/C++32 ।।  _export  -
        祢 ᫮ __export.

  __loadds
       WATCOM C/C++32 ন 祢 ᫮  __loadds,  ⮡
       뢠 㭪樨,   ॡ ᯥ᪮ 㧪 -

                                - 207 -

        DS,  ⮡ ⠭ 㥬  ᥣ 
       㭪樨.   祢 ᫮   ᠭ 㭪樨, -
        㤥   Microsoft Windows,  -
       ⥪  (DLL) OS/2,  PenPoint DLL. . ⠪ -
        権 "nd"  "zu".

       ਬ:
              void __export __loadds _Setcolor(int color)
              {
                      .
                      .
                      .
               }
       ᫨ 㭪  ᪮ ⥪  OS/2 ॡ
       㯠   private,  ॣ ᥣ   -
       㦠 ᮮ⢥騬 祭,  ᪮  㤥 ᮤ-
        祭 DS 뢠饩 pp p 室  㭪.

       WATCOM C/C++32 ।।  __loadds   -
        祢 ᫮ __loadds.

  __saveregs
       WATCOM C/C++32 ᯮ 祢 ᫮ __saveregs, ஥
          ਡ⮬,   ᯮ㥬   㣨   p
       C/C++,  ⮡ 뢠 㭪,    ࠭ 
       ⠭  ॣ.   㬮砭,  ॣ -
       ࠭   ⠭  ணࠬ,  㥬묨  
       WATCOM C/C++32.

       WATCOM C/C++32 ।।  _saveregs  -
        祢 ᫮ __saveregs.

  __stdcall
       祢 ᫮ __stdcall  ᯮ짮  㭪樮-
        ᠭﬨ  㪠뢠,   ᯮ짮 ᯥ樠-
         ᮣ襭  맮.   ᮣ襭  맮  -
       ࠢ p⨢ #pragma.

  __syscall
       祢 ᫮ __syscall  ᯮ짮  㭪樮-
        ᠭﬨ  㪠뢠,  ᯮ㥬 ᮣ襭  맮-
        ᮢ⨬  㭪ﬨ, p묨 OS/2 2.x.  ᮣ-
       襭  맮  ࠢ ४⨢ #pragma.


                                - 208 -

  __far16
       WATCOM C/C++ 32 ᯮ 祢 ᫮ __far16, ஥ -
        ᯮ짮, ⮡ । 16-pp來 far 㪠-
         (16-pp來 ᥫ  ᬥ饭   16 pp鸞)  far
       16- pp來 㭪樮 ⨯.  祢 ᫮ -
         ᯮ짮    OS/2 2.0,  ⮡ 뢠 16-pp來
       㭪樨  32-pp來 pp ᪮ (flat) . 
       p㬥  ⮬᪨ ८ࠧ뢠  16-pp來
       楫,   32-pp來 㪠⥫  pp뢠  -
        far 16-㪠⥫ । 맮 ᯥ樠쭮 "㬠饣"
       ஢  p ࠢ  16-pp來 㭪樨.

  __Seg16
       WATCOM C/C++32 ᯮ 祢 ᫮ __Seg16, ஥ -
          ᠬ 㭪  祢  ᫮  __far16  ᠭ
       .

       7.13. WATCOM  ꥪ⭮ 

       p WATCOM C/C++32 ⮨    ⮢,
    뢠 "砫 ⠯"  "  ⠯".  H砫
  ⠯ - p,   ᨭ⠪  ᥬ⨪ 몠 AN-
  SI C.  H砫 ⠯ ࠭᫨   pࠬ    ஬
  ,  뢠   ⠯.  ⠯ - -
   ꥪ⭮ ,   ८ࠧ뢠    ஬
    設   ⠢    ꥪ 䠩.
        奬 믮     QNX.  騩 p-
  㭮      ஢  室 䠩  
  ᮧ ꥪ⭮ 䠩.

  Ŀ     Ŀ      Ŀ
                       WATCOM C                            
   室 -- > p -->  pp -- >  ꥪ 
   䠩                                           
             

     㭮 7. pp 

       p p⠫  让 large (让 ,  訥 -
  )   .  ᫨ p p WCGMEMORY ⠭,
   ꥪ⭮  ᯮ ⠪  ,  ॡ-
  , ⮡ 믮 ⨬.  ⠪,   ᯮ짮 
  㯭   p.  ꥪ⭮  믮
  ⠪ ⨬樨  㤠  ࠦ,   -

                                - 209 -

   ⮪,  ⠪ .
          ,    ꥪ⭮   
   ⨬ ,  ᫨   ᯮ짮  .
   㪠뢠 
     not enouth  memory to optimize procedure 'xxxx'
     ( 筮  ⮡ ⨬஢ 楤 'xxxx')

       ᮮ饭     ࠭ p 樨 室 p-
  p.  ⠪ 砥,  ᫥   㯭 -
     ꥪ⭮ .

       樠쭠 ६ p  ᯮ짮, ⮡ -
   ଠ  ᯮ짮   ⠭  ࠭-
    ᯮ짮   ஬ ꥪ⭮ .  p
  p WCGMEMORY  ᯮ짮       ꥬ
  ᯮ㥬  ஬  ꥪ⭮     ࠡ祩 -
  .

       ਬ:     $ export "WCGMEMORY=?"

        ⢮  㪠뢠 "?",  ⮣  -
  ⭮    㤥 ᮮ ᪮쪮  ᯮ짮,  ⮡
  ஢ .
         ⠪ ᯮ짮,  ⮡ ஢ -
   ꥪ⭮  । 䨪஢ ꥬ   -
  祩 .

       ਬ:     $ export "WCGMEMORY=128"

        ⢮   㪠뢠 "nnn",  ⮣ 筮 "nnn"
   㤥 ᯮ짮.  㯮⮬ ਬ, p訢
  128  .  ᫨   祬 "nnnK" 㯭,  ⮣ p 㤥
  ⢫ 室  ᮮ饭  ⠫쭮 訡. ᫨  祬
  "nnnK" 㯭, ⮣ ⮫쪮 "nnnK" 㤥 ᯮ짮.
         稭,  祬   ᮡ  
  祭 .
        饬, 祬   㯭  ꥪ⭮ 
  ⥬,    ⨬   㤥 ஢.   ࠧ,
    ᮭ ஢  ࠧ묨 ꥬ , -
    ꥪ⭮     ந ࠧ (  -
  ) ꥪ . ᫨   ॡ ᯥ, ⮡
    ᠬ १ ( , ) ᮧ   ࠧ
  p, ⮣ ᯮ 襮ᠭ . ⮡ -
  ஢       ᮭ   ࠧ-

                                - 210 -

  묨 䨣ﬨ ,    ࠭஢,   p-
    p  WCGMEMORY ⠭ 筮   -
  p.

       7.14. ⥪ WATCOM C/C++

        pp WATCOM C/C++32 뢠   p㪮-
  ⢠ "ᠭ ⥪ WATCOM /++32  QNX",   "ᠭ -
  ⥪ ᮢ WATCOM C++".  ⥪ WATCOM C/++ ࠧ  
  ⠫ /usr/lib.
                                  /usr
                                   
                     
                                            
                        lib                include
                                            

        讬      c⥣ 樨
  ꥪ⭮   ᥬ⢥ pp 80x86, p⠢ p
  ᨩ ⥪.   ᯮ짮 ⥪,  ᮢ-
    p⭮ ⥣ 樨 ꥪ⭮    
  ,      ࠫ.   롮p ⨯ ⥣ 樨
  ꥪ⭮   ,    । ᯮ짮,
  p  ᠭ 樨 "m?"    砫 ⮩ .
     ᯥ稢 WATCOM C/C++32  뢠  
   "  ".
        ࠫ ⮥ ᮣ襭    ⥪,  -
   p⠢ WATCOM C/C++32.  ᮥ  -
   䠩, ⮡ 㪠뢠 㠫 ⥣,  ன -
    ⥪ ஢.
       3R 砥  ⥪ WATCOM C/C++32,    
  ᯮ짮  ணࠬ,    ஢    "-
  /쪨"  "flat/small"     ,   ᯮ   樨
  "5r","4r"  "3r".
       3S 砥  ⥪ WATCOM C/C++32,    
  ᯮ짮  ணࠬ,    ஢    "-
  /쪨"  , ᯮ 樨 "3s","5s  "4s".
       ⥪ WATCOM C/C++32 p .

  lib3r.lib (flat/small , 樨 "3r","4r"  "5r")

       7.14.1. ⥪ ᮢ WATCOM C/++32

        pp  ᮢ  WATCOM  C/C++32 뢠 

                                - 211 -

  p㪮⢥ "⥪ ᮢ WATCOM C++".

       32-pp來 ⥪ ᮢ  WATCOM  C++  p  .
  (⥪ ᮢ Iostream  string)

     plib3r.lib (flat/small , 樨 "3r", "4r"  "5r")
     plib3s.lib (flat/small , 樨 "3s", "4s"  "5s")
     (⥪ ᭮   樨 "fpc")
     cplx3r.lib (flat/small , "樨 3r", "4r"  "5r")
     cplx3s.lib (flat/small , 樨 "3s", "4s"  "5s")
     (⥪ ᭮   権 "fpi... ")
     cplx73r.lib (flat/small , 樨 "3r", "4r"  "5r")
     cplx73s.lib (flat/small , 樨 "3s", "4s"  "5s")

      ⥪   ᯮ㥬  樮  ⥬.
     䨪  "3r"  "3s" ⭮  ᯮ㥬 ᮣ襭  -
     । p㬥⮢.
     "7" 砥 ⥪ 㥬  樥 "7".

       7.14.2. ⥬᪨ ⥪ WATCOM C/C++ 32

        饬, ⥬᪠ ⥪ ॡ,  ᫥
   饩 ⮩   ணp.  ⥬᪨ -
  ⥪ ᨬ  樮 ⥬.  ⥬᪨ ⥪
  室  ⠫ /usr/lib.
       騥 樨 p,  ⮡   ⥬᪨ -
  ⥪ 砫   ணp.

       1)  ᯮ   ᪮쪮 㭪権,  ᠭ 
  䠩,  math.h  뢠,  ⮣ ⥬᪠ ⥪ 
  .

       2) ᫨ p  pp  ᮮ饭

      "_fltused_ is an undefined reference"
                (" । 뫪 ")

      ⮣ ⥬᪠ ⥪  .

       3) ᫨ p  () ணp  ᮮ-
  饭

      "__init_387_emulator is undefined reference "


                                - 212 -

  ⮣   㫥  ணp ஢      権
  "fpi",  "fpi87",  "fp2",  "fp5  "fp3". ᫨ ᯮ짮 
  "fpi", ⥪ 樨 80x87 (emu387.lib)   
   ணp.

       ᫨  "fpi87" ᯮ짮,   ⥪ 樨
  8087 noemu387.lib     ணp.

       筮, p  騪  ⮬᪨    
  ⮬.  ࠭,  p p WATCOM 砥 -
   ⥪ WATCOM C/C++ 32.


       7.14.3. ⥬᪨ ⥪ 8087 WATCOM C/C++ 32

          ᫥  ⥬᪨  ⥪  ᯮ짮-
  ,  ᫨   㫥 襩 ணp ஢  -
    権 WATCOM C/C++ 32 "fpi", "fpi87", "fp2", "fp3"  "fps"
    ணp ॡ প 饩 ⮩    p稭,
  㪠 .

  ath387r.lib ( flat/small, 樨 "3r", "4r"  "5r")
  emu387.lib (⮫쪮 QNX)

        "Fpi" ⠢ p  ᫮    
  8087    ணp     ⥬-
  ᪨ ணࠬ 8087,  뢠.  QNX,  
    8087,   ᯮ ⠪,   
        p⭮  p.    
  㤥  ஢    㫨஢   80x87,   80x87 
  ।⠢  ⥬.
          "fpi87"  ᯮ ᪫⥫쭮,   
  砥.  ⮬ 砥, ⮣ ணp  믮 
  ⥬, 㤮 ᫮ ஬ .

       7.14.4. p⨢  ⥬᪨ ⥪
               WATCOM C/C++ 32

         ᫥ ⥬᪨  ⥪    ᯮ짮-
  ,  ᫨   㫥 襩 ணp ஢  -
  樥 "fpc" WATCOM C/C++ 32   ணp ॡ প  -
  饩 ⮩  稭,   .  騥 ⥬᪨
  ⥪  প 饩 ⮩,   १
  맮  ६ 믮.

                                - 213 -


     ath3r.lib ( flat/small, 樨 "3r", "4r"  "5r")

       ਪ ணࠬ,       -
  ⥪  ॡ ᫮    権  -
  饩 ⮩. ᫨  ।⠢  ⥬,  㤥 ᯮ짮-
  ;  樨  饩 ⮩  ணࠬ.

       7.15. pp 樠樨  p 믮
             WATCOM C/C++ 32

       室 䠩      ᫥⥫쭮 ᪠
  ( 樠樨) p pp WATCOM C/C++ 32.  䠩
  ࠧ  ⠫:

   /usr/lib/src/startup (樠 QNX)

        p p ᯨ᮪ p⮢ 䠩  QNX.

     strt386.asm  (    small)
     mdef.inc      ( 祭   cstrt386.asm)
     main.c       (᫥   ᫥⥫쭮  樠-
                    樨)

        ᥬ cstrt386.asm ᮤন    -
  樨   ⠫쭮 த  䠩 cmain.c.   cmain.c
  뢠   ணࠬ  (main).  p⠢  室
  ⥪      ࠨ ᫥⥫쭮 樠-
  樨  ᯥ樠 ਪ ணࠬ.

       8. ⥪ 80386

       8.1. 

       p   ய 386 ⮨   8  㭨-
  ᠫ 32-pp來 ॣ஢, ᯮ㥬 ० ᥣ, ⮡
  ᮤঠ ࠭  䬥᪨  ᪨ 権, 6 ᥣ-
   pp,  ।  ᥣ  -
  ,   pp   , ᯮ㥬 ⮡ 뢠 
   ᯥ ﭨ pp 386.

       8.2. pᠫ p

       ᠫ ॣ  EAX, EBX, ECX, EDX, EBP, ESP,

                                - 214 -

  ESI  EDI.   襣 ࠧ鸞  ॣ஢    ࠧ
        ᯮ짮  ࠡ⪨ ⮢   16
  pp鸞.  -᫮ 뢠 AX,  BX, CX, DX, BP, SP, SI 
  DI.    ᫮ ॣ஢ AX,  BX, CX  DX  ⤥쭮
  .  ⮢ p  AH, AL, BH, BL, CH, CL, DH  DL 
    ࠡ⪨ ᨬ  㣨 8-pp來 .

               31            15              0
               Ŀ
                                  AX       
          EAX               Ĵ   p
                              AH     AL   
               
               Ŀ
                                  BX       
          EBX               Ĵ
                               BH            
               
               Ŀ
                                  CX       
          ECX               Ĵ   
                              CH     CL   
               
               Ŀ
                                  DX       
          EDX               Ĵ   
                              DH     DL   
               
               Ŀ
          EBP                     BR        ⥫ 
               
               Ŀ
          ESP                     SR        ⥫ ⥪
               
               Ŀ
          EDT                     DI         p
               
               Ŀ
          ESI                     SI         筨
               

                      p 80386

                  㭮 8. p 386

                                - 215 -

        㭨ᠫ  ॣ  ᯮ짮  樨
  ᫥   १⮢ 設⢠ 䬥᪨   -
    ᫥.  ,   ॣ  ⠪ ᯥ᪨
  㭪樨. ,  ᯮ ᯥ᪨ ॣ -
   㬭     筮, /뢮,  -
    ப묨 묨,  p樨, 横, p ᤢ
   饭,  p権  ⥪.

       8.2.1.  EAX

        EAX ⥭  p.  䬥᪨
  樨  ᯮ  ॣ.  ਬ,  㬭-
     ॡ ਬ ॣ EAX.  /뢮
  ⠪ ᯮ  ॣ  뫪   ன -
  /뢮   386.

       8.2.2.  EBX

        EBX  (   ᥣ pp DS) ᯮ,
  ⮡ 㪠뢠  ࠭᫨ ⠡   XLAT.

       8.2.3.  ECX

        ECX ⥭  ॣ 稪. ஬ 㭨ᠫ쭮
  ॣ,  ॣ ECX ᯮ  ⨢ 稪  -
   横 (LOOP/LOOPE/LOOPZ,  LOOPNE/LOOPNZ, JECXZ)  p饭
  (CMPSB/CMPSW/CMPSD,      LODSB/LODSW/LODSD,      SCASB/SCASW/SCASD,
  MOVSB/MOVSW/MOVSD, STOSB/STOSW/STOSD).

       8.2.4.  EDX

        EDX ⥭  ॣ .  ᯮ -
      㬭   .   DX (16 ⮢ 襣
  ࠧ鸞 ॣ EDX)  ⠪ ᯮ짮     
    IN  OUT.

       8.2.5. p ESP  EBP

        ॣ  ᯮ ᥣ ⥪ (SS)  祭 ᫥-
    . ⥫쭮,   ᯮ짮  -
  㯠   ,   ﭭ 室  ᥣ ⥪.  -
   ESP  ॠ ⥪   ,  ᫥⥫쭮,  
    ⭮   㪠⥫ 設 ⥪.   ⨯ PUSH 
  POP p   ⨬ ॣ஬.  ⥫   (EBP)  

                                - 216 -

  ⠪  ᯮ짮   㯠    ᥣ ⥪.  
  ॣ 筮 ᯮ, ⮡ 뫠  ࠬ  -
   ६  ⥪.

       8.2.6. p EST  EDT

        㭪   pp 室  p  p-
  .  pp  (DS) ᮢ⭮  pp ESI p-
  p p 筨 p.  p ᥣ pp (ES) ᮢ-
  ⭮  pp EDI pp p p p.

       8.3.  pp

       6  pp 뢠 CS,  DS,  ES, SS, FS and GS.
    ᥣ pp 뢠 p᭮ pp⢮  4 -
   (4GB).   p 뫠  ᥣ pp 
  㬮砭.  設⢥ 砥,  㬮砭   
  ⥬ 㪠 ᮢ⭮  p p樨 㦭 ᥣ⭮
  pp.

      15                      0
      Ŀ
  CS                             Code Segment    
      
      Ŀ
  DS                             Data Segment    
      
      Ŀ
  ES                             Extra Segment  p ᥣ
      
      Ŀ
  FS                             Extra Segment  p ᥣ
      
      Ŀ
  GS                             Extra Segment  p ᥣ
      
      Ŀ
  SS                             Stack Segment   ⥪
      

                  㭮 9.  pp
.
                                - 217 -


       8.3.1  C

        C ⥭  ॣ ᥣ .  ᥣ-
    ᯮ ᮢ⭮  㪠⥫ ,  ⮡ ।-
    ,  㦭 믮.

       8.3.2.  DS

        DS ⥭  ॣ ᥣ . 뫪  -
    ⭮⥫쭮 ⮣ ॣ.

       8.3.3. p ES, FS  GS

       p ES, FS  GS - ⥫ ᥣ ॣ -
  .   ES ᯮ  ᫥    -
   権  ப.

       8.3.4.  SS

        SS  ⥭  ᥣ ॣ ⥪.   SS
  ᯮ  ᫥  ,  pp-㪠-
  ⥫ EBP  ESP.

       8.4. ⥫ 

       ⥫  (EIP) - 32-pp來 ॣ,   -
   ᬥ饭  ᭮  ࠭⢥,  ।  ᥣ
  ॣ஬ CS ᫥饩 ,  㦭 믮.

       8.5.  䫠

        䫠 - 32-pp來 pp,  EFLAGS, -
   ᮤন p ⮢ ﭨ.    ॣ   뢠
  ॣ  ﭨ.    ⮬ ॣ ஭㬥஢  0  31,
   0 ᠬ 訩 ࠧ  31 - 訩 pp.   386 p-
   ⮫쪮 pp 0, 2,  4,  6, 7, 8, 9, 10, 11, 12, 13, 14, 16 
  17.  騥 pp ppp.  16 ⮢  ࠧ冷
  EFLAGS 뢠    ࠡ뢠   .
   ᮡ   믮  8086  286,  ⠪    
    EFLAGS  筠 ॣ FLAGS 8086  286.  H  
   ﭨ pp 䫠.  p   ᠭ  
  ⤥쭮  ,  ⮡ ᬮp  䥪  㤥 ,
       pp 䫠.

                                - 218 -


                            
  31                                                             16
  Ŀ
                                             VM RF
  
  15                                                              0
  Ŀ
      NT  IOPL   OF DF IF TF SF ZF    AF    PF    CF
  

                   㭮 l0. p 䫠

  :         ᠭ:

  VM         = p㠫 p 8086

  RF         =  

  NT         =   

  IOPL       = p pp /뢮

  OF         =  p

  DF         =  p

  IF         =  pp뢠

  TF         =  誨

  SF         =  

  ZF         =  

  AF         =  ᯮ⥫쭮 p

  PF         =  p

  CF         =  p

                                - 219 -

       8.5.1. 㠫  8086

        䫠  ⠭ 㪠뢠,    믮 ண-
  ࠬ 8086.

       8.5.2.  

        䫠 ६ ⪫砥 ᪫祭 (᪫⥫ -
  ) ⫠ ⠪,     १᪠ ᫥ ᪫-
  ⥫쭮 樨 ⫠   ஦ 㣮 ᪫-
   ⫠.

       8.5.3.   

        ᯮ  䫠,  ⮡ ࠢ ନ஢
  楯窨 뢠  뢠 .

       8.5.4. ஢ pp /뢮

        ᯮ,  ⮡  ࠭稢  ਬ   -
  -뢮.

       8.5.5.  ७

        ७ - ࠧ 0 pp ﭨ   뢠  CF.
  CF ࠦ ७  襣 ࠧ鸞 ᫥ 䬥᪮ -
  樨. CF ⠭  1 (),   ७. CF -
  ⠭  0 (),    ७.

       8.5.6.  ⭮

        ⭮  (p) - ࠧ 2 pp 䫠  뢠-
   PF. PF ⠭  1 (),  १p騥 -
   8 pp冷 樨   ⭮ ᫮ ⮢ 1. ⭮
  ᫮ ⮢ 1 ਢ  ⠭ 䫠 PF  0 ().

       8.5.7.  ᯮ⥫쭮 ७

        ᯮ⥫쭮 p - ࠧ 4  pp  䫠  
  뢠 AF.  AF ।⠢  ᥡ 4-pp來 (㡠-
  ) ७, .. ७   3  8-pp來  .
  AF ⠭  1 (),   ७. AF ⠭-
    0 (),    ७.


                                - 220 -

       8.5.8.  

         - ࠧ 6 pp 䫠   뢠  ZF.  ZF  
  1(),   १ ᫥ - . ZF ⠭ 
  0 (),  १ ᫥  .

       8.5.9.  

         - ࠧ 7 ॣ 䫠  뢠 SF.  SF -
  ⠭ ࠢ 襬  १ ᫥.  SF -
    1 (), ᫨ १ ⥫. SF ⠭-
    0 (), ᫨ १  ⥫쭠 稭.

       8.5.10.  誨

        誨 - ࠧ 8 pp 䫠  뢠 TF. 
  ⠭, TF p ய 386  p 蠣 p-
  .   ,   믮,  TF ⠭, -
  稢 p樥 ணࠬ 뢠.   p -
  ,  ⥫쭮 ᫥ 믮塞 .

       8.5.11.  pp襭 뢠

        pp襭  pp뢠 - ࠧ 9 pp 䫠  -
   IF.  IF । ᪠  ࠡ⪠  뢠  
  p頥.   IF ⠭  1 (H), 뢠 ᪠-
  ;  IF  0 (), 뢠 p. ⠭ IF -
  ࠢ  CLI  STI.

       8.5.12.  ࠢ

        ࠢ  - ࠧ 10 pp 䫠  뢠 DF.
  DF । 㢥稢   㬥  p  樨  ᢮
  ࠭.   DF p 1 (),  ࠭  pp-
  ;  DF p 0 (), ࠭  pp.
  ⠭ DF ࠢ  CLD  STD.

       8.5.13.  ९

        ९ - ࠧ 11 pp 䫠  뢠 OF.
  OF ।⠢ ९ 稭   筮 䬥-
  .  OF ⠭  1 (),  १ 16-pp來
  ᫥ ॢ蠥 32767  १  32-pp來  ᫥
  ॢ蠥 2147483647 ( 砥,   १ - ⥯ -

                                - 221 -

  ⥫)      祬  -32768,    砥    16  pp鸞  
  -2147483648    砥  32 pp鸞 ( 砥,   १
  ⥯ ⥫). OF ⠭  0 (),  १
  ᫥  ९.

       8.6. ᫥ ᯮ⥫쭮 

       ᫥ ᯮ⥫쭮  ⮨  롮ન  
  롮ન .  롮ઠ  뢠,   믮  ⮪
  ࠢ.  롮ઠ  뢠,     뢠
  pp.

       8.6.1. 롮ઠ 

        pp  (CS) ।    pp-
  ⢮,   ண  롨 .  饭 ᫥饩 -
  ,   ᥣ  ᮤন  pp 㪠⥫
    (EIP).  ᫥  롮ન  ॣ EIP 㢥稢 
  ࠧ .   室  맮   ⠢  EIP
   ६ ⥫묨 ᯮᮡ.

  ⭮⥫ 㪠⥫ 
        ᮤন 8-  32-pp來 ᬥ饭,  ஥ -
         EIP   ᬥ饭.   , -
        롮p, 室  ⮬  .  뢠-
        pᥣ⭮ 樥, ⠪    ਢ  -
        ᥣ ॣ஢.

  ﬠ 
        ᮤন 16-pp來 祭  ᥣ  32- p-
       p來 祭  ᬥ饭,   㦠  CS   EIP
       ॣ  ᮮ⢥⢥.   뢠 ᮫ 室 
       맮 (call)       386.  ᪮  
         ਢ   ᥣ⭮ ॣ  pp
       EIP,  뢠 ᥣ⭮ 樥.

  ᢥ 
        , 뢠  -  筮 32-pp來
       祭  32-pp來 祭    16-pp來  祭.
       ᫨ 筮 祭  32 pp鸞 ,  ᯮ-
          祭  EIP.  ᫨ ⠪ 㪠뢠 -
       祭  16 pp鸞,    ᮤp ॣ CS.

       8.6.2. 롮ઠ 

                                - 222 -


       騥 ࠧ  뢠  ᯮᮡ 樨,  㯭 
   386.

       8.6.2.1. ﬠ 

       ﬠ  - ᠬ ⮩ ᯮᮡ 樨   386.  16
   32  ᫥   樨 । ᬥ饭,  ஥
  p ꥤ  ॣ஬ ᥣ  (DS)  ।  
  .

       8.6.2.2. ।⢥ 

       ।   ᯮ짮   ᠬ -
  .   ࠭ 뢠 ।⢥묨  ࠭.  -
  ।⢥ ࠭   8, 16  32-pp來묨.

       8.6.2.3.  

       饭 ࠭ । ᢥ    㭨pᠫ-
   ॣ஢.   ESP  EBP 㪠뢠   ॣ,
  p㬥  ᥣ pp SS,   p㬥 ᥣ-
   pp DS.

       8.6.2.4.   + ᬥ饭

        ᯮᮡ 樨 ⮨  ॣ, 뢠  
  ᬥ饭.   ॣ  ᬥ饭  oꥤ  ᯮ-
  ᮡ.

       1) 饭 । ᬥ饭 砫  ᨢ.    -
           ᮤন १ ᫥,  ஥  ᬥ-
          饭 ⤥쭮   ᨢ.

       2) 饭 㪠뢠  ꥪ p ,     -
           㪠뢠  p .

       8.6.2.5. p ( * ⠡) + ᬥ饭

        ᯮᮡ 樨 砥  ॣ,  樥
  ⠡p  ᬥ饭.  ॣ஬    
  㭨pᠫ  ᪫祭 ESP.    䥪⨢ -
    ᪮ ᨢ.  饭 ।  砫  ᨢ,
    ॣ  ᮤন  祭   ᨢ,   ⠡

                                - 223 -

  ।⠢ ࠧ  ᨢ. 祭 樥 -
  p   1, 2, 4  X.

       8.6.2.6 p  +  + ᬥ饭

        ᯮᮡ 樨 砥  ॣ,   -
    ᬥ饭.   ᯥ稢 ᫥騥 㭪樨.

       1)  ॣ ᯥ稢 嬥p ᨢ p祬 ᬥ饭
          । 砫 ᨢ.

       2)  ॣ  㠫   ᨢ
          ᥩ,  ᬥ饭 㪠뢠  ꥪ  .

       8.6.2.7. p  + ( * ⠡) + ᬥ饭

        ᯮᮡ 樨 ᯥ稢 䥪⨢  -
  p ᨢ,   ࠧ  ᨢ 1,  2, 4  8 -
  ⮢.

       9.  

       9.1. 

         뢠 ࠧ    ,  p
  WATCOM C/C++ 32.     ⫨砥  ᢮⢠:
   ,  ᯮ㥬,  ⮡ 믮 饭  㭪樨  
   , ᯮ㥬, ⮡ 뫠  .

       9.2.  

          :

       1) 쪠 (small)   

       2)  (big)  .

       쪠   -  ,  ன  맮  㭪-
      (near) 맮.  p  맮,  
  p 32-pp來  ⭮⥫  祭 ᥣ  ᥣ-
   pp CS.  ⥫쭮,   쪮  ,  
  襩 ணࠬ,    㭪樨,    
  祬 4 ,
          -  ,   ன  맮  㭪

                                - 224 -

    쭨 (far) 맮.  쭥 맮  p-
   48-pp來 (l6-pp來 祭 ᥣ  32-pp來 ᬥ-
  饭 ⭮⥫쭮 祭 ᥣ).    ࠧ
   ணࠬ ॢ 4 .

       砭: ᫨  ணࠬ ᮤন  祬 4 
                ,    ᯮ짮   , 
                ᯮ      .    ਢ 
                襬   ஬ , ᪮  -
                  ᯮ    ࠡ뢠 -
                ॥ .

       9.3.  

          :

       1) 쪠 (small)   

       2)  (big)  .

       쪠   -  ,   ன  뫪  -
          (near)  㪠⥫ﬨ.   㪠⥫
  32-pp來;  뫪   ⭮⥫쭮 祭 ᥣ-
    ᥣ⭮ ॣ DS.  ⥫쭮,   쪮 
  ,  , 騥  襩 ணࠬ,   
  祬 4 .
          -  ,   ன  뫪  
     (far) 㪠⥫ﬨ.  㪠⥫ 48-pp-
   (16-pp來 祭 ᥣ  ᬥ饭  32 pp鸞 ⭮-
  ⥫쭮   祭 ᥣ).   㤠 ࠭祭  4 -
    ࠧ ,  뢠 쪮  . -
  ,    㪠⥫ 㢥稢,  ⮫쪮 ᬥ饭 p-
  pp. WATCOM C/C++ 32 p,  -ᬥ饭 
  㪠⥫   㤥 㢥稢  4 .  p 㤥
   ꥪ  ᥣ, ᫨ 㯯஢   ᥣ
  㤥 ⠢ ꥪ ᥪ ࠭ ᥣ. p㬥-
   ॡ,  ⮡  㠫 ꥪ   ॢᨫ  4
    pp.

       砭: ᫨  ணࠬ ᮤন  祬 4 
               ,    ᯮ짮    -
               .    㤥 ਢ  襬   ஬
               ,  ᪮ 뫪, ᯮ  㪠-
               , ᯮ 襥 ⢮ .

                                - 225 -


       9.4.  

        p 㯮,    -   
    .   ⠡ 뢠   p-
   WATCOM C/C++ 32.

                          ⥫      ⥫
                                      
                                            㬮砭      㬮砭
  --------      --------       --------     --------       --------

  flat          small          small        near           near

  small         small          small        near           near

  medium        big            small        far            near

  compact       small          big          near           far

  large         big            big          far            far


       9.5. ᪠ (FLAT)  

        ᪮ (flat)  ,     ணp 
    祬 4   ࠧ.  ॣ CS, DS,
  SS    ES  㪠뢠    ᠬ  ᭮ ࠭⢮
  (  砥,  ᥣ ॣ ᮤঠ   ᠬ -
  祭).      ᬥ饭   ᥣ⭮ ॣ ⭮-
    ⮩  祩 ,    ᬥ饭  㣮 ᥣ. 
  ,  ᪠  㭪樮 ⠪,     
  ᥣ⮢.

       9.6. 蠭  

       pp ᬥ蠭   ꥤ   ࠧ-
       .  pp ᬥ蠭   
  ࠪਧ  ,  p ᯮ 祢 ᫮  near,
  far  huge  ᠭ   㭪権  ꥪ⮢ .
       ਬ, pp   medium,    ᯮ
  ᪮쪮 far 㪠⥫  ,   뢠  ᬥ蠭-
    .  ணp ⨯ ⮣, 設⢮  -
     4 ⮢ ᥣ (DGROUP) ,  ᫥⥫쭮,  

                                - 226 -

  뢠   (near) 㪠⥫ﬨ ⭮⥫묨   祭
    ᥣ⭮ ॣ ᥣ DS.   ਢ  p樨 
  䥪⨢   訬 ६ 믮,  祬   
   让  . ꥪ   ᥣ DGROUP -
    祢 ᫮ far.

       9.7.  ணࠬ  p  

          ॡ ࠧ ⥪  ६  -
    ⥪  饩 ⮩.   ⥪ ਭ-
   p      ⮫쪮  -
  ﬨ,  ஢  ⮩  ᠬ  . -
   ⠡ p ⥪,   ᯮ짮,
  ⮡  pp,  ஢  p⭮
   .   饥 ६ p⠢ ⮫쪮 ⥪
   ᪮ (flat)  쪮 (small)  .

           ⥪   ⥪        ⥪
           p      饩         饩 ⮩
                 믮   ⮩ (8087)   (맮 ..)
     ----------  ----------   ---------------    -------------------
     flat/small  clib3r.lib   math387r.lib      math3r.lib
                 clib3s.lib   math387s.lib      math3s.lib
                 plib3r.lib   cplx73r.lib       cplx3r.lib
                 plib3s.ib    cplx73s.lib       cplx3s.lib

        "r"  "s",   ᮥ      䠩,
  㪠뢠  p ⥣,  ன p 㫨
   ⥪.

       r 砥 ᨨ 32-pp來 ⥪  WATCOM  C/C++  32,
   ஢  "᪮  쪮"  ,
  ᯮ 樨 "3r", "4r  "5r".

       s 砥 ᨨ 32-pp來 ⥪  WATCOM  C/C++  32,
   ஢  "᪮  쪮"  ,
  ᯮ 樨 "3s", "4s"  "5s".

       9.8 䨣p 

        뢠 p冷 ᥣ⮢   pp,  㥬
  騪  (pp 痢) WATCOM.   ,  
  p㬥 㪠 樨 騪 "DOSSEG".


                                - 227 -

       1)  ᥣ "USE16".   ᥣ   pp-
  ,    믮   ॠ쭮 ० ⠪   饭
  p.     ᫥⥫쭮 ᥣ⮢ ⠪, ⮡ 
  ᯮ짮   "REALBREAK" ४⨢ "RUNTIME"  ⤥
   pp  ॠ쭮 ० 믮     -
  饭  ० 믮.   饥 ६  ⨬ ⮫쪮
   ᯮ塞 䠩 Phar Lap.

       2)  ᥣ,   ਭ騥  㯯  "DGROUP",  騥
   "CODE"

       3)  ᥣ,  ਭ騥  㯯 "DGROUP"

       4)  ᥣ,  ਭ騥 㯯 "DGROUP", 騥 
  "BEGDATA"

       5)  ᥣ,  ਭ騥 㯯 "DGROUP",    -
  ᮬ "BEGDATA" "BSS"  "STACK"

       6)  ᥣ, ਭ騥 㯯 "DGROUP"  ᮬ "BSS"

       7)   ᥣ,  ਭ騥  㯯  "DGROUP"    ᮬ
  "STACK"

       , ਭ騥  "BSS", ᮤঠ 樠-
   . ,   ⮫쪮  樠஢-
     ᥣ,  ਭ 㯯  "DGROUP".  ,
  ਭ騥  "STACK",  ᯮ ⮡ । ࠧ
  ⥪,  ᯮ㥬  襩 ணp.  , ਭ騥
  ᠬ  "BSS"  "STACK",  ᫥  ᫥⥫쭮 ᥣ⮢
  ⠪,   樠஢       -
  塞 䠩.

       ஬  ᯥ樠 ᥣ⮢, ᫥騥 ᮣ襭 ᯮ-
   WATCOM C/C++ 32.

       1)  "CODE" ᮤন 믮   襩 pp. 
  쪮   ,   ⮨  ᥣ "_TEXT".   让
   ,  ⮨  ᥣ⮢ "<module>_TEXT ",  <module>
  -  䠩 室 ⥪⮢.

       2)  "FAR_DATA"  ⮨  ᫥饣:

       (a) ꥪ ,  祩 ࠧ ॢ蠥 ண   -

                                - 228 -

                   (ண  p  32  ,
               ᫨    樥 "zt" p)

       (b) ꥪ  ,  ᠭ  ᯮ짮 祢 ᫮
               "FAR"  "HUGE"

       (c) p,  祩 ࠧ ॢ蠥 ண    -
                  (ண  p 32 , ᫨
                  樥 "zt" p)

       (d) p,  ᠭ  ᯮ짮 祢 ᫮  "FAR"
                "HUGE".

          ⬥  ᮣ襭    㬮砭 -
  㥬 p WATCOM C/C++ 32   ᥣ⮢.

       1)  "nm" WATCOM C/C++ 32  ᯮ짮,  ⮡ -
    .  ,  ᢮ ।,   ᥣ 
   ஢  让  .

       2)  "nt" WATCOM C/C++ 32  ᯮ짮,  ⮡ -
  ।  ᥣ  ᨬ  ᯮ㥬  .


       10. ࠦ  몥 ᥬ

       10.1. 

         㤥    ᫥騬 ⥬:

       1) ।⠢   ⨯,  p WATCOM
  C/C++ 32.

       2) 䨣p  pp WATCOM C/C++ 32.

       3) ⮤  p p㬥⮢   祭.

       4)   ⮤    p p㬥⮢  饩 ⮩ 
   祭  饩 ⮩.

        ⮤ ᯮ,    権 "fpi"  "fpi87"
  p  WATCOM  C/C++  32 㪠뢠  p樨 ஥
   80x87.   "fpi" 㪠뢠,  8087 -
    ⥬᪮ ⥪, ᫨ ணp 砥 樨

                                - 229 -

   饩 ⮩.   "fpi87" ᯮ ⢥,
   8087  㤥 .

       㣮 ⮤  ᯮ,    㪠뢠    WATCOM
  C/C++ 32 "fpc".  ⮬ 砥, p  맮  ண-
  ࠬ  প p  饩 ⮩  ୠ⨢ -
  ᪨ ⥪.

       p㬥  p⥪p Intel 80x86.

       10.2. ।⠢ 

        ࠧ 뢠 ७    設  ।⠢
   ⨯, p WATCOM C/C++ 32.

       10.2.1.  "char"

       ꥪ ⨯ "char"  1  .  祭 室
   ᫥饬 :

       0 7,0 n 7,0 255

       ,  "char",   㬮砭, .  WATCOM
  C/C++ 32 "j"  ᯮ짮,  ⮡  㬮砭  -
    .  ᫨ "char" , ꥪ ⨯ "char" -
  室  ᫥饬 :

       -128 7,0 n 7,0 127

          p㤨⥫쭮  ⠢  ꥪ  ⨯ "char" 
    ,  ᨬ  㬮砭   ।
    騬 ⨯ "unsigned char"  "signed char" ᮮ⢥-
  ⢥.

       10.2.2.  "short int"

       ꥪ ⨯ "short int"  2  . 祭 -
    ᫥饬 :

       -32768 7,0 n 7,0 32767

       ,  "short int"   ᫥⥫쭮 "short int"
   "signed short int" .  ᫨ ꥪ  ⨯  "short  int"
    ,   ।  "unsigned short

                                - 230 -

  int".  ⮬ 砥, 祭 室  ᫥饬 :

       0 7,0 n 7,0 65535

       10.2.3.  "long int"

       ꥪ ⨯ "long int"  4  . 祭 -
    ᫥饬 :

       -2147483648 7,0 n 7,0 2147483647

       ,  "long int"  , ᫥⥫쭮, "long int"
   "signed long int" .  ᫨ ꥪ ⨯ "long int" -
      ,     ।  "unsigned long
  int".  ⮬ 砥,  祭 室  ᫥饬 :

       0 7,0 n 7,0 4294967295

       10.2.4.  "int"

       ꥪ ⨯ "int"  4  .  祭 室
   ᫥饬 :

       -2147483648 7,0 n 7,0 2147483647

       ,  "int"  , ᫥⥫쭮, "int"  "signed
  int" .  ᫨ ꥪ ⨯ "int"   ,
    ।  "unsigned int" .   ⮬ 砥  -
  祭 室  ᫥饬 :

     0 7,0 n 7,0 4294967295

       ᫨   ,   믮    32-pp來
  ०, "long int"  "int" , "unsigned long int"  "un-
  signed int" ,   "signed long int"  "signed int" -
  .     ⠪  㣨 ।,  "int"  "short
  int" - 2 .

       10.2.5.  "float"

       ꥪ  ⨯ "float" - ਡ⥫쭮 ।⠢ -
  ⢥  ᫠.      ⨯ "float"  4
  .  ᫨ m - 稭 x ( ⨯ "float"),  ⮣ x  
  பᨬ஢ 

                                - 231 -


     25-1260 7,0 m < 25128

         ਡ⥫쭮 

       1.1754947 7 0e5-380 7,0 m 7,0 3.4028237 7 0e538

        ⨯  "float"  ।⠢ ७ ᫥騬 -
  .   ,    ࠭       ᠬ
  訬 ⮬ ᭠砫  訬 ⮬  .

     Ŀ
     -ᬥ饭멳             
      p冷                       
     
      31    30-23            22-0

       ਬ砭:

  S
       S =  p (0 = ⥫쭠,  1 = ⥫쭠 -
       稭)

  冷
       饭 浪 p 127 ( , 祭 浪 1 ।-
       ⠢ 25-126 0- 祭 浪 127 ।⠢ 2;  祭
       浪 254 ।⠢ 251270;   ..).   浪  8
       pp冷  .

  
       騩   - ᥣ 1,  ⮬   ࠭  
        .  ࠧ,  ᥣ "ଠ".
          23   .

  
       쭠 稭   ,   ࠧ, -
       冷    㫨.

  ᪮筮
          浪       p 1   
          㫥,  ⮣  稭 ।⠢ -
       ⥫    ⥫ ᪮筮,   ᨬ 
        ࠧ鸞.


                                - 232 -

   ᫮
          浪   p 1,    ⫨筮
        , ⮣  稭 - ᯥ樠쭮 祭, 뢠
       NAN (Not-A-Namber: -᫮).

           浪   p 0    ⫨筮
        ,  ⮣  稭 - ᯥ樠쭮 祭 뢠
       "denormal"  ଠ쭮 ᫮.

       10.2.6.  "double"

          ⨯  "double" - ਡ⥫쭮 ।⠢
  ⢥ ᫠. 筮   ⨯ "double" 
  祬    ࠢ  筮 ⨯ "float".     ⨯
  "double"  8 .  ᫨ m - 稭 x (ꥪ ⨯  "doub-
  le"), ⮣ x  பᨬ஢ ᫨:

       25-10220 7,0 m < 251024

     ਡ⥫쭮:

   2.22507385850727 7 0e5-3080 7,0 m 7,0 1.797693134862327 7 0e5308

        ⨯  "double" ।⠢ ७ ᫥騬 -
  .   ,    ࠭       ᠬ
  訬 ⮬ ᭠砫  訬 ⮬  .

  Ŀ
  -ᬥ饭멳                              
   p冷                                        
  
   63    62-52                    51-0

       ਬ砭:

  S
       S =  p (0 = ⥫쭠,  1 = ⥫쭠 -
       稭)

  冷
       ᬥ饭 浪 p  1023  (  ,  祭  浪  1
       ।⠢  25-10220;  祭  浪  1023 ।⠢ 1;
       祭 浪 2046 ।⠢ 2510230;  ..).  -
         11 pp冷  .

                                - 233 -


  
       騩   ᥣ p 1, ⮬   ࠭
          .   ࠧ  ᥣ "ଠ-
       ".    52 pp鸞  .

  H
       稭     筮   ,   
       ࠧ, 冷   -  㫨.

  ᪮筮
            浪    p 1     
        p , ⮣ 稭 ।⠢ ᮡ ⥫-
         ⥫ ᪮筮,  ᨬ  -
        ࠧ鸞.

  -᫮
           浪   p 1    ⫨筮
        ,  ⮣  稭 - ᯥ樠쭮 祭 뢠
       NAN (Not-A-Namber: -᫮).

           浪   p 0    ⫨筮
        , ⮣  稭 - ᯥ樠쭮 祭, 뢠
       "denormal"  ଠ쭮 ᫮.

       10.3. 䨣p 

        뢠 p冷 ᥣ⮢  pp,  ᪮-
   騪 (pp 痢)  WATCOM.    ,
   p ᯮ짮 樨 騪 "DOSSEG".

       1)  ᥣ "USE16".   ᥣ ।⠢  pp-
  ,   믮   ॠ쭮 ० ⠪   饭.
     ᫥⥫쭮 ᥣ⮢ ⠪,    "REALBRE-
  AK" ४⨢ "RUNTIME"  ᯮ짮    ⤥  
  pp  ॠ쭮 ०    饭 ०. 
   饥 ६ ⢨⥫쭮 ⮫쪮  ᯮ塞 䠩  Phar
  Lap.

       2)   ᥣ,    ਭ騥 㯯 "DGROUP"  ᮬ
  "CODE"

       3)  㣨 ᥣ,  ਭ騥 㯯 "DGROUP"


                                - 234 -

       4)  ᥣ, ਭ騥 㯯 "DGROUP"  ᮬ "BEG-
  DATA"

       5)  ᥣ,  ਭ騥 㯯 "DGROUP",    -
  ᮬ "BEGDATA", "BSS"  "STACK"

       6)  ᥣ, ਭ騥 㯯 "DGROUP"  ᮬ "BSS"

       7)   ᥣ,  ਭ騥  㯯  "DGROUP"    ᮬ
  "STACK"

       , ਭ騥  "BSS", ᮤঠ 樠-
   .  ,   ⮫쪮  -
  樠஢   ᥣ,  ਭ 㯯 "DGROUP".
  ,  ਭ騥  "STACK", ᯮ ⮡ ।-
    ࠧ  ⥪,  ᯮ㥬  襩 ணp.  ,
  ਭ騥 ᠬ "BSS"  "STACK",  ᫥   ᫥⥫-
    ᥣ⮢,  ⠪   樠஢   
    ᯮ塞 䠩.
       ஬  ᯥ樠 ᥣ⮢, ᫥騥 ᮣ襭 ᯮ-
   WATCOM C/C++ 32.

       1)  "CODE" ᮤন 믮  襩 pp.  -
  쪮  ,   ⮨  ᥣ "_TEXT".  让 -
   ,   ⮨  ᥣ⮢ "<module>_TEXT",  <module> -
   䠩 室 ⥪.

       2)  "FAR_DATA" ⮨  ᫥饣:

      () ꥪ , 祩 ࠧ ॢ蠥 ண   
               (ண  p 32 ,  ᫨
               ᯮ짮 樨 p "zt")

      (b) ꥪ , ।  ᯮ짮 祢 ᫮
            "FAR"  "HUGE"

      (c) ࠫ, 祩 ࠧ ॢ蠥 ண    -
                (ண  p 32 ,  ᫨ 
              ᯮ짮 樨 p "zt")

      (d) ࠫ, p  ᯮ짮 祢 ᫮ "FAR"
             "HUGE".

          ⬥ ᮣ襭  ,  ᯮ㥬 

                                - 235 -

  㬮砭 p WATCOM C/C++ 32   ᥣ⮢.

       1)  WATCOM C/C++ 32 "nm"  ᯮ짮,  ⮡ -
    .  ,  ᢮ ।,   ᥣ 
   ஢  让  .

       2)  WATCOM C/C++ 32 "nt"  ᯮ짮,  ⮡ -
  ।  ᥣ  ᨬ  ᯮ㥬  .

       10.4. 襭  맮  -8087 ਪ ணࠬ

       騥 ࠧ 뢠 ᮣ襭  맮, ᯮ㥬
   ஢  樥 pp "fpc".

       10.4.1. p p㬥⮢, ᯮ ᭮  pp
               ᮣ襭  맮

        p㬥, । 㭪樨, ᯮ ᭮  p-
   ᮣ襭  맮,  । ࠧ஬ ( ) p-
  㬥    p㬥  p㬥 室.  ᨬ
   ࠧ,  p㬥 ।   ॣ,     ⥪.
  p㬥 ⨯   ᥣ । p ⥪, ⠪ 
    饬 ᫨誮 訥, ⮡   ॣ. ᪮-
    p㬥 ࠡ뢠 ᫥ p,   ᪮쪮 p-
  ⮢ ⭮  ।  ॣ (᫨  
  ⠬) , ᫨ ᯨ᮪ p㬥⮢ ᮤন 讥 ⢮ p㬥-
  ⮢, ᫥ p㬥  ⭮ । p ⥪.
       , ᯮ㥬 ⮡ । p㬥 㭪 
  EAX, EBX, ECX  EDX. 騩  뢠  p㬥 -
  ।  㭪.

       ࢮ砫쭮,   ᫥騥 ॣ,  㯭  -
  p ࠬ஢:  EAX, EDX, EBX  ECX.  ,  -
    롨  ⮣ ᯨ᪠  ⮬ 浪,    㪠.
     롨ࠥ ॣ EAX  ᫥ ECX.   
  p㬥 Ai,  稭     ᯨ᪥, 믮 ᫥-
  騥 蠣.

       1) ᫨ ࠧ Ai p 1   2 ,  ८ࠧ 
  4    p室 室  ᫥饬 蠣.  ᫨ Ai  ⨯
  "unsigned char"  "unsigned short int",    ८ࠧ뢠  
  "unsigned  int",  ᫨ Ai  ⨯ "signed char"  "signed short
  int",   ८ࠧ뢠  "signed int".  ᫨ Ai 1-⮢ 
  2-⮢ ,  । p.

                                - 236 -


       2) ᫨ - p㬥 㦥 稫   ⥪,  Ai
   ⠪    ⥪.  , 室  ᫥饬
  蠣.

       3) ᫨ ࠧ Ai - 4 ,   롨p ॣ  ᯨ᪠
  㯭 ॣ஢.  ᫨  㯭 ॣ,  Ai -
    ॣ.  p ⮣ 㤠  ᯨ᪠ 㯭
  ॣ஢.  ᫨  㯭 ॣ஢,   Ai 㤥 
    ⥪.

       4) ᫨ ⨯ Ai - " 㪠⥫" (far pointer), 롨p
   ॣ஢  ᫥饣 ᯨ᪠ 権:  [EDX EAX]  [ECX
  EBX].  ࢠ 㯭  ॣ஢ 뤥 Ai  㤠 
  ᯨ᪠ 㯭 . 祭 ᥣ 㤥 䠪᪨ । 
  ॣ DX  CX,  ᬥ饭  ॣ EAX  EBX. ᫨  
   㯮 pp   㯭,   Ai   
    ⥪.  ,  8 ⮢   
  ⥪,  ᫨ ࠧ ꥪ ⨯ " 㪠⥫" - 6 ⮢.

       5) ᫨ ⨯ Ai "double"  "float" (p  ⢨  㭪樮-
  쭮 ⨯), 롨p  ॣ஢  ᫥饣 ᯨ᪠
  権:  [EDX EAX]  [ECX EBX].  p 㯭 pp
   뤥  Ai  㤠  ᯨ᪠ ᢮ . 訥
  32 pp鸞 p㬥 p뢠  ࢮ ॣ    ;  32
    pp鸞  ࠧ鸞 p뢠  ஬ ॣ  .
  ᫨    㯮 pp   ᢮,   Ai -
      ⥪.

       6) ᥬ 㣨 ࠬࠬ     ⥪.

       ਬ砭:

       1. p㬥,     ⥪,  
  ⭮  4 ⮢.  , ᫨   3 ⠬ 
    ⥪, 4     ⥪.

       2. p㬥,      ⥪  
  ⥪, 稭  p p p㬥.

       10.4.2.  ஥ ⨯

        ⠡ p ஥ ⨯,   ࠧ  
    頥  㭪樥 "sizeof",  ࠧ p㬥 ⮣ ⨯ 

                                - 237 -

  ॣ,  ᯮ㥬   ।  ⮣  p㬥,  ᫨  
  ⢥ p㬥  ᯨ᪥ p㬥⮢.

       ⨯    "sizeof"      p      ᯮ㥬
                                 p㬥     pp
       char              1            4        [ EAX ]
       short             2            4        [ EAX ]
       int               4            4        [ EAX ]
       long              4            4        [ EAX ]
       float             4            8        [ EDX EAX]
       double            8            8        [ EDX EAX ]
       near pointer      4            4        [ EAX ]
       far pointer       6            8        [ EDX EAX ]

        ,  ࠧ p㬥, p  ⠡
  ।,   㭪樮 ⨯  ।.
  㭪樮 ⨯   ᯮᮡ  p  p㬥-
  ⮢.   㤥 㦤  ࠧ "⢨ ⨯ 㭪-
  権  p㬥".

       ਬ砭:

       1) p ᫮,     㭪樮 ⨯, p-
  㬥  㤥  ८ࠧ뢠   ⨯  㬮砭  ᠭ 
  ᫥饩 ⠡.

         p㬥        p 

        char                 unsigned int
        signed char          signed int
        unsigned char        unsigned int
        short                unsigned int
        signed short         signed int
        unsigned short       unsigned int
        float                double

       10.4.3.  ᫨ ⨯

       ᫥ ⨯ ᫨ ⨯  ।  祭ﬨ
  p塞 ⠭.  p ண ANSI C,  ᫨
  ⠭  ⨯ int.  pp ०, p 㤥 -
  짮  ᠬ  쪨   楫᫥ ⨯ (᪫
  long int),    ।⠢  祭 ᫨ ⨯.
  ਬ,  ᫨     ᨬ 祭 p塞

                                - 238 -

  ⠭ 室    -128  127, ᫨ ⨯ -
   ⥭ signed char (ࠧ = 1 ).   뫪  -
  ᫨ ⠭⠬  ⮬ 砥   ⨯ signed char.  -
  ᫨ ⠭ ᥣ pp  int,   ।
   p㬥.

       10.4.4. ⢨ p⨯ 㭪権  p㬥

       㭪樮 ⨯ । ⨯ ଠ ࠬ஢
  㭪樨.      ,  p p-
  㬥.  p㬥 㤥 ८ࠧ뢠   ⨯  ᮮ⢥饣
  ଠ쭮 ࠬ  㭪樮쭮 ⨯. ᬮਬ ᫥-
  騩 ਬ.

          void prototype(float x, int i);

          void main ()
          {
            float x;
            int i;

            x = 3.14;
            i = 314;
            prototype (x, i);
            rtn  x, i);
          }

       p⨯ 㭪樨 㪠뢠,  p p㬥  p-
    "float",    p  p㬥    p  
  "int".    p ⮣,  p p㬥 p  pp
  EAX,  p p㬥 p  pp EDX.
       ᫨ 㭪樮  p⨯    㪠뢠,     砥
  㭪樨 rtn,  p p㬥 㤥 p    "double",  
  p  "int".  p ⮣, p p㬥 㤥 p-
    pp EDX  EAX,  p  pp EBX.
       ,  ᬮp  ,   p⨯ ⠪  rtn -
    묨 ᯨ᪠ p㬥⮢,   p p㬥⮢
  ᮢp襭  p  p ⮬,    㪠 㭪樮
  p⨯.  p⨯ 㭪権  pp᭠   pp-
  ,  ⮡ p㬥 p ⠪,    㭪, -
  ᠭ  몥 ᥬp.


                                - 239 -

       10.4.5 p䥩  㭪ﬨ ᥬp

       ᬮp ᫥騩 pp.

       pp:
              void main ( )
              {
                  double x;
                  int    i;
                  double y;

                  x = 7;
                  i = 77;
                  y = 777;
                  myrtn(x, i, y);
              }

       Myrtn -  㭪  ᥬ,    ॡ  p㬥.
   p㬥  ⨯ "double", ன  ⨯ "int"  ⨩
   ᭮ ⨯ "double". p ᯮ짮 ࠢ ᮣ襭  -
  ,  ᭮  ॣ,  p㬥  । myrtn
  ᫥騬 ᯮᮡ:

       1)  p㬥 㤥 ।  ॣ EDX  EAX, ⠢-
   EBX  ECX 㯭묨  㣨 p㬥⮢.

       2) ன p㬥 㤥 ।  ॣ EBX,  ⠢ ECX
  㯭  㣨 p㬥⮢.

       3) ⨩  p㬥    㤥    ॣ ECX (
  ࠧ 8 ) , ᫥⥫쭮, 㤥   ⥪.

        ᬮਬ ⥪ p 室  myrtn.

       쪠 (small) oe 

   饭
                 Ŀ
        0         p p  <- ESP 㪠뢠 
                 Ĵ
        4          p㬥 #3   
                 Ĵ
       12                        


                                - 240 -

         訬 (big) 

   饭
                 Ŀ
        0         p p  <- ESP 㪠뢠 
                 Ĵ
        8          p㬥 #3   
                 Ĵ
       16                        

       ਬ砭:

       1)   - 孨   ⥪.  쪮 -
   ,   - 1  ᫮ (32 )

        EBP 筮 ᯮ    樨  p㬥⮢  
  ⥪.  p 室  㭪 ॣ EBP ⠭, ⮡ 㪠-
  뢠  ⥪,  । 믮 ⮣,   ࠭ 
  ᮤন. 騥    .

       push EBP;    p ⥪饣 祭 EBP
       mov EBP,ESP; 祭 㯠  p㬥⠬

       ᫥ 믮  , ⥪  ᫥騩 :

         Small

     饭
                Ŀ
       0        p EBP  <- EBP  ESP 㪠뢠 
                Ĵ
       4         p p 
                Ĵ
       8          p㬥 #3   
                Ĵ
      16                        

.
                                - 241 -


       Big

     饭
                Ŀ
       0        p EBP   <- EBP  ESP 㪠뢠 
                Ĵ
       4         p p 
                Ĵ
      12           p㬥 #3  
                Ĵ
      20                        

        뢠  p㭪,  p⨩ p㬥  ᬥ饭  8
    pp  EBP     쪮   ᬥ饭 12  
  讣 .
       p 室  myrtn,   ⠭ 祭 EBP. -
  騥    :

     mov ESP,EBP; ⠭ 㪠⥫ ⥪
     pop EBP;     ⠭ EBP

        p p 㭪 몠 ᥬp, p p-
   myrtn.

     Small Memory Model (small code, small data)

     DGROUP        group       _DATA,     _BSS
     _TEXT         segment byte public 'CODE'
                   assume       CS:_TEXT
                   assume       DS:DGROUP
                   public       myrtn_
     myrtn_        proc         near
                   push         EBP       ; p EBP
                   mov          EBP,ESP   ; 祭 㯠 
                                            p㬥⠬ ;
      ;
      ; ⥫ 㭪樨;
      ;
                   mov          ESP,EBP   ; ⠭ ESP
                   pop          EBP       ; ⠭ EBP
                   ret          8         ; p  祭
                                          ; ᫥ p㬥
     myrtn_        endp

                                - 242 -

     _TEXT         ends

     Large Memory Model (big code,big data)

     DGROUP        group        _DATA,  _BSS
     MYRTN_TEXT    segment byte public 'CODE'
                   assume       CS:MYRTN_TEXT
                   public       myrtn_
     myrtn_        proc         far
                   push         EBP       ; p EBP
                   mov          EBP,ESP   ; 祭 㯠
                                          ;  p㬥⠬
     ;
     ; ⥫ 㭪樨
     ;
                   mov          ESP,EBP   ; ⠭ ESP
                   pop          EBP       ; ⠭ EBP
                   ret          8         ; p  祭
                                          ; ᫥ p㬥
     myrtn_        endp
     MYRTN_TEXT    ends

       砭:

       1.     㭪権  ᫥ ᨬ -
  p.  p   p   ᨬ-
   p.

       2.  ᯮ㥬 pp 80x86  p p -
    ⠭ p 室,  ᪫ ᯮ㥬  p-
   p㬥⮢  p頥 祭.  ,   ᥣ
  pp  p  ⠭,  ⮫쪮  ᫨  pp
  p  樥 "r".

       3.   p   p襭 p p⮬  -
  뢠饩 㭪樨.

       4.      ᥣ,  ᮤঠ騩 ᯮ塞
  ,   ਭ ᥣ "_TEXT"   "CODE". 
  "_TEXT"   "p" ⨯ "PUBLIC".   室,  CS
  ᮤন ᥣ p ᥣ "_TEXT".    讣 
     ࠭祭   ᥣ⮢,  -
  ঠ ᯮ塞 .


                                - 243 -

       5.    ,  ᥣ ॣ DS ᮤন ᥣ-
    㯯 "DGROUP".   ⠪    .

       6.  ᠭ 㭪権 ᥬ       ,
  室     "near".  ᫨    㭪樨
  ᥬ   讣 ,         
  "far".

       7.   饬,    ᫥  ᥣ⮢  襣  
  ,    ᫥ ᮣ襭, ᠭ  ࠧ "-
  䨣p "  ⮩ .

       8. ᫨   p㬥⮢ 頫  ⥪, 뢠 ண-
  ࠬ    p㬥  ⥪  "ret".

       10.4.6. ᯮ짮 ᮣ襭, ᭮  ⥪

        ⥯ ᬮਬ ਬ  ।饣  ࠧ,    
   p  㤥 ᯮ짮 ᭮  ⥪ ᮣ襭  -
  .  H  ࠧ稥  ᭮  ⥪ ᮣ-
      맮   ᭮  ॣ ᮣ襭  맮 -
  ᯮᮡ p p㬥⮢.   ᯮ짮 ᭮   ⥪
  ᮣ襭  맮,  ॣ  ᯮ  p
  p㬥⮢.  ⮣,  p㬥 p  ⥪.

        ᬮਬ ⥪ p 室  myrtn.

         Small

   饭
               Ŀ
        0       p p  <- ESP 㪠뢠 
               Ĵ
        4       p㬥 #I    
               Ĵ
       12       p㬥 #2    
               Ĵ
       16       p㬥 #3    
               Ĵ
       24                      


                                - 244 -
                Big
     饭
                  Ŀ
       0           p p  <- ESP 㪠뢠 
                  Ĵ
       8           p㬥 #1    
                  Ĵ
      16           p㬥 #2    
                  Ĵ
      20           p㬥 #3    
                  Ĵ
      28                          

       砭:

       1) p p -  ᠬ p孨   ⥪.  -
    , p p -   ᫮ (32 )

       p EBP  筮  ᯮ    p樨 p㬥⮢ 
  ⥪. p 室  㭪, pp EBP ⠭, ⮡ 㪠-
  뢠  ⥪,  p ⨬  p  p ᮤp.
  騥    .

     push       EBP          ;   p ⥪饣 祭 EBP
     mov        EBP,ESP      ;   祭 㯠  p㬥⠬

       ᫥ 믮  , ⥪ 룫廊 ⠪:

         Small

   饭
          Ŀ
   0      p BP  <- EBP  ESP 㪠뢠 
          Ĵ
   4       p p 
          Ĵ
   8       p㬥 #1    
          Ĵ
  16       p㬥 #2    
          Ĵ
  20       p㬥 #3    
          Ĵ
  28                      


                                - 245 -
              Big
   饭
          Ŀ
   0       p EBP <- EBP  ESP 㪠뢠 
          Ĵ
   4       p p 
          Ĵ
  12        p㬥 #1   
          Ĵ
  20        p㬥 #2   
          Ĵ
  24        p㬥 #3   
          Ĵ
  32                      

        뢠 p p㭪,   p㬥 室 
  ⥪    뫠, 㪠뢠 ᬥ饭  pp EBP.

       p 室  myrtn,   ⠭ 祭 EBP. -
  騥    :

     mov        ESP,EBP           ;  ⠭ 㪠⥫ ⥪
     pop        EBP               ;  ⠭ EBP

        p pp 㭪樨 몠 ᥬp, p p-
   myrtn.

     Small Memory  Model (small code, small data)

     DGROUP        group         _DATA, _BSS
     _TEXT         segment byte public 'CODE'
                   assume        CS: TEXT
                   assume        DS:DGROUP
                   public        myrtn
     myrtn         proc          near
                   push          EBP     ; p EBP
                   mov           EBP,ESP ; 祭 㯠
                                         ;  p㬥⠬
     ;
     ; ⥫ 㭪樨
     ;
                   mov           ESP,EBP ; ⠭ ESP
                   pop           EBP     ; ⠭ EBP
                   ret           20      ; 室  祭
                                         ; ᫥ p㬥

                                - 246 -

     myrtn         endp
     _TEXT         ends

     Large Memory Model (big code, big data)

     DGROUP        group         _DATA, _BSS
     MYRTN_TEXT    segment byte public 'CODE'
                   assume        CS:MYRTN_TEXT
                   public        myrtn
     myrtn         proc          far
                   push          EBP      ; p EBP
                   mov           EBP,ESP  ; 祭 㯠
                                          ;  p㬥⠬
     ;
     ; body of function
     ;
                   mov           ESP,EBP  ; ⠭ ESP
                   pop           EBP      ; ⠭ EBP
                   ret           20       ; p  祭
                                          ; ᫥ p㬥
     myrtn         endp
     MYRTN_TEXT    ends

       砭:

       1)    㭪権     ᨬ  -
  p,     뫮  砥 ᮣ襭,  ᭮  p-
  p. p   p   ⠢ ᨬ
  p,   뫮  砥 ᮣ襭, ᭮  p-
  p.

       2)  ᯮ㥬 pp 80x86 p pp EAX,  ECX 
  EDX    p  p 室  ⠭ p 室.
   pp DS  ES  ⠪ p  p  室  
  ⠭  室.   pp ES  㦭 -
    ⠭  ᯮ짮  ,    -
     .  ,   ᥣ p
   ࠭  ⠭, ⮫쪮 ᫨  
   ணp  樥 "r".

       3)  ࠢ   饭 । ⮬  -
  饩 pp.

       4)    ,   ᥣ, ᮤঠ騩 믮

                                - 247 -

     ਭ ᥣ "_TEXT"   "CODE".  
  "_TEXT"   "p" ⨯ "PUBLIC".  p 室  CS
  ᮤন ᥣ  ᥣ "_TEXT".    讣 
     ࠭祭   ᥣ⮢,  -
  ঠ ᯮ塞 .

       5)    ,  ᥣ ॣ DS ᮤন ᥣ-
    㯯 "DGROUP".   ⠪    .

       6)  ᠭ 㭪権  몥 ᥬ   
  ,      "near".  ᫨    㭪樨
  ᥬ   讣 ,         
  "far".

       7)  饬,    ᥣ⮢  襣   -
  ,   ᫥ ᮣ襭, ᠭ  p "䨣-
  p  "  ⮩ .

       8) 뢠  ணࠬ     p㬥  ⥪
   "ret".

       10.4.7. 㭪樨  ६ ᫮ p㬥⮢

       ⨯ 㭪樨     ᯨ᪮   p㬥⮢,   稢騬
  ",...",  ६ ᫮ p㬥⮢.  ⮬ 砥,  p-
   ।  ⥪.      p⨯  ଠ樨
   p㬥⮢,  ।⠢塞 ",...",  ,   p-
   । ⠪,  ᠭ  ࠧ "। p㬥⮢".

       10.4.8.  祭  㭪権

       ᮡ p 祭 㭪権   ࠧ p頥-
   祭.  騥 ਬ 뢠  p -
   㭪権.  ᠭ    .

       1. 1-⮢ 祭    ॣ AL.

       ਬ:
              _TEXT    segment   byte public  'CODE'
                       assume    CS:_TEXT
                       public    Retl_
              Ret1_    proc      near   ; char Ret1()
                       mov       AL, 'G'
                       ret

                                - 248 -

              Ret1_    endp
              _TEXT    ends
                       end

       2. 祭  2 ⠬  p  ॣ AX.

       ਬ:
              _TEXT    segment   byte public  'CODE'
                       assume    CS:_TEXT
                       public    Ret2_
              Ret2_    proc      near   ; short int Ret2 ()
                       mov       AX,77
                       ret
              Ret2_    endp
              _TEXT    ends
                       end

       3. 祭  4 ⠬    ॣ EAX.

       ਬ:
                  _TEXT    segment   byte public  'CODE'
                           assume    CS:_TEXT
                           public    Ret4_
                  Ret4_    proc      near   ; int Ret4 ()
                           mov       EAX,7777777
                           ret
                  Ret4_    endp
                  _TEXT    ends
                           end

       4. 祭  8 ⠬,  ᪫祭 ,  -
  p  p EDX  EAX.  ᯮ짮 樨 fpc (맮
  饩  ⮩),  "float"   "double"   ॣ.
  . ࠧ " 祭  ᭮  80x87 ணࠬ " 
  ᯮ짮 権 " fpi87 "  fpi.

       ਬ:
                                 .8087
                        _TEXT    segment  byte public 'CODE'
                                 assume   CS:_TEXT
                                 public   Ret8_
                        Ret 8_   proc     near   ; double Ret8()
                                 mov      EDX,dword ptr CS:Val8+4
                                 mov      EAX,dword ptr CS:Val8

                                - 249 -

                                 ret
                        Val8:    dq       7.7
                        Ret8_    endp
                        _TEXT    ends
                                 end

       ᥢp ".8087""  㪠뢠, ⮡  ⠭-
    饩 ⮩ ஢  ଠ 8087.

       5.  p㣮 砥, 뢠 pp 뤥 ࠭⢮
   ⥪  祭   ⠭ ॣ ESI 㪠뢠
    .   让  , ॣ ESI ᮤন ᬥ-
  饭, ⭮⥫쭮  祭  ᥣ⭮ ॣ SS.

       ਬ:
              -TEXT   segment  byte  public  'CODE'
                      assume   CS:_TEXT
                      public   RetX_

              ;
              ; struct int_values {
              ;     int value1, value2, value3, value4, value5;
              ;                   };

              ;
              RetX_   proc     near ; struct int_values RetX()
                      mov      dword ptr SS:0[ESI],71
                      mov      dword ptr SS:4[ESI],72
                      mov      dword ptr SS:8[ESI],73
                      mov      dword ptr SS:12[ESI],74
                      mov      dword ptr SS:16[ESI],75
                      ret
              RetX_   endp
              _TEXT   ends
                      end

   祭 p  ⥪,   ᯮ짮 -
   祭 ᥣ  ᥣ ⥪ (SS).

        p pp pp WATCOM C/C++ 32,  뢠饩
  襯p ணࠬ ᥬ.

               #include <stdio.h>


                                - 250 -

               struct int_values {
                   int valuel;
                   int value2;
                   int value3;
                   int value4;
                   int values;
               };

               extern   char              Retl (void);
               extern   short int         Ret2 (void);
               extern   long int          Ret4 (void);
               extern   double            Ret8 (void);
               extern   struct int_values RetX (void);

               void main()
               {
                   struct int_values x;

                   printf ("Retl = %c\n",  Retl ());
                   printf ("Ret2 = %d\n",  Ret2 ());
                   printf ("Ret4 = %ld\n", Ret4 ());
                   printf ("Ret8 = %f\n",  Ret8 ());
                   x = RetX () ;
                   printf ("RetXl = %d\n", x.valuel);
                   printf ("RetX2 = %d\n", x.value2);
                   printf ("RetX3 = %d\n", x.value3);
                   printf ("RetX4 = %d\n", x.value4);
                   printf ("RetX5 = %d\n", x.values);
               }

  㯮 㭪   ஢  쪮 
   (ᯮ 樨 p ml, ms  mc).

  砭: p 祭  㭪権  ᭮  ⥪ ᮣ-
             襭   맮  ,     祭  㭪-
             権,   ᭮  ॣ ᮣ襭  맮  
             ᯮ짮 樨 "fpc".

       10.5. 襭  맮  pp ᭮  80x87

        室  䠩   WATCOM C/C++ 32   
  権 "fpi"  "fpi87",   p㬥  饩 ⮩ ।-
    ⥪ 80x86. ࠢ  p p㬥⮢ ᫥騥.


                                - 251 -

       1. ᫨ p㬥   饩 ⮩,  ᯮ 楤-
  , ᠭ ࠭  ⮩ .

       2. ᫨ p㬥 -  饩 ⮩,   砥 -
    ⥪ 80x86.

  砭:  ஢  ᯮ짮 権 fpi  fpi87,
             ⮤,  ᯮ㥬  p p㬥⮢  饩
             ⮩    ᭮    ⥪  ᮣ襭  맮,
             祭 ⮤, ᯮ㥬  ᭮  ॣ
             ᮣ襭  맮.  ,   ஢  -
             짮 権 fpi  fpi87, ⮤ ᯮ㥬 
               祭    饩 ⮩  ᭮ 
             ⥪ ᮣ襭  맮 ⫨祭  ⮤, ᯮ-
               ᭮  ॣ ᮣ襭  맮. -
               ॣ ᮣ襭    맮  頥
             祭    饩 ⮩  ST(0) ,    ६ 
             ᭮  ⥪  ᮣ襭    맮,  p頥
             祭  饩 ⮩  EDX  EAX.

       10.5.1 䥩  㭪ﬨ 몠 ᥬ

       ᬮ ᫥騩 ਬ.

       ਬ:
    extern     void         myrtn (int, float, double, long int);

    void main ()
    {
        float x;
        double y;
        int i;
        long int j;

        x = 7.7;
        i = 7;
        y = 77.77
        j = 77;
        myrtn(i, x, y, j);
    }

  Myrtn - 㭪 ᥬ,   ॡ  p㬥. -
    p㬥  ⨯ "int" (4 ),  ன ࠬ  ⨯
  "float" (4 ),  ⨩ ࠬ  ⨯ "double" (8 ⮢) 

                                - 252 -

  ⢥ ࠬ  ⨯ "long int" (4 ).

        ᯮ짮  ᭮    ⥪ ᮣ襭  맮,
   p㬥  ।  ⥪.   ᯮ짮 ᭮
   ॣ ᮣ襭  맮, p㬥  ।  myrtn
  ᫥騬 ᯮᮡ:

       1) p p㬥 㤥 ।  ॣ EAX ⠢  EBX,
  ECX  EDX  㯭 ॣ  㣨 p㬥⮢.

       2) ன p㬥 㤥 ।  ⥪ 80x86,  ⠪   -
  p㬥  饩 ⮩.

       3) ⨩ p㬥 㤥 ⠪ ।  ⥪ 80x86,  ⠪ 
   - p㬥  饩 ⮩.

       4) ⢥  p㬥  㤥  ।  ⥪ 80x86,  ⠪ 
  ।騩 ࠬ 稫   ⥪ 80x86.

       , p㬥   ⥪ p .    
  p p p㬥 頥 ᭠砫.

        㭪 ᥬ  ᮡ ᫥騥 ࠢ.

       1)  ࠬ,  । p ⥪,  㤠 -
  뢠 㭪樥.

        p ⨯ 㭪 ᥬ,  p
  myrtn.

  ਬ:
               .8087
    _TEXT      segment byte public 'CODE'
               assume  CS:_TEXT
               public  myrtn_
    myrtn_     proc    near
    ;
    ; ⥫ 㭪樨
    ;
               ret 16          ; p  ⠫ p㬥⮢
    myrtn_     endp
    _TEXT      ends
               end

                                - 253 -

       ਬ砭:

       1)   㭪権  ᫥ ᨬ ન.

       2)  ᯮ㥬 ॣ 80x86  ࠭ p -
    ⠭  室  ᪫祭 ᯮ㥬, ⮡
  । 祭   p㬥.  ,  ᥣ
  ॣ    ࠭   ⠭ ⮫쪮,  ᫨ 
    ணࠬ  樥 "r".  ⮬ 砥, EAX  -
    ࠭,  ᪮  ᯮ,  ⮡ । 
  p㬥.    饩 ⮩    -
    ᮤঠ.

       3)  ࠢ   饭 । ⮬  -
  饩 pp.

       4)  㭪 뫠 ᠭ       .  
  ᥣ, ᮤঠ騩 믮 ,  ਭ  "CO-
  DE"  ᥣ "_TEXT". p 室 CS ᮤন ᥣ  ᥣ-
    "_TEXT".  㯮 ࠭祭  ਬ  
  讣 .

       5)  ᠭ 㭪権 ᥬ      
       "near".  ᫨    㭪樨 -
  ᥬ  让  ,      "far".

       10.5.2 p 祭  ணࠬ, ᭮  8087

        ᯮ짮 ᭮  ⥪ ᮣ襭   맮  
  ﬨ "fpi"  "fpi87", 祭  饩 ⮩ -
    ॣ.  祭 p 筮   EAX,  
  祭  筮   EDX:EAX.

        ᯮ짮  ᭮  ॣ ᮣ襭  맮
   ﬨ "fpi"  "fpi87", 祭  饩 ⮩ -
    ST(0).   㣨 祭  ᯮᮡ, ᠭ
  ࠭  ⮩ .

       11. ᥢਨ (p)

       11.1 

       ᥢ਩ - ४⨢ p,   p⠢-
   ᫥騥 .

                                - 254 -


       1) ᥢਨ  㪠뢠 㦭 樨 -
  p.

       2) ᥢਨ  ᯮ짮, ⮡ 㪠뢠 -
    ꥪ⭮  WATCOM C/C++ 32  ᯥ樠஢-
   ᫥⥫쭮   맮 㭪権,   ᯮ
  孨  p  p㬥⮢  p 祭,  ⫨  -
  㥬  㬮砭 WATCOM C/C++ 32.

       3) ᥢਨ  ᯮ짮, ⮡ 뢠 -
  ਡ  㭪権 (⨯  䥪⮢),     p
  몠 C/C++.  ꥪ⭮   ᯮ짮  -
  ଠ, ⮡ ஢  䥪⨢ .

       4)  ᫥⥫쭮 ஥  設 몠,
   맮 㭪権 QNX,  ஢  ꥪ⭮ .

       ᥢਨ ।  室 䠩,  ᯮ饬
  ४⨢ "pragma".    ᯮ, ⮡ 뢠
  ᨭ⠪ ᥢਥ.

  ABC       p ᨬ abc.

  [bc]     ꥪ abc 易⥫.

  {bc}     ꥪ abc       p.

  ""        a ॡ.

  |b|c      㪠뢠   , b  c.

  ::=b     ꥪ "a" ।  ନ b.

  ()       ꥪ "a" 業 p.

  騥  ᥢਥ p.

       1) ᥢਨ,  㪠뢠 樨

       2) ᥢਨ,   㪠뢠 ⥪  㬮-
  

       3) ᥢਨ,  뢠 ᯮᮡ, p -

                                - 255 -

   ࠭  

       4) ᥢਨ,  p⠢ ⥫ -
  ଠ, ᯮ㥬  樨 ꥪ⭮ 

       11.2. ᯮ짮 ᥢਥ  㪠 権

        饥  ६,  ᫥騥 樨  㪠뢠 ᥢ-
  ﬨ:

       1. Unreferenced
       2. Check_stack

  "Unreferenced" ࠢ   ᯮᮡ  p⪨  pp  WATCOM
  C/C++ 32 ᯮ㥬 ᨬ. ਬ,

     #pragma on (unreferenced);

  㤥 ⠢ WATCOM C/C++ 32 뤠 ।०騥 ᮮ饭
    ᯮ㥬 ᨬ.  㬮砭. 

     #pragma off (unreferenced);

  㤥 ⠢ WATCOM C/C++ 32 ஢ ᯮ㥬 ᨬ-
  .  ,  ᫨ ஢ ।०  筮 ᮪,
  ।०騥  ᮮ饭  ᯮ㥬 ᨬ  㤥 -
  ,  ᫨ 㪠 "unreferenced".

  "heck_stack" ࠢ ᯮᮡ p⪨ ९ ⥪. -
  ਬ,

     #pragma on (check_stack);

  㤥 ⠢ 㦨 ९ ⥪, 

     #pragma off (check_stack);

  㤥 ⠢    pp    ९    ⥪.    
  "check_stack" 祭,  WATCOM C/C++ 32 㤥 ஢ -
     ६ 믮  pp ஢ન ⥪  砫 
  㥬 ணࠬ.  ணࠬ ६ 믮 㤥 -
   訡,  ᫨ p室 ९ ⥪  맮 ண-
  ࠬ.  㬮砭 ९ ⥪  pp. pp
  ९  ⥪ ᮡ ,   㭪樨 뢠 p-

                                - 256 -

  pᨢ.  ,  ᫨ pp ९ ⥪ ⬥,
   p ।᪠㥬 १.
       ᫨ ९ ⥪ ந室  室 믮   㢥-
  p,     pp p쭠 (pp,  p室 㦭
  ppp),   㢥 ࠧ ⥪.   -
  ⥬  p   襩 ணࠬ  㪠 樨 "STACK"
  騪 WATCOM  訬 ࠧ஬ ⥪.

    㪠뢠  祬    ᥢਨ,
    ᫥騬 ਬ஬.

    #pragma on (check-stack unreferenced);

       11.3. ᯮ짮  ᥢਥ  㪠 ⥪
              㬮砭

       ⥪  㬮砭 㪠뢠  ᯥ樠  -
  ⭮ .       ᯥ樠
  ᥩ 騪 WATCOM.   襭 뫪 -
   ࠡ⪨  ꥪ 㫥,  ।  p⨢ -
  騪 "FILE",   ⥪  㬮砭   ᫥  ⮣,
   祭   ⥪,  㪠  p⨢ -
  騪 "LIBRARY".
        㬮砭,     ᫨  筮 ᥢ-
    㪠, p WATCOM C/C++ 32   ꥪ-
  ⭮ 䠩,  ।饬 ᭮ ணࠬ, ⥪  㬮-
   ᮮ⢥騥      饩 ⮩  -
  㥬  p 樨 䠩.  ਬ,  ᫨  ஢
  室 䠩, ᮤঠ騩 ᭮ ணࠬ  ᪮  -
    ⥪ 饩 ⮩,  ᯮ饩 맮 饩
  ⮩,  ⥪ "clib3r"  "math3r"    ꥪ-
   䠩.
       ᫨     ᮡ⢥ ⥪   㬮-
  砭  ⮬ ᯨ,     ᥢਥ "lib-
  rary". ᬮ ᫥騩 ਬ.

       #pragma library (mylib);

   mylib 㤥   ᯨ ⥪  㬮砭 ।-
    ꥪ⭮ 䠩.

       ᫨ ᯥ䨪  ⥪  ᮤন ᨬ ⨯ "/",  ":"
   "," ( ,  ᨬ  pp襭  䨪 ),
        窨   ᫥饬 ਬ.

                                - 257 -


     #pragma library ("/usr/lib/dos/graph.lib");

       E᫨     㪠뢠  祬  ⥪  -
  筮 ᥢਨ,    ⤥   ஡   
  ᫥饬 ਬ.

     #pragma library (mylib "/usr/lib/dos/graph.lib");

       11.4. ᥢਨ ⮢

       ᥢ਩   ᯮ짮, ⮡ ࠢ
  ᯮᮡ,    ࠭   .    㬮砭,
  WATCOM  C/C++ 32 ࠢ      ࠭ .
   ଠ ᥢ   ᯮ짮, -
    ࠢ      .

       #PRAGMA PACK '('n')'[';']

  :      ᠭ:

  N          1, 2, 4  8  । ⮤ ࠢ.

       ࠢ 童  뢠  ᫥饩 ⠡.
  ᫨ ࠧ 童 - 1,  2,  4  8 ,  ࠢ   
     権 "zp".  ᫨ 童  - ᨢ  ,
  ࠢ 뢠 ப "x".

     sizeof(member)  |    zpl     zp2     zp4     zp8
     ----------------+-------------------------------
             1       |     0       0       0       0
             2       |     0       2       2       2
             4       |     0       2       4       4
             8       |     0       2       4       8
             x       |     p  襬 童

       ࠢ 0 砥 ⢨  ࠢ,  2  砥
  p  ࠭栬 ᫮,  4  ࠭栬  ᫮,  ...
  ᫨ ᠬ 让 童  "x" - 1 , ⮣ "x"  ࠢ-
  .  ᫨ ᠬ 让 童  "x " - 2 ,  ⮣
  "x" ࠢ ᮣ᭮ ப 2. ᫨ ᠬ 让 童 -
   "x" - 4 , ⮣ "x" ࠢ ᮣ᭮ ப 4. ᫨
  ᠬ 让 童  "x" - 8 ⮢, ⮣ "x" ࠢ-
   ᮣ᭮ ப 8.

                                - 258 -


       ᫨  祭  㪠뢠  ᥢਨ -
  , ᯮ 祭  㬮砭 1. ,  祭 
  㬮砭   樥  p p WAT-
  COM C/C ++ 32 "zp".

       11.5. ᥢ਩ ALLOC_TEXT

       ᥢ਩ "Alloc_text"    ᯮ짮,   ⮡
  㪠뢠  ⥪⮢ ᥣ,    㤥  ᣥ-
  ஢   㭪樨,   ᯨ᪠ 㭪権. 饥 -
    ᥢ "alloc_text".

     #PRAGMA ALLOC_TEXT'('seg_name','fn{','fn}')'[';']

  :      ᠭ:

  seg_name -  ⥪⮢ ᥣ.

  Fn          㭪樨.

       ᬮ ᫥騩 ਬ.

     extern int fn1 (int);
     extern int fn2 (void);
     #pragma alloc_text ( my_text,fn1, fn2 );

    㭪権 fn1  fn2 㤥   ᥣ my_text.

       : 㭪樮 ⨯   㭪権 -
   ⢮  ᥢ "alloc_text".

       11.6. ᥢ਩ CODE_SEG

       ᥢ਩ "Code_seg"  ᯮ짮,  ⮡ 㪠-
  뢠   ⥪⮢ ᥣ,    ᣥ஢  
  㭪権  .  饥 뢠  ᥢ-
   "code_seg".

    #PRAGMA CODE_SEG '('seg_name[',' class_name]')'[';']

  :       ᠭ:

  Seg_name -  ⥪⮢ ᥣ.

                                - 259 -


  Class_name -   ⥪⮢ ᥣ.

       ᬮ ᫥騩 ਬ.

     # pragma code_seg (my_text);

     int incr(int i) {
         return(i - 1);
     }

     int decr(int i) }
         return(i - 1);
     }

    㭪権 incr  decr 㤥   ᥣ my_text.

       11.7. ᥢ਩ DATA_SEG

       ᥢp "data_seg"  ᯮ짮,  ⮡ 㪠-
  뢠  ᥣ,      . 饥
  뢠  ᥢp "data_seg".

   #PRAGMA DATA_SEG'('seg_name [',' class_name]')'[';']

  :           ᠭ:

  seg_name        ᥣ .

  class_name       ᥣ .

       ᬮ ᫥騩 ਬ.

     #pragma data_seg (my_data);

     static int i;
     static int j;

    i  j    ᥣ my_data.

       11.8. ᥢ਩ INTRINSIC

       । 㭪樨, p  ᠭ 樨 "oi", 
  ஥ .   㭪樨 - ᯥ樠 㭪樨,   -

                                - 260 -

   p  ࠡ뢠 ᯥ樠 ᯮᮡ.  -
  ਬ,  p    롨   p  
  ⮩ 㭪樨.  ਡ "intrinsic"   ᯥ樠 㭪権 -
  ⠭  ⥬  㪠 樨 "oi"  ᯮ짮 ᥢ-
   "intrinsic".
        뢠 ଠ ᥢ "intrinsic".

  Ŀ
  #PRAGMA INTRINSIC '('fn{','fn}')'                 
  

  :       ᠭ:

  fn          㭪樨.

       ।,   ᫥騩  室 ⥪ ஢ 
  ᯮ짮 樨 "oi" ⠪,   㭪   ਡ
  "intrinsic".  ᫨   ॡ ஥  㭪樨 sin, 
    ।  㭪  ᥢਨ "intrinsic".

     #include <math.h>
     #pragma intrinsic(sin);

     double test(double x)
     {
         return(sin( x));
     }

       11.9. ᥢ਩ FUNCTION

       । 㭪樨, p  ᠭ 樨 "oi", 
  ஥ .   㭪樨 - ᯥ樠 㭪樨,   -
   p  ࠡ뢠 ᯥ樠 ᯮᮡ.  -
  ਬ,  p    롨   p  
   㭪権.  ਡ "intrinsic"   ᯥ樠 㭪権 -
  ⠭    㪠 樨"oi"  ᯮ짮 ᥢ-
   "intrinsic".  ᥢ਩ "function"  ᯮ짮-
  ,  ⮡  㤠  p  "intrinsic"  㪠 ᯨ᪠
  㭪権.


                                - 261 -
        뢠 ଠ ᥢ "FUNCTION".
  Ŀ
   #PRAGMA FUNCTION '('fn{','fn}')'           
  
  :       ᠭ:

  fn          㭪樨.

       ।,  ᫥騩 室 ⥪ ஢,  -
      "oi",  ⮬  뢠   ᯥ樠
  㭪権,  ᯮ ஥ ଠ.  襬 ਬ,  뫠-
    㭪 sin,    ஥ .  ।-
   sin  ᥢਨ "FUNCTION",  ਡ "intrinsic"  㤥
  㤠,  ᫥⢨  祣  㭪  sin 㤥 ࠡ뢠 
  筠 ।塞 짮⥫ 㭪.

      #include <math.h>
      #pragma function(sin);

      double test(double x)
      {
          return(sin(x));
      }

       11.10. ᥢ਩ INLINE_DEPTH (⮫쪮 C++)

        ஥ 㭪 뢠,  맮 㭪樨 
  ஥ ७ ⮩ 㭪樨.   ஥ ७ -
    맮 㣨 ஥ 㭪権,    ⠪
  ࠧp뢠.  ᥢp  "Inline_depth"   ᯮ짮-
  ,  ⮡ ⠭ ᪮쪮 ࠧ  ࠧp뢠 ஥-
   㭪権 㤥 ந室   맮.

        p ଠ ᥢp "inline_depth":

   Ŀ
    #PRAGMA INLINE_DEPTH n[';']    
   

  :       ᠭ:

  n         㡨 ७.  ᫨ n p 0,   ७
             㤥 ந.  ᫨ n p 1,  ⮫쪮  ࢮ-
            砫  맮 ࠧp뢠.  ᫨ n p 2,  ࢮ-
            砫 맮  ஥ 㭪樨,  뢠  ࢮ-
            砫쭮 㭪樥,  ࠧp뢠. 祭  㬮-

                                - 262 -

            砭  n p 8.  ᨬ쭮 祭   n  p
            255.  ,   ७ ४ᨢ-
             ஥ 㭪権  ந,  ᫨ ⮫쪮  
             pp襭 ᥢਥ "inline_recursion".

       11.11. ᥢ਩ INLINE_RECURSION (⮫쪮 C++)

       ᥢp "Inline_recursion"   ࠢ   ४ᨢ
  ७ ஥ 㭪権.   p ଠ  ᥢ-
  p "inline_recursion":

  Ŀ
  #PRAGMA INLINE_RECURSION ON [';']       
                                       
  #PRAGMA INLINE_RECURSION OFF [';']      
  

        "on"  㤥 ᪠ ७ ४ᨢ ஥-
   㭪権.  㡨  ७  ।  ᥢp
  "inline_depth". 㡨  㬮砭 p 8.  "off" -
   ७ ४ᨢ ஥ 㭪権.  㬮砭.

       11.12. ⠭  ஢  ।०  ᮮ饭
              (⮫쪮 C++)

       ᥢ਩ "warning" ⠭ ஢ ।०-
   ᮮ饭. ଠ ᥢ "warning" - ᫥:

    #PRAGMA WARNING msg p [';']

  :      ᠭ:

  Msg       ।०饣 ᮮ饭.   ᮮ⢥
           , 뢮 p  뢠  ਫ
           "᪨ ᮮ饭 WATCOM C++". ᫨ msg 㪠뢠-
            "*", ஢  ।० ᮮ饭 -
             㪠 ஢.

  ஢  ᫮  0  9,   ஢ ।०饣  ᮮ饭.
            㪠뢠 祭 , ।० ⠭
           訡.


                                - 263 -
       11.13. ⠭ pp 樠樨 ᪨ 
              (⮫쪮 C++)

       ᥢ਩ "initialize"   ⠭  ਮ  
  樠樨 ᪨   䠩.  ਮ ਬ-
    ⮫쪮  樠樨 ᪨ ,   ॡ -
   .  ਬ,  樠 ,    ᮤন
  pp, ॡ 믮 ⮣ pp.  -
  ,  ᫨ ᫥⥫쭮,  ன 樠 -
     襩 ணࠬ  ,     -
   , ᥢ਩ "initialize"   ᯮ짮.

        ଠ ᥢ "initialize" ᫥:
  Ŀ
   #PRAGMA INITIALIZE [BEFORE|AFTER] priority [';'] 
                                                    
   priority::= n|LIBRARY|PROGRAM                    
  

  :      ᠭ:

  n        ᫮ ।⠢饥 ਮ       
           0-255.    ਮ,  ⥬  窠,   㤥
           p室 樠.

       ਮ     0-20  १ࢨ    p
  C++,    ࠭஢,   ᮮ⢥ 樠
  ⥬ প 믮 (run-time  system)  ++  㤥  
    । 믮 襩 ணࠬ.  祢 ᫮ "library"
  ।⠢ ਮ 32  ᯮ  ⥪ ᮢ, -
   ॡ 樠樨 ०, 祬 ணࠬ 樠.
  祢 ᫮ "program" ।⠢ ਮ 64 -   ਮ
   㬮砭   ࠭᫨஢ ணࠬ.  "befo-
  re" ppp ਮ ⥬ ⠭ .    "af-
  ter" ppp ਮ ⥬  .
       室 䠩 ᮤঠ騩  p    ᥢ਩
  "initialize"  ।,    樠  ᪨  
  䠩 㤥   । 樠樥  㣨  -
     ணࠬ, ⠪  㤥 祭 ਮ 63.

       pp:     #pragma initialize before program

  ᫨   㪠 "after"  "before",  樠 ᪨
    䠩 㤥 ந室 ᫥  樠樨    㣨
  ᪨    ணࠬ,  ⠪  㤥  ਮ-
  .

                                - 264 -

        ,  ᫥饥 ⭮ ਬ "before"

       ਬ:     #praqma initialize 63

   ᫥饥 ⭮ pp "after".

       ਬ:     #praqma initialize 65

       ਬ 祢 ᫮ "before",  "after"  "program"  
  來  ⥪ ᥢp (p).
        ᯮ짮 ਮ 32 (ਮ ᯮ-
  ,  㪠 祢 ᫮ "library")  ࠧࠡ⪥ -
  ⥪ ᮢ.   㤥 ࠭஢,  樠 -
    ।塞 ⥪ ᮢ 㤥   ।
  樠樥 ᪨  ।塞 ணࠬ.  -
  騩 ᥢ਩ "initialize"  ᯮ짮  ⮣.

       ਬ:     #pragma initialize library

       11.14. ᯮ⥫ ᥢਨ

       騥 ࠧ 뢠 , ᯥ稢 -
  ⥫묨 ᥢﬨ.

       11.14.1.  ਡ⮢ ᨬ 

       ᯮ⥫ ᥢਨ ᯮ,  ⮡  -
    ਡ,      ꥪ⭮ .
  ࢮ砫쭮,  p ।  p⮢  㬮砭.
   ᯮ⥫ ᥢ਩ ⭮    ᫥-
  .

   1. 쭮  (⨯ ६  㭪樨)
   2. । ⨯, p饥  㭪樮쭮 ⨯
   3.   㬮砭 ਡ⮢ ।塞 p

        ᯮ⥫ ᥢ਩ ⭮   -
  쭮 ᨬ쭮 ,   ⥪饣  ਡ⮢
   㬮砭  ꥤ  ਡ⠬,  㪠묨   ᯮ-
  ⥫쭮 ᥢਨ. 騥  १ ਡ -
    ।塞 ᨬ쭮          
  ⮫쪮 㣨 ᯮ⥫ ᥢਥ,  頥-

                                - 265 -

    ⮬  ᠬ ᨬ쭮 .
       ਬ ।  ⨯,  ஥ p  㭪樮쭮
  ⨯ ᫥ .

        typedef void (*func_type) () ;

        ᯮ⥫ ᥢ਩ ⭮  ⠪ -
  । ⨯,   ⥪饣  ਡ⮢  㬮-
    ꥤ  ਡ⠬,  ।塞묨   ᯮ⥫쭮
  ᥢਨ.  騥  १ ਡ  
   㭪樨, 祩 ⨯ ᮮ⢥ 㪠 । ⨯.
         ᨬ쭮  㪠뢠 "default", ਡ
  ।塞 ᯮ⥫ ᥢਥ    -
  p⮢  㬮砭. 騥  १ ਡ ᯮ-
   ᥬ ᨬ p ,  ᯥ樠쭮 㪠뢠 ।-
  騬 ᯮ⥫ ᥢਥ.
        ,    ᯮ⥫  ᥢਨ
  ࠡ뢠  ०,  祬  稭  ꥪ⭮ .
  ᬮ ᫥騩 ਬ.

         ஬ ᨬ x 뢠

   #praqma aux y <attrs_1>;

   ,  ஬ ᨬ y 뢠
   ,  ஬ ᨬ z 뢠

   #praqma aux default <attrs_2>;
   #praqma aux x <attrs_ 3> ;

       ᯮ⥫ ਡ   x, y  z ᫥騬 ᯮ-
  ᮡ.

     1.  x  砫 ਡ,   㬮砭 ꥤ-
    ਡ⠬, ।塞묨 <attrs_2>  <attrs_3>.

     2.  y  砫 ਡ,   㬮砭 ꥤ-
    ਡ⠬, ।塞묨 <attrs_1>.

     3.  z  砫 ਡ,   㬮砭 ꥤ-
    ਡ⠬, ।塞묨 <attrs_2>.


                                - 266 -
       11.14.2.  ᥢ

        ᨬ쭮 ,    p  ⭮  ᯮ⥫
  ᥢਥ, 砥  ᥢ, ਡ  ᥢ-
   ⠪ ਭ ।塞 ᨬ .
          ⮤  㪠 ଠ樨 ᥢ.   ࢮ
  ⮤,  ᨬ쭮  ਭ ⮫쪮 ਡ  ᥢ;
   ⥫ ਡ   ।. ன ⮤
   騩,  ⠪   㪠뢠   ᥢ  ⠪  
  ⥫ ᯮ⥫ ଠ.   ⮬ 砥, ᨬ-
    ਭ  ਡ  ᥢ ⠪  ਡ, -
  ।塞 ⥫쭮 ᯮ⥫쭮 ଠ樥.
        ଠ ᯮ⥫쭮 ᥢ, ᯮ㥬
  ⮡ । ᥢ - ᫥.

  Ŀ
   #PRAGMA AUX '('sym,[FAR16]alias')'[';']  
  

  :      ᠭ:

  sym        ⨬ 䨪p C/C++.

  alias      ᥢ -  ⨬ 䨪p C/C++.

       p far16  ᯮ짮 ⮫쪮  ⥬,  -
   ࠧ 맮   16 ⠬    32 ⠬.  -
  饥 ६,  ⢥ p 樮 ⥬, -
     - OS/2 2.x.  ᫨    -  ⥪
  㭪権  p p䥩 짮⥫ (API),  -
  㯭 ⮫쪮  16-pp來 ,         ⨬
  㭪   API  32-pp來 ,    㪠뢠 p
  "far16". ᫨ p "far16" 㪠뢠, p 㤥 -
  ஢ ᯥ樠 ,    16-pp來  -
    32-pp來 .   ,  㭪 far16
    㭪樥,  ਡ ।    ᥢ-
   cdec1  pascal.    ᥢ  뢠 -
  .

       ᬮ ᫥騩 ਬ.

   #pragma aux value_args parm (value);
   #pragma aux (rtn, value_args);

       ணࠬ rtn ਭ ਡ   ᥢ  push_args,
   ।,  ࠬ  rtn ।  ⥪.

                                - 267 -

        ᬮਬ ਬ,   ஬ ᨬ -  s  ।
  ⨯.

   typedef void (func_type) lint);

   #pragma aux pus_args parm [];
   #pragma aux (func_type, push_args);

   extern func_type rtn1;
   extern func_type rtn2;

        ᯮ⥫  ᥢ਩ ।  ᥢ-
   push_args,  ஥ । 堭,   㦭  -
  짮  । p㬥⮢.  堭  । 
  p㬥  ⥪.  ன ᯮ⥫ ᥢ਩ -
   ਡ,  ।塞  ࢮ ᥢਨ  p-
   ⨯ func_type. ᪮ rtn1  rtn2  ⨯ func_type, p-
  㬥     㭪権  ।  ⥪.
        ଠ ᯮ⥫쭮 ᥢ,   
  ᯮ짮, ⮡ । ᥢ - ᫥.

   Ŀ
    #PRAGMA AUX '('alias')' sym aux_attrs [';']       
   

  :        ᠭ:

  alias       ᥢ -  ⨬ 䨪p C/C++.

  sym         ⨬ 䨪p C/C++.

  Aux_attrs - ਡ,   ।   ᯮ-
              ⥫ ᥢਥ.

       ᬮ ᫥騩 ਬ.

     #pragma aux HIGH_C "*"                           \
                         parm caller []               \
                         value no8087                 \
                         modify [eax ecx edx fs gs];
     #pragma aux (HIGH_C) rtn1;
     #pragma aux (HIGH_C) rtn2;
     #pragma aux (HIGH_C) rtn3;


                                - 268 -

       ணࠬ rtn1, rtn2  rtn3 ਭ   ᠬ ਡ 
   ᥢ HIGH_C, ஥ । ᮣ襭  맮, -
  㥬 p MetaWare High C.  ,  -
    ES   ⠪ 㪠뢠  p pp "modify" 
  ᯮ짮  ,  p  ᯮ  
  .  直 ࠧ,   맮  rtn1, rtn2  rtn3, -
   ᯮ짮 ᮣ襭  맮 MetaWare High C.
        ,  ᫨ ਡ HIGH_C , ⮫쪮
   ᥢ਩  .  ᫨      ᯮ짮
   ᥢ  । ਡ     ᥢ-
  ਥ  rtn1,  rtn2  rtn3,    뫨     
  ᥢ.  室 ⠪ 㬥蠥 ꥬ , ॡ-
   p  ࠡ⪨ 室 䠩.

   :   ᥢ HIGH_C  ᥣ  㣮 ᨬ-
                   . ᫨    HIGH_C   襬 室
                   ⥪,   㤥 ਭ ਡ, 㪠 
                   ᥢਨ  HIGH_C.

       11.14.3. ୠ⨢   ᨬ 

        ଠ  ᯮ⥫쭮  ᥢ  -
  짮,  ⮡ 뢠 ⮡ࠦ ᨬ쭮   -
  室   ꥪ⭮ ଥ.

  Ŀ
   #PRAGMA AUX sym obj_name [';']               
  

  :      ᠭ:

  sym        ⨬ 䨪p C/C++.

  bj_name   ᨬ쭠 ப 祭   窨.

        । obj_name,  ᨬ 窨 ("*")  ᯥ-
  쭮 祭;  - ⥫  sym.

        ᫥饬 ਬ,   "myrtn" 㤥   "myrtn_" 
  ꥪ⭮ 䠩.

       #pragma aux myrtn "*_";

        㬮砭    㭪権.

                                - 269 -


        ᫥饬 ਬ,   "myvar" 㤥   "_myvar" 
  ꥪ⭮ 䠩.

       #pragma aux myvar "_*";

         㬮砭.    ६.

       ⮡ࠦ  㬮砭   ᨬ   ⠪  -
  ,   ᫥騬 ਬ஬.

       #pragma aux default "_*";

       㯮 ᯮ⥫  ᥢ਩  ।,
   p ᥬ  㤥  ᯥp ᨬ  ન-
   ('_').

        '^' ⠪  ᯥ樠쭮 祭. 直 ࠧ, 
    ⠫  obj_name,    ᨥ sym  孥
  ॣ.

        ᫥饬 ਬ,   "myrtn" 㤥    "MYRTN"
   ꥪ⭮ 䠩.

       #pragma aux myrtn "^";

       11.14.4. ᠭ ଠ樨 맮

        ଠ ᯮ⥫쭮 ᥢ    -
  짮,  ⮡ 뢠 ᯮᮡ, p 㭪  -
  .

  Ŀ
   #PRAGMA AUX sym FAR [';']                                      
                                                               
   #PRAGMA AUX sym FAR [';']                                      
                                                               
   #PRAGMA AUX sym '=' in_line [';']                              
                                                                  
   in_line ::= {const|(SEG id)|(OFFSET id)|(RELOFF id)|"asm"}     
  


                                - 270 -
  :      ᠭ:

  Sym        㭪樨.

  const     ⨬ 楫 ⠭ C/C++.

  id         ⨬ 䨪 /++.

  SEG       । ᥣ ᨬ쭮 䨪.

  OFFSET    । ᬥ饭 ᨬ쭮 䨪.

  RELOFF । ⭮⥫쭮 ᬥ饭 ᨬ쭮 䨪
            (near) । ࠢ.

  asm         ४⨢ ᥬp.

        ᫥饬 ਬ,  WATCOM C/C++ 32 㤥 ஢ -
   맮  㭪樨 myrtn.

       #pragma aux myrtn far;

        ,   ⬥ ᫥⥫쭮 맮,
   筮     .  㣨 ᫮-
  , 쭨 맮 㤥 ஢,  ᫨  
        .

        ᫥饬 ਬ,  WATCOM C/C++ 32 㤥 ஢ -
   맮  㭪樨 myrtn.

       #pragma aux myrtn far;

        ,   ⬥ ᫥⥫쭮 맮,
   筮     .  㣨 ᫮-
  ,  맮 㤥 ஢,  ᫨  
      让  .
        ᫥饬 ਬ DOS,  WATCOM C/C++ 32  㤥  ஢
  ᫥⥫쭮  ⮢  ᫥   ᨬ "="  ᯮ-
  ⥫쭮 ᥢਨ 直 ࠧ,  p砥 맮  -
   4. Mode4 뢠 ஥ 㭪樥.

    void mode4 (void);
    #pragma aux mode4 =                  \
    0xb4 0x00           /* mov AH,0 */   \
    0xb0 0x04           /* mov AL,4 */   \
    0xcd 0x10           /* int 10H */    \

                                - 271 -

    modify [ AH AL ];

       ᫥⥫쭮  㯮⮬ ਬ  DOS  ।⠢
  ᫥騥 ப  ᥬ.

   mov AH, 0    ; 롮p "⠭ p"  㭪樨
   mov AL, 4    ; । ० ( ० 4 )
   int 10H      ;  맮 BIOS

       㯮 ਬ 뢠,  ஢ 饭 
  㭪樨 BIOS ஥묨  ᠭ 㭪樨 ᥬ   맮
     襩 ணࠬ /++.  ⨯   㭪樨  p 4
   室,   砥  ⮣,  ⮡   짮
  २⢠  ஫ ᮮ⢥⢨ ⨯ p㬥⮢ ᯥ稢-
   WATCOM C/C++ 32.
       騩 ਬ DOS ⥭ 㯮⮬ ਬ,  
  ᯮ   ᥬ  筮 ஢-
    ᥬ.

    void mode4 (void);
    #pragma aux mode4 =            \
        "mov AH, o",               \
        "mov AL, 4",               \
        "int 10H"                  \
        modify [ AH AL ];

       ᫥⥫쭮 p  ᥬ    ᮤ-
   ᨬ 뫪.   ᫥饬 ਬ,  맮  㭪-
  樨 myalias  直 ࠧ,  뢠 myrtn.

    extern void myalias (void);
    void myrtn (void);
    #pragma aux myrtn =                           \
        0xe8 offset myalias /*  맮 */   \

        ᫥饬 ਬ,  쭨 맮  㭪樨 myalias 
  直 ࠧ,  뢠 myrtn.

    extern void myalias(void);
    void myrtn(void);
    #pragma aux myrtn =                                       \
         0x9a offset myalias seg myalias /* 쭨 맮 */  \


                                - 272 -
       11.14.4.1. 㧪 ᥣ⭮ pp 

       ணp   ஢ ⠪  ᥣ ॣ DS
   ᮤন ᥣ⭮  ᥣ   㬮砭 (㯯
  "DGROUP").    筮  뢠  p  ᯮ짮   
  訬 묨.  ।,    뢠 㭪, -
    ,   pp DS ᮤন ᥣ  ᥣ
    㬮砭.  㤥 祭 ஬ ᫨   -
  ஢  ਬ ⠪,  ⮡ ᥣ pp DS ᮤ-
   ᥣ   㬮砭 (   ).
        ଠ  ᯮ⥫쭮 ᥢ 㤥 -
  ⠢ ᥣ ॣ DS 㦠 ᥣ  ᮬ  ᥣ-
     㬮砭 । 맮 㪠 㭪樨.

   #PRAGMA AUX sym PARM LOADDS [';']

  :      ᠭ:

  Sym        㭪樨.

       p⨢, ᫥  ଠ ᯮ⥫쭮 ᥢ-
   㤥 ⠢ ᥣ ॣ DS 㦠 ᥣ
  ᮬ  ᥣ    㬮砭    (prologue)
  ᫥⥫쭮  㪠 㭪樨.

   #PRAGMA AUX sym LOADDS [';']

  :      ᠭ:

  sym         㭪樨.

       11.14.4.2. p㤨⥫쭠 ⠭  ⨢樨

       筮, 㭪 ᮤন  ⨢樨,  ᫨ ࠬ -
  ।   ⥪  ᪠ 쭠 ६ ࠧ頥 
  ⥪.   ⨢樨  㤥 ஢, ᫨ -
  㯮 ᫮  㤮⢮७.   ଠ ᯮ⥫-
   ᥢ 㤥 㦤 p    ⨢樨
  p  ⥫⢠.

  Ŀ
   #PRAGMA AUX sym FRAME [';']    
  


                                - 273 -
  :      ᠭ:

  sym        㭪樨.

       11.14.5. ᠭ ଠ樨  ࠬ

       ᯮ ᯮ⥫ ᥢਨ,    -
   ᮣ襭  맮, ஥ WATCOM C/C++ 32  ᯮ짮-
    맮 㭪権.  ᮡ   p樨 -
  䥩  㭪,  ஢ 㣨 ࠭ࠬ 
  㭪, ᠭ  㣨 몠 ணࠬ஢.
        ଠ ᯮ⥫쭮 ᥢ,  -
   p p㬥⮢, ᫥.

  Ŀ
  #PRAGMA AUX sym PARM { pop_info|REVERSE| {reg_set}}[';']      
                                                                
   pop_info ::= CALLER | ROUTINE                                
  

  :  ᠭ:

  Sym -  㭪樨 .

       reg_set 뢠 ஬ ॣ஢.  ॣ஢ ।-
   ॣ,    ᯮ짮  p p㬥-
  ⮢.    ॣ஢  - ᯨ᮪ ॣ஢,  ⤥塞 ஡ 
  祭   ᪮.

       11.14.5.1. p p㬥⮢  p

        ଠ ᯮ⥫쭮 ᥢ    -
  짮,  ⮡ । ॣ,    ᯮ짮-
    । p㬥⮢   㭪樨.

  Ŀ
   #PRAGMA AUX sym PARM {reg set} [';']     
  

  :      ᠭ:

  sym        㭪樨.

       Reg_set 뢠 ஬ ॣ஢.  ॣ஢ ।-
   ॣ,    ᯮ짮  p p㬥-

                                - 274 -

  ⮢.   ॣ஢ - ᯨ᮪ ॣ஢,  ⤥塞  ஡  
  祭   ᪮.
        p஢ ⠭ ਮ  뤥 ॣ-
  ஢  室 ࠡ⪨ ᯨ᪠ p㬥⮢.   p஢ ࠡ-
   ᫥ p. ,  ।  ॣ஢, ॣ
  롨   浪 .  ᫨  p ॣ஢ ࠡ⠭,
   騥 p㬥   ⥪.
        ,  ᨬ  㪠 ஢ ॣ-
  ஢,  ⮫쪮 । 樨 ॣ஢  롨 
  ࠬ஢ p⭮ ⨯.

       1. 8-⮢ p㬥 (p㬥 ⨯ double)   -
  p ⮫쪮    ᫥  ॣ஢: EDX:EAX, ECX:EBX,
  ECX:EAX,  ECX:ESI,  EDX:EBX,  EDI:EAX,  ECX:EDI,  EDX:ESI, EDI:EBX,
  ESI:EAX,  ECX:EDX,  EDX:EDI, EDI:ESI, ESI:EBX  EBX:EAX. 
  ,       8-⮢ .  ਬ,
  ᫨ ᫥騩  ॣ஢ 㪠뢠  ணࠬ 饩 p-
  㬥 ⨯ double

                   [EBP EBX]

  p㬥 㤥   ⥪, ⠪  ⨬  -
  ஢  8-⮢ p㬥⮢  ᮤন    -
  ஢.

       2.   (far)  㪠⥫   । ⮫쪮  
   ᫥  ॣ஢: DX:EAX, CX:EBX, CX:EAX, CX:ESI, DX:EBX,
  DI:EAX,  CX:EDI,  DX:ESI,  DI:EBX,  SI:EAX, CX:EDX, DX:EDI, DI:ESI,
  SI:EBX,  BX:EAX,  FS:ECX,  FS:EDX,  FS:EDI, FS:ESI, FS:EBX, FS:EAX,
  GS:ECX,  GS:EDX,  GS:EDI,  GS:ESI,  GS:EBX, GS:EAX, DS:ECX, DS:EDX,
  DS:EDI,  DS:ESI,  DS:EBX,  DS:EAX,  ES:ECX, ES:EDX, ES:EDI, ES:ESI,
  ES:EBX,   ES:EAX.  Hਬ, ᫨  㪠⥫ । 
  㭪樨  ᯮ짮 ᫥饣  ॣ஢

               [ES EBP]

   p㬥 㤥   ⥪,  ᪮ ⨬ -
    p஢    㪠⥫  ᮤন   -
  ஢.

       3. ⢥ ॣ,     4--
   p㬥⠬ (pp,  p㬥 ⨯ int): EAX, EBX, ECX, EDX,
  ESI  EDI.  ਬ,  ᫨ ᫥騩  ॣ஢   㪠
   ணࠬ   p㬥⮬ ⨯ int,

                                - 275 -


                      [EBP]

   p㬥 㤥   ⥪,  ⠪  ⨬ -
   ॣ஢  p㬥⮢  4   ᮤন  㪠-
    ॣ஢.

       4. p㬥,  祩 ࠧ - 1   2  (p㬥 ⨯
  har  short int), pp  4 ⠬  p ⥬ -
  祭 ॣࠬ,  ᫨   뫨 4-⮢묨 p㬥⠬.

       5. p㬥,         㯮
  ⥣਩,    ।  ॣ  ।  ⥪.
  ᫨ p㬥 稫   ⥪,  ᥬ 騬 p㬥-
  ⠬     ⥪  ᫨     p-
  p ௠.

       ਬ砭:

   1.  ॣ஢  㬮砭 - [ EAX EBX ECX EDX].

   2.   ॣ஢ AH  AL ⭮ 㪠 p AX.
        ॣ஢ DH  DL ⭮ 㪠 ॣ DX.
        ॣ஢ CH  CL ⭮ 㪠 ॣ CX.
        p஢ BH  BL ⭮ 㪠 ॣ BX.
        p EAX  ࠧ㬥,  ॣ AX 㪠.
        p EBX  ࠧ㬥,  p BX 㪠.
        ॣ ECX  ࠧ㬥,  ॣ CX 㪠.
        p EDX  ࠧ㬥,  ॣ DX 㪠.
        pp EDT  ࠧ㬥,  ॣ DI 㪠.
        p EST  ࠧ㬥,  ॣ SI 㪠.
        p EBP  ࠧ㬥,  p BP 㪠.
        p ESP  ࠧ㬥,  ॣ SP 㪠.

   3. ᫨           
       뫠 㪠  p "zdp",    -
      ஢, ᮤঠ ॣ DS ⠭ 饭.  
       , ᥣ ॣ DS  ⠢ -
      ,  ᪮  㪠뢠  ᥣ  ணࠬ. -
         ,    "zdf" p  ᯮ-
        㪠 ⮣,  ॣ DS  ᮤন ᥣ-
       p ᥣ  ணࠬ.   ⮬ 砥, -
      樨 ॣ஢ ᮤঠ騥 ॣ DS ⨬.


                                - 276 -

   4. ᫨    ᪮  ,   -
       ॣ஢,  ᮤঠ DS  ES ⠭ 饭.  
      ᪮  ,     ﭭ 室   ⮬
        ᠬ  ᥣ.    ॣ DS  ES 㪠뢠 
       ᥣ   ⠢ 묨.

       ᬮ ᫥騩 ਬ.

       #pragma aux myrtn parm [eax ebx ecx edx] [ebp esi];

       ।,  myrtn - ணࠬ  3 p㬥⠬ ⨯  doub-
  le.

   1.  p㬥 㤥 ।  pp  EDX:EAX.

   2. ன p㬥 㤥 ।  pp  ECX:EBX.

   3. ⨩  p㬥  㤥 ।  ⥪,  ᪮ EBP:ESI 
      ⨬ pp   ࠬ஢ ⨯ double.

        ᯮ짮 ॣ p ॣ஢   ०-
  , 祬 ॣ  ࢮ  ॣ஢. ᬮ ᫥騩
  ਬ.

       #pragma aux myrtn parm [eax ebx ecx edx] [esi edi];

       ।,  myrtn - ணࠬ  3 p㬥⠬,  -
   int  p  ⨩ ⨯ double.

   1.  p㬥 㤥 ।  ॣ EAX.

   2. ன p㬥 㤥 ।  pp  ECX:EBX.

   3. ⨩ p㬥 㤥 ।  p ॣ஢ EDI:ESI.

        ,  ॣ   롨  
  ॣ஢ ᫥ ⮣,   ॣ 롨  ᫥ -
  ஢ ॣ஢,   ᫨   ॣ  ࢮ砫쭮 
  ॣ஢ 뫨 ᯮ짮.
       p蠥 ⮩  ॣ஢.  ᫥騥  -
  ஢,  騥 ᫥ ⮣  ॣ஢ ;
   騥 ࠬ   ⥪.


                                - 277 -
       ਬ砭:

       1. ᫨  ⮩  ॣ஢ 㪠뢠,  ࠬ
  ।  ⥪.

       2. ᫨   ॣ஢   㪠뢠,  ᯮ
   ॣ஢  㬮砭 [EAX EBX ECX EDX].

       11.14.5.2. 饭 p㬥⮢  p p

          p㬥  p ॣ.  ।,
     㭪,  ᪠ "mycopy",  p   .
    p㬥 - 筨,  ன - p  ⨩ p㬥 -
  ,  ஢. ᫨  ⨬, ⮡  p㬥
  ।  ॣ EST, ன  pp EDT  ⨩ p㬥
   ॣ ECX,   ᫥騩 ᯮ⥫ ᥢ਩ -
   ᯮ짮.

     void mycopy ( char near *, char *, int );
     #pragma aux mycopy parm [EDI] [ESI] [ECX];

        ,    ᮧ ࠧ p㬥⮢,
  ⮡  ࠭஢,    p㬥 ।  ᮮ⢥
  ॣ.

       11.14.5.3. p p㬥⮢  p 㭪

        㭪権, 祩   WATCOM C/C++ 32  祩 ᯨ᮪
  p㬥⮢  뢠 ᯮ⥫ ᥢਥ,  WATCOM
  C/C++ 32  p ᢮  롮 ⮣,   p㬥 -
    ॣࠬ.      ஥ 㭪権 ।-
   ணࠬ⮬,  ᠭ ᯨ᪠ p㬥⮢     祭
  ᭮. ⮡  , WATCOM C/C++ 32 ਭ,   -
   ॣ஢ 易  p㬥⮬. ᬮ ᫥ ஥
  㭪 뢠 scrollactivepgup.

     void scrollactivepgup (char,char,char,char,char,char);
     #pragma aux scrollactivepgup = \
         "mov AH,6"    \
         "int 10h"     \
         parm [ch] [cl] [dh] [dl] [all [bh] \
         modify [ah];

       ᫥⥫쭮  㯮⮬ ਬ  DOS  ।⠢
  ᫥騥 ப  ᥬ.

                                - 278 -


   mov AH, 6  ; 롮p 㭪樨 "scrol active page up"
   int 10H    ;  맮 BIOS

        맮 BIOS "scroll active page up" ॡ ᫥ p-
  㬥⮢.

       1. ப   ⮫ 孥  㣫  ப⪨ -
    ॣ CH  CL ᮮ⢥⢥.

       2. ப  ⮫  ࠢ 㣫  ப⪨  -
    ॣ DH  DL ᮮ⢥⢥.

       3. ᫮ ப 뤥塞     ।  -
   AL.

       4. ਡ, ᯮ㥬   ப, ।  p
  BH.

        p p㬥⮢, WATCOM C/C++ 32 㤥 ८ࠧ뢠
  p㬥 ⠪, ⮡  頫  ॣ, 㪠   -
  ஢  ⮣ p㬥.   㯮⮬ ਬ, ᫨ 
  p㬥  㭪樨 scrollactivepgup 뢠  p㬥⮬, 祩 ⨯
   int,  㤥 ᭠砫 ८ࠧ뢠  char । 祭-
    ॣ CH.  筮,  ᫨ ஥ 㭪 ॡ
  p㬥    ॣ EAX  p㬥  ⨯ short int,  p㬥
  㤥 ८ࠧ뢠  long int । 祭    ॣ
  EAX.

        饬,  WATCOM C/C++ 32 砥 ᫥騥 ⨯ p -
  ஢.

       1.  ॣ஢, 饬  筮 8-pp來 -
   (1 ), 砥 ⨯ unsigned char.

       2.   ॣ஢,  饬   筮 16-pp來
  ॣ (2 ), 砥 ⨯ unsigned short int.

       3.  ॣ஢,  饬   筮  32-pp來
  ॣ (4 ), 砥 ⨯ unsigned long int.

       4.  ॣ஢, 饬   32-pp來 ॣ஢
  (8 ),  ⨯ double.


                                - 279 -

       11.14.5.4.  p㬥⮢  ⥪

        ଠ ᯮ⥫쭮 ᥢ  ।
   㤠  ⥪ p㬥,  ।  ⥪.

   Ŀ
    #PRAGMA AUX sym FARM (CALLER|ROUTINE ) [';']         
   

  :      ᠭ:

  Sym        㭪樨.

       "CALLER" ।,    뢠 pp 㤥 ⠫-
   p㬥  ⥪; "ROUTINE" ।,  뢠 ண-
  ࠬ 㤥 ⠫ ࠬ  ⥪. ᫨ "CALLER"  "ROU-
  TINE" ᪠,  p㬥 "ROUTINE", ᫨ ⮫쪮 㬮砭
     ।饬 ᯮ⥫쭮 ᥢਨ,   ⮬
  砥  㬮砭 ਭ.

       11.14.5.5. p p㬥⮢  ⭮ 浪

        ଠ ᯮ⥫쭮 ᥢ  㪠뢠,
   p㬥 ।  ⭮ 浪.

  Ŀ
   #PRAGMA AUX sym PARM REVERSE [';']       
  

  :       ᠭ:

  sym         㭪樨.

       筮 p㬥  ࠡ뢠 ᫥ p.  ࠩ 
  p㬥 ।  ॣ,   p p p㬥 -
     ⥪ (᫨ ॣ,  ᯮ㥬  p p㬥-
  ⮢, 뫨 ௠). p㬥,  ।  ⥪ -
   ࠢ .
        p㬥 p  p⭮ p浪,  p p
  p㬥 ।  ॣ,  ࠩ  p㬥 ।-
    ⥪ (᫨ ॣ,  ᯮ㥬  p p㬥⮢,
  뫨 ௠).  p㬥,   ।  ⥪,  
  ᫥ p.
       p⭠ p p㬥⮢    㭪権, -

                                - 280 -

   ॡ, ⮡ p㬥 ।  ⥪  浪, -
    ᯮ㥬   㬮砭.  騩 ᯮ⥫
  ᥢ਩ 뢠 ⠪ 㭪.

       #pragma aux rtn parm reverse [];

       11.14.6. ᠭ ଠ樨  㭪樨

       ᯮ ᯮ⥫ ᥢਨ,    -
   ᯮᮡ,  p 㭪樨   祭.   -
     p樨 䥩  㭪,   -
  ஢ 㣨 ࠭ࠬ   㭪,  ᠭ  -
   몠 ணࠬ஢.
        ଠ ᯮ⥫쭮 ᥢ,  -
   ᯮᮡ, p 㭪 頥 祭, ᫥騩.

  Ŀ
   #PRAGMA AUX sym VALUE {N08087|reg_set|struct_info} [';']  
   Struct_info ::= STRUCT                                    
   {FLOAT|STRUCT|(ROUTINE|CALLER)| reg_set}                  
  

  :      ᠭ:

  sym        㭪樨.

  reg_set 뢠 ஬ ॣ஢.   ॣ஢  ।
          p,    ᯮ짮  p p-
          ⮢.  ॣ஢ - ᯨ᮪ ॣ஢, ⤥塞 -
            祭   ᪮.

       11.14.6.1. p 祭 㭪権  p

        ଠ  ᯮ⥫쭮  ᥢ  -
  짮,  ⮡ । ॣ,    ᯮ짮-
     祭 㭪樨.

   Ŀ
    #PRAGMA AUX sym VALUE reg_set [';']       
   

  :      ᠭ:

  sym        㭪樨.

                                - 281 -


  reg_set    ॣ஢.

        ᨬ   ⨯ p頥 祭,  ⮫쪮 ।-
   ॣ pp   pp.

       1.  1-⮢ p頥 祭,  ⮫쪮 ᫥騥 -
   pp: AL, AH, DL, DH, BL, BH, CL  CH. ᫨ 
  p ॣ஢  ।, ॣ AL 㤥 ᯮ짮.

       2.  2-⮢ 祭 , ⮫쪮 ᫥騥 ॣ
  ࠧp:  AX, DX, BX, CX, SI  DI. ᫨   ॣ-
  ஢  㪠뢠 ᯮ ॣ AX.

       3.  4-⮢ 祭  (  near 㪠-
  ⥫), ⮫쪮 ᫥騥 ॣ pp: EAX, EDX, EBX, ECX,
  EST  EDT. ᫨   ॣ஢  㪠뢠, ᯮ-
   ॣ EAX.

       4.  㭪権    far 㪠⥫,  ᫥-
  騥  p஢  p  pp:  DX:EAX,  CX:EBX,   CX:EAX,
  CX:EST,  DX:EBI,  DI:EAX,  CX:EDI,  DX:ESI, DI:EBX, SI:EAX, CX:EDX,
  DX:EDI,  DI:ESI,  SI:EBX,  BX:EAX, FS:ECX, FS :EDX, FS:EDI, FS:ESI,
  FS:EBX,  FS:EAX,  GS:ECX,  GS:EDX,  GS:EDI, GS:ESI, GS:EBX, GS:EAX,
  DS:ECX,  DS:EDX,  DS:EDI,  DS:ESI,  DS:EBX, DS:EAX, ES:ECX, ES:EDX,
  ES:EDI,  ES:ESI, ES:EBX  ES:EAX. ᫨   ॣ஢ 
  㪠뢠, ᯮ ॣ DX:EAX.

       5.  8-⮢ 祭    (㭪樨  ⨯  double),
  ⮫쪮  ᫥騥 pp  pp:  EDX:EAX,  ECX:EBX,
  ECX:EAX,  ECX:ESI,  EDX:EBX,  EDI:EAX,  ECX:EDI,  EDX:SI, EDI:EBX,
  ES:EAX,  ECX:EDX, EDX:EDI, EDI:ESI, ESI:EBX  EBX:EAX. ᫨ -
    ॣ஢  㪠뢠, ᯮ ॣ EDX:EAX.

       ਬ砭:

       1. ⮩  ॣ஢  pp蠥.

       2. ᫨     , ᯮ饩 
    ,  ᥣ ॣ DS  ⠢ ,
  ⠪   㪠뢠  ᥣ  ணࠬ.

       3. ᫨    ᪮  ,   -
   ॣ஢,  ᮤঠ DS  ES, ⠭ 饭. 

                                - 282 -

  ᪮  ,     ﭭ 室   ⮬  
  ᠬ ᥣ.   ॣ DS  ES 㪠뢠   ᥣ-
     ⠢ 塞묨.

       11.14.6.2.  

       筮,     ॣ .  , -
    pp  ।  ࠭⢮   ⥪  祭
    ⠭ ॣ EST,  ⮡    㪠뢠    
  pp⢮. 뢠 ணࠬ ⥬ 頥 祭 
   , 㪠뢠 ॣ஬ EST.
        ଠ  ᯮ⥫쭮  ᥢ  -
  짮,  ⮡ । ॣ,     ᯮ짮-
  , ⮡ 㪠뢠  祭 .

  Ŀ
   #PRAGMA AUX sym VALUE STRUCT (CALLER|ROUTINE) reg_set [';']    
  

  :      ᠭ:

  sym        㭪樨.

  reg_set    ॣ஢.

       "CALLER" ।,   뢠 pp 㤥 ।-
     p頥 祭.    ,  뤥
    p頥 祭,  頥  ॣ,  ।塞 
   ॣ஢ 뢠饩 pp ०,  祬 㭪 뢠-
  .  ᫨ ⮩  ॣ஢ 㪠뢠,   -
    p頥 祭 㤥   ⥪  -
    । 맮  㤥   ॣ EAX 뢠
  ணࠬ.
       "ROUTINE" ।,  뢠 ணࠬ 㤥 ।-
     p頥 祭. ᫥   뢠饩
  pp,  ॣ,  ।塞   ॣ஢, 㤥 ᮤ-
    祭 .  ⮩  ॣ஢  pp蠥-
  .
       쪮 ᫥騥 ॣ pp   ॣ஢: EAX,
  EDX, EBX, ECX, ESI  EDT.  ,   让 
  ,   ॣ  ਭ 室騬  ᥣ-
  , ।塞 祭  ᥣ⭮ ॣ SS.
       ᫨ ࠧ p頥  1, 2  4 ,  㤥
    ॣ.    㤥 롨  -

                                - 283 -

   ॣ஢ ᫥騬 ᯮᮡ.

       1. 1-⮢  㤥      ᫥-
   p஢:  AL, AH, DL, DH, BL, BH, CL  CH. ᫨  -
   ॣ஢  㪠뢠, ॣ AL 㤥 ᯮ짮.

       2. 2-⮢  㤥      ᫥-
   p஢:  AX,  DX,  BX, CX, SI  DI. ᫨   -
  ஢  ।, ॣ AX 㤥 ᯮ짮.

       3. 4-⮢  㤥      ᫥-
   p஢:  EAX, EDX, EBX, ECX, EST  EDT. ᫨  p
  ॣ஢  ।, ॣ EAX 㤥 ᯮ짮.

        ଠ ᯮ⥫쭮 ᥢ    -
  짮,  ⮡ ।,  , 祩 ࠧ 1, 2 
  4 ,       ॣ.  ,  뢠
  pp  㤥  뤥  ࠭⢮   ⥪  p頥
  祭   㪠뢠 ॣ஬ EST  .

   #PRAGMA AUX sym VALUE STRUCT STRUCT [';']

  :      ᠭ:

  sym        㭪樨.

       11.14.6.3.    饩 ⮩

        ଠ ᯮ⥫쭮 ᥢ    -
  짮,  ⮡ ।,  p頥 祭 㭪樨,
  祩 ⨯ float  double,     ॣ. -
   ⮣,  뢠 pp 㤥 뤥 ࠭⢮  ⥪
   祭   ⠭ ॣ EST  .

  Ŀ
   #PRAGMA AUX sym VALUE STRUCT FLOAT[';']          
  

  :      ᠭ:

  sym        㭪樨.

       㣨 ᫮,  祭  饩 ⮩   -
   ⥬  ᯮᮡ,   .

                                - 284 -

        ଠ ᯮ⥫쭮 ᥢ    -
  짮,  ⮡ ।,  p頥 祭 㭪権,
  祩 ⨯ float  double,      ॣ 80x87
   ஢  ﬨ "fpi87  "fpi". , 祭 -
     ॣ 80x86.  祭 p 㭪権, 祩
  ⨯  float,      ॣ EAX.  祭 p
  㭪権, 祩 ⨯ double,    ॣ EDX:EAX.

  Ŀ
    *PRAGMA AUX sym VALUE  N08087 [';']                      
  

  :      ᠭ:

  sym        㭪樨.

        ଠ ᯮ⥫쭮 ᥢ    -
  짮,  ⮡ ।,  祭  㭪権, 祩
  ⨯ float  double,     ST(0)  ஢-
    ﬨ "fpi87  "fpi".

  Ŀ
   #PRAGMA AUX sym VALUE [8087] [';']             
  

  :      ᠭ:

  sym        㭪樨.

       11.14.7. 㭪樨  p   

        ଠ  ᯮ⥫쭮  ᥢ  -
  짮,  ⮡ 뢠 㭪,    頥  
  뢠饩 pp.

  Ŀ
    #PRAGMA AUX sym  ABORTS [';']                
  

  :      ᠭ:

  sym        㭪樨.

       ᬮ ᫥騩 ਬ.

                                - 285 -


   #pragma aux exitrtn aborts;
    extern void exitrtn(void);

   void rtn ()
  {
  exitrtn ();
   }

       exitrtn ।  㭪,    頥 -
  . ਬ,   뢠 exit, ⮡   -
  .   ⮬ 砥, WATCOM C/C++ 32   "jmp" 
   "call", ⮡ 뢠 exitrtn.

       11.14.8. ᠭ ⮣  㭪樨 ᯮ 

        ଠ ᯮ⥫쭮 ᥢ    -
  짮,  ⮡ 뢠 㭪,     
  ( ,    ᪨ ६),  ᯮ
  אַ  ᢥ 뢠饩 pp.

  Ŀ
    #PRAGMA AUX sym MODIFY NOMEMORY [';']          
  

  :      ᠭ:

  sym        㭪樨.

       ᬮ ᫥騩 ਬ.

    #pragma off (check stack);
    extern void myrtn (void);

    int i = {1033};
    extern Rtn() {
    while(i < 10000) {
    i += 383;
    }
    myrtn();
    i += 13143;
    };

       ⮡ ஢ 㯮 ணࠬ, "rtn.c",  -

                                - 286 -

   ᫥ .

     $wcc386 rtn -oar -dl

        ⨢ 楫,   ᪠ ⨬  横  
  ᯨ᪠ ⨬権 ,    ॡ㥬  ࠭.  
  p "d1" 㪠뢠,  ⮡ ꥪ 䠩,  ந
  WATCOM C/C++ 32, ᮤঠ ଠ  ப 室 䠩.
          ஢  䠩,  ᮤঠ騩  ᥬp
  rtn.o   ᫥饩 .

   $ wdisasm rtn -l -s -r

       뢠  "s" ⠪,   䠩 ᯥ⪨, ந
  ᥬp WATCOM, ᮤন 室 ப  rtn.c.  -
  ⪨ rtn.lst 룫廊 ᫥騬 ࠧ:

     Module: rtn.c
     Group: 'DGROUP' CONST, _DATA

     segment: '_TEXT' BYTE USE32 00000036 bytes
     #pragma Off (check_stack);

     extern void myrtn(void);
     int i= { 1033 };

     extern Rtn() {
      0000 52                Rtn_             push   EDX
      0001 8b 15 00 00 00 00                  mov    EDX,_i

         while( 1<10000 ) {
      0007 81 fa 10 27 00 00 L1               cmp    EDX,00002710H
      000d 7d 08                              jge    L2

            i + 383;
      000f 81 c2 7f 0l 00 00                  add    EDX,00000l7fH
      00l5 eb f0                              jmp    L1

            myrtn();
      0017 89 15 00 00 00 00 L2               mov    _i,EDX
      001d e8 00 00 00 00                     call   myrtn
      0022 8b 15 00 00 00 00                  mov    EDX,_i

            i += 13143;

                                - 287 -

      0028 81 c2 57 33 00 00                  add    EDX,00003357H
      002e 89 15 00 00 00 00                  mov    _i,EDX

     }
      0034 5a                                 pop    EDX
      0035 c3                                 ret

     No disassembly errors
     ------------------------------------------------------------

     Segment: '_DATA' WORD USE32 00000004 bytes
      0000 09 04 00 00              _i- ....

     No disassembly errors
     ------------------------------------------------------------

         ᫥騩 ᯮ⥫ ᥢ਩  
  室 䠩.

     #pragma aux myrtn modify nomemory;

       ᫨   㥬 室 䠩  ⨬ ᥢਥ 
  ᥬp㥬 ꥪ 䠩,  ᯮ ᥬp WATCOM,  
  稬 ᫥騩 䠩 ᯥ⪨:

     Module: rtn.c
     Group: 'DGROUP' CONST,_DATA

     Segment: '_TEXT' BYTE USE32 00000030 bytes
     #pragma off (check_stack);
     #pragma aux myrtn modify nomemory;

     extern void myrtn(void);
     int i= { 1033 };

     extern RLn() {
      0000 52                Rtn         push   EDx
      0001 8b 15 00 00 00 00             mov    EDx _i

         While( 1< 10000 ) {
      0007 81 fa l0 27 00                cmp    EDX,00002710H
      000d 7d 08 00 L1                   jge    L2

            i+= 383;

                                - 288 -

         }
      000f 81 c2 7f 01 00 00             add    EDX 0000017fH
      0015 eb f0                         imp    Ll

         myrtn();
      0017 89 15 00 00 00 00 L2          mov    _i,EDX
      001d e8 00 00 00 00                call   myrtn_

            i += 13143;
      0022 81 c2 57 33 00 00             add    EDX 00,003357H
      0028 89 15 00 00 00 00             mov    _i,EDX

     }
      002e 5a                            pop       EDX
      002f c3                            ret

     No disassembly errors

     --------------------------------------------
     Segment: '_DATA' WORD USE32 00000004 bytes
     0000 09 04 00 00              _i             -....

     No disassembly errors

       ,  祭 i 室  ॣ EDX ᫥ -
  襭  横 "while".  ᫥ 맮 myrtn 祭 i  㦠
     ॣ,  ⮡ 믮 ᫥ ᫮. ᯮ-
  ⥫ ᥢ਩ ᮮ頥 p,   myrtn  -
     ( ,    ᪨  ६-
  ),  ᯮ אַ  ᢥ Rtn , ᫥⥫쭮, -
   EDX ᮤন ࠢ쭮 祭 i.
       ।騩 ᯮ⥫  ᥢ਩   
  ணࠬ,    .   ᬮਬ  砩,
   ணࠬ 뫠  .  ଠ ᯮ⥫쭮
  ᥢ  ᯮ짮,  ⮡  뢠  㭪,
    뫠     ( ,   
  ᪨ ६),   ᯮ אַ  ᢥ -
  饩 pp.

   Ŀ
    #PRAGMA AUX sym PARM NOMEMORY MODIFY NOMEMORY [';']     
   


                                - 289 -
  :      ᠭ:

  sym        㭪樨.

       ਬ砭:

       1.    ।  "parm nomemory" ⠪  "modify no-
  memory".

         ᯮ⥫  ᥢp    ਬ
  ᫥騬 ᯮ⥫ ᥢਥ.

     #pragma aux myrtn parm nomemory modify nomemory;

       ᫨  ⥯   室 䠩  ᥬp-
   ꥪ 䠩,  ᯮ wdisasm,  १ - ᫥騩 䠩
  ᯥ⪨.

      Module: rtn.c
      Group: 'DGROUP' CONST, DATA

      Segment: '_TEXT' BYTE USE32 0000002a bytes

      #pragma off (check_stack);
      #pragma aux: myrtn parm nomemory modify nomemory;

                                - 290 -


      extern void myrtn(void);
      int i= {1033};

      extern Rtn() {
      0000 52              Rtn_                push    EDX
      0001 8b15 00 00 00 00                    mov     EDX,_i

         while (i < 10000) {
      0007  81 fa 10 27 00 00 L1               cmp    EDX,00002710H
      000d 7d 08                               jge    L2

            i += 383;
         }
      000f 81 c2 7f 01 00 00                   add    EDX,0000017fFI
      0015 eb f0                               jmp    L1

         myrtn();
      0017 e8 00 00 00 00     L2               call   myrtn_

         i += 13143;
      001c 81 c2 57 33 00 00                   add    EDX,00003357H
      0022 89 15 00 00 00 00                   mov    _i,EDX

     }
      0028 5a                                  pop    EDX
      0029 c3                                  ret

     No disassembly errors

     --------------------------------------------------------------
     Segment: '_DATA' WORD USE32    00000004 bytes
      0000 09 04 00 00                _i             -....

     No disassembly errors
     --------------------------------------------------------------

        ,    ᫥  襭 横 "while"  
   ஢ i 祭    ॣ  EDX  ।  맮
  myrtn.  ᯮ⥫ ᥢ਩ ᮮ頥 ࠭, 
  myrtn  뫠     ( ,     
  ᪨ ६),   ᯮ אַ  ᢥ myrtn
  ⠪,  ஢ i  뫮 室 । 맮 myrtn.


                                - 291 -

       11.14.9. ᠭ p஢ 塞 㭪樥

        ଠ ᯮ⥫쭮 ᥢ    -
  짮,  ⮡ 뢠 ॣ,   㭪 㤥 -
  짮  ࠭.

  Ŀ
    #PRAGMA AUX sym MODIFY [EXACT] reg_set[';']        
  

  :      ᠭ:

  sym        㭪樨.

  reg_set    ॣ஢.

         ॣ஢ ᮮ頥 WATCOM C/C++  32,    -
  ,  ਭ騥  ⮬  ॣ஢,  㭪-
  .    祭  ॣ । 맮 㭪樨  ⫨筮  
  祭 ᫥ 믮 㭪樨.
       ,   ᯮ,  ⮡  ।  p㬥
  ਭ 騬 , ᫥⥫쭮,   ࠭ 
  ⠭ 뢠 㭪樥.  p 室, 뢠-
    pp 㤥 ᮤঠ ,  ⮡ ࠭  ⠭-
   ᮤন ॣ஢,  ᯮ㥬   ।  p㬥⮢.
   ,  ࠭  ⠭ ᮤন 
  ॣ஢    室, ᫨ 뢠 㭪  -
   .  ଠ ᯮ⥫쭮 ᥢ 
  ᯮ짮,  ⮡ 뢠   ॣ   -
   뢠 㭪樥.

  Ŀ
   #PRAGMA AUX sym MODIFY EXACT reg_set[';']          
  

  :      ᠭ:

  sym        㭪樨.

  reg_set    ॣ஢.

        ଠ  ᯮ⥫쭮  ᥢ ᮮ頥 WATCOM
  C/C++ 32  ਭ,   ॣ, ᯮ㥬  । p-
  㬥⮢      뢠 㭪樥.  쪮 ॣ,

                                - 292 -

  㪠   ॣ஢,   .  㤥 ।-
   p ,    室 ࠭  -
  ⠭ ᮤন ॣ஢,  ᯮ㥬  ।  p-
  ⮢.

       11.14.10. ਬ

        㯮   ࠭ ࠧ,  ᫥騩 ᥢ-
  ਩ । ᮣ襭  맮    㭪権,  㥬
  p MetaWare High C.

     #pragma aux HIGH_C "*"
                        parm caller []
                        value no8087
                        modify [eax ecx edx fs gs];

        ,   ॣ ES  ⠪ 㪠뢠  
  p ॣ஢ "modify"  ᯮ짮    
   ⫨筮  .   㤨    ᥢ਩
  ஡.

  "*"
       ।,    㭪権  ६ 룫  -
       ⭮ ଥ ⠪    室 ଥ.

  parm caller []
       ।,    ࠬ    ।    ⥪
       (⮩  ॣ஢  㪠)  뢠 pp -
        㤠 p㬥  ⥪.

  value no8087
       ।,   祭    饩 ⮩  -
       ,  ᯮ pp 80x86,    pp   饩
       ⮩ 8087.

  modify [eax ecx edx fs gs]
       ।,  ॣ EAX, ECX, EDX, FS  GS  ࠭
       뢠 ணࠬ.

        ,  ᯮ ⮤  㬮砭 -
   祭 楫 ᫠; 1-⮢ ᨬ   ॣ-
   AL,  2-⮢ 楫 ᫠ p  ॣ AX,  4--
  ⮢ 楫 ᫠   ॣ EAX.


                                - 293 -

       11.14.11. ᯮ⥫ ᥢਨ  80x87

        ࠧ    ⥬ ᯥ⠬ ᯮ⥫  ᥢ-
  ਥ,    ᯥ᪨  80x87. 㦤-
    ⮩  । ᯮ짮     権  "fpi"
    "fpi87"  p ஢ 㭪権.  ᯮ짮  権
    ᫥騥 .

       1. p p㬥⮢  饩 ⮩  㭪.

       2.  祭  饩 ⮩  㭪権.

       3.  ॣ  饩 ⮩ 8087 pp蠥  -
   뢠 ணࠬ.

       11.14.11.1. ᯮ짮 80x87  । p㬥⮢

        㬮砭, p㬥  饩 ⮩ ।  ⥪
  80x86, ॣ 80x86   ᯮ  । p㬥-
  ⮢    饩  ⮩,    㭪   ﬨ
  "fpi87  "fpi".  ,    ᯮ짮, ⮡ ।-
   p㬥,  祩 ⨯ ⫨祭  饩 ⮩ ⨯ p㬥-
  ⮢ "int".
        ଠ  ᯮ⥫쭮  ᥢ  -
  짮,  ⮡ 㪠뢠 ॣ,     ᯮ짮-
    । p㬥⮢  㭪.

  Ŀ
   #PRAGMA AUX sym PARM {reg set} [';']            
  

  :      ᠭ:

  sym        㭪樨.

  reg_set -  ॣ஢.  ॣ஢  ᮤঠ pp
          80x86 - p "8087".

       ਬ砭:

       1. ᫨ 㪠뢠 ⮩    ॣ஢,    p㬥,
    p㬥  饩 ⮩,   ।  ⥪
  80x86.


                                - 294 -

        p "80x87"    ॣ஢,  
  ,  p㬥  饩 ⮩   ।  p-
  p  饩 ⮩ 8087, ᫨ 室 䠩 
   樥 "fpi87  "fpi".  । 㦤 । p㬥⮢ 
  ஡,    騥 砭 ⭮⥫쭮 ਬ-
   ॣ஢  饩 ⮩ 8087.
       80x87 ᮤন 8 ॣ஢  饩 ⮩,   -
   ନ ⥪.  ⥫ 設 ⥪ 뢠 ST - 
  ᫮  0  7,  㪠뢠饥  ॣ   饩  ⮩
  8087  室    p設 ⥪.  ST - ࢮ砫쭮 0.  
  80x87 뫠   ॣ ⥬ 㪠    ॣ  
  饩 ⮩.   ⥬   ⥪饬 祭
  ST.  㬬 (  8) ।  ॣ    饩  ⮩
  8087,  㦭 ᯮ짮. ।⠢ ST(n),  "n" -
  室  0  7,  ᯮ ⮡    樨  p-
  p  饩 ⮩ 8087 ⭮⥫쭮  ST.
        稭  饩 ⮩ 㦠  ⥪  ॣ-
  ஢  饩 ⮩ 8087, ST - pp (  8),
   祭 㦠  ST(0).   祭  饩 ⮩
  ࠭        ⥪  ॣ஢   饩 ⮩
  8087,  ST pp (  8)  ST(1) ⠭ ST(0).
  饥  ਬ ⥪ pp  饩 -
  ⮩ 8087, ਭ  祭 ST p 4 (4 祭 㧨
   ⥪ ॣ஢  饩 ⮩ 8087).

                       Ŀ
              0          4th from top    ST (4)
                       Ĵ
              1          5th from top    ST (5)
                       Ĵ
              2          6th from top    ST (6)
                       Ĵ
              3          7th from top    ST (7)
                       Ĵ
        ST -> 4          top of stack    ST (0)
                       Ĵ
              5          1st from top    ST (1)
                       Ĵ
              6          2nd from top    ST (2)
                       Ĵ
              7          3rd from top    ST (3)
                       

       H稭  ᨨ 9.5, p WATCOM ᯮ  ᥬ

                                - 295 -

   ॣ஢ 80x87  ⥪, ᫨ ⮫쪮     -
    "fpr"    ᮢ⨬  ,  㥬  ।騬
  ﬨ.   ⮬ 砥,  ⮫쪮   ॣ஢  ᯮ
   ⥪.
        ᨨ 9.0  ࠭ ,  p WATCOM  ᯮ  ⮫쪮
    쬨 ॣ஢ 8087  ⥪.    ॣ -
  , ⮡ । p㬥. 㣨  ॣ -
   ,  뢠 襬 8087.  ᯮ  -
   ६  饩 ⮩.
       ०, 祬 ணࠬ 稭 믮, ﭨ ॣ஢
  80x87 ᫥饥.

       1.  ॣ  饩 ⮩ 8087,  ନ-
   ⥪,  樠஢묨.

       2.  ॣ  饩 ⮩,   ନ 
  80x87, 樠 㫥.

       ⥫쭮, ࢮ砫쭮  80x87 砥 ST(0),  ST(1),
  ST(2)  ST(3). ST  祭 4   p p㭪. 
  祭  饩 ⮩ 頥  ⥪ (  砥  p-
    p㬥⮢   饩 ⮩),   ⠭ ST(0)  
  80x87 砥 ST(1), ST(2), ST(3)  ST(4).  ⥪ 80x87 ,
  ST(0),  ST(1), ST(2)  ST(3) ନ ⥪  ST(4), ST(5), ST(6) 
  ST(7) ନ  80x87.

       ࠢ  p p㬥⮢ - ᫥騥.

       1. ᫨ p㬥   饩 ⮩,  ᯮ 楤-
  , ᠭ p  ⮩ .

       2. ᫨ p㬥 -  饩 ⮩,  ।饬 p㬥-
   뫠 祭   ⥪ 80x86 ( ⥪ 80x87), p-
      饩  ⮩ ⠪    ⥪ 80x86.
   室  ᫥饬 蠣.

       3. ᫨ p "80x87"    ॣ஢  ᥢ-
  ਨ  ᫨ ⥪ 80x87  , p㬥  饩 -
  ⮩ 砥 ॣ  饩 ⮩ ST(0) (孨  
  ⥪  80x87).  ।騩  孨  (᫨ ⠪ ) -
  ⥯  ST(1).    p㬥   ⥪ ࠢ ,
  ࠩ  p㬥  饩 ⮩ 㤥  ST(0).  p-
  㬥  饩 ⮩    ⥪ 80x86.


                                - 296 -

       ᬮ ᫥騩 ਬ.

       #pragma aux myrtn parm [8087];

  void main()  {
      float    x;
      double   y;
      int      i;
      long int j;

      x = 7.7;
      i= 7;
      y = 77.77;
      j = 77;
      myrtn(x, i, y, j);
  }

       yrtn -  㭪 ᥬ,   ॡ  p㬥-
  ⮢.   p㬥 ⨯ float (4 ),  ன p㬥  
  ⨯  int  (4 ),  ⨩ p㬥  ⨯ double (8 ⮢) 
  ⢥ p㬥  ⨯ long int (4 ).   p㬥 -
   ।  myrtn ᫥騬 ᯮᮡ.

       1. ᪮    ॣ஢ 뫠 㪠 "8087",  
  p㬥 ⨯ float,  㤥 ।  p  饩  ⮩
  8087.

       2. ன  p㬥  㤥 ।  ⥪,  ᪮ 
  p஢ 80x86  뫮 㪠   ॣ஢.

       3. ⨩ p㬥 㤥 ⠪ ।  ⥪.  ᫥-
  饥 ࠢ: ᫨ p㬥    ⥪, ᥬ -
  騬 p㬥⠬     ⥪.    -
  ,    㯮⮥  ࠢ   ᫨  -
  쪮 pp  饩 ⮩ 8087,  㯭  p
  p㬥⮢  饩 ⮩.

       4. ⢥ p㬥 㤥 ⠪ ।  ⥪.

         ᯮ⥫ ᥢ਩  㯮-
  ⮬ ਬ ᫥騬 ࠧ.

     #pragma aux myrtn parm [eax 8087];


                                - 297 -

       p㬥  ⥯ ।  myrtn  ᫥騬  ᯮ-
  .

       1.   p "8087" 뫠 㪠   ॣ஢, -
   p㬥 ⨯ float 㤥 ।  p  饩  -
  ⮩ 8087.

       2. ன  p㬥  㤥 ।  ॣ EAX,  p뢠
   㯭  p p㬥⮢ pp 8086.

       3. ⨩ p㬥, ⨯ double, 㤥 ⠪ ।  ॣ-
    饩 ⮩ 8087.

       4. ⢥ p㬥 㤥 ।  ⥪, ᪮ p-
  ஢ 8086  ⠫   ॣ஢.

       11.14.11.2. ᯮ짮 80x87   祭 㭪権

        ଠ ᯮ⥫쭮 ᥢ    -
  짮,  ⮡ 뢠 㭪,  頥 祭
   饩 ⮩  ST(0).

  Ŀ
    #PRAGMA AUX sym VALUE reg_set [';']                
  

  :      ᠭ:

  sym        㭪樨.

  reg_set    ॣ஢ ᮤঠ騩 "80x87",   [8087].

       11.14.11.3. ࠭ pp  饩 ⮩ 8087 p
                   맮

        ꥪ⭮  ਭ,   ᥬ ॣ஢
   饩 ⮩ 8087 㯭  ਬ  ।  㭪-
  樨,  ᫨ ⮫쪮  ᯮ짮  "fpr", ⮡ ஢
  ᮢ⨬   (  p WATCOM ᯮ짮
   ॣ  ).   ଠ ᯮ⥫쭮 ᥢ-
   ।,   pp  饩  ⮩    
  8087   㪠 㭪樥.


                                - 298 -
   Ŀ
     #PRAGMA AUX sym MODIFY reg_set [';']          
   

  :      ᠭ:

  sym        㭪樨.

  reg_set    ॣ஢ ᮤঠ騩 p "8087".

          WATCOM  C/C++  32 ࠭  
  ६,   ࠧ   80x87 । 맮 㪠-
   ணࠬ.
.
                                - 299 -


                       p㬥p WATCOM


                         騪 WATCOM


       12.

       騪 WATCOM - । 痢,    ꥪ
      䠩    ᮧ ᯮ塞 䠩  -
  . 騥 ଠ ꥪ 㫥 p -
   WATCOM.

   - ⠭ ଠ ꥪ⭮  INTEL.

   - ७  Microsoft   ⠭⭮ ଠ ꥪ⭮ 
     Intel.

   - p ꥪ⭮  Phar Lap Easy OMF-386  
     ਪ ணࠬ  386.

       騪 WATCOM ᯮᮡ ᮧ  ଠ⮢ ᯮ塞
  䠩.  ᫥ ᯨ᮪  ଠ⮢ ᯮ塞 䠩.

   - ᯮ塞 䠩 DOS

   - ᯮ塞 䠩,  p騥   pp⥫ﬨ  DOS  Rational's
     DOS/4G  DOS/4GW

   - ᯮ塞 䠩, p騥  pp⥫ DOS Phar Lap's 386

   - ᯮ塞 䠩, p騥  Ergo's OS/386

   - 㦠 㫨 NetWare (NLMs), p騥  ⥬ Netware
     386 p Novell

   - ᯮ塞 䠩 OS/2,  ᪨ ⥪ -
     

   - ᯮ塞 䠩 PenPoint,  ᪨ ⥪ -
     

   - ᯮ塞 䠩 QNX

                                - 300 -


   - ᯮ塞 䠩 Windows 3.x,   ᪨  ⥪
     

   - ᯮ塞  䠩  Windows  NT,  ᪨ ⥪
     

       ஬ ᯮᮡ ஢ 㯮 ଠ  ᯮ塞
  䠩, 騪 WATCOM ⠪ p⠥  ⢮ 樮
  ⥬.   饥 ६, 騪 WATCOM 믮  ᫥-
  騬 樮묨 ⥬.

   - DOS

   - OS/2

   - QNX

   - Windows NT

        㪮⢮  뢠 ⮫쪮 ଠ ᯮ塞 䠩
  QNX.

       13. ଠ ᯮ塞 䠩

            ᯥ⠬ 騪 WATCOM,  ॡ-
  묨  樨 ᯮ塞 䠩 QNX. ଠ ᯮ塞 䠩-
   QNX 㤥 믮 ⮫쪮  樮 ⥬ QNX.

       13.1.  ப 騪 WATCOM

         WATCOM 騪 ।      ப.
  饥 ।⠢ ᯮ, ⮡ 뢠 ᨭ⠪ -
   騪 WATCOM.

  ABC       㪠 ꥪ p  孥 ॣ.

  [bc]    ꥪ abc 易⥫.

  {abc}    ꥪ abc     襥  ⢮
           ࠧ.

  {abc}+   ꥪ abc      襥 ⢮
           ࠧ.

                                - 301 -


  a|b|c       㪠뢠   a, b  c.

  ::=b      ꥪ  ।  ନ b.

       ଠ  ப 騪 WATCOM - ᫥騩.

     wlink {p⨢}

  p⨢::= ALIAS symbol_name=symbol_name{,symbol_name=symbol_name}
            |DEBUG [db_option{,db_option}]
            |DISABLE msg_num{,msg_num}
            |FILE obj_spec{,obj_spec}
            |FORMAT QNX [FLAT]
            |LIBFILE obj_file{,obj_file}
            |LIBPATH path_name{:path name}
            |LIBRARY library_file{,library file}
            |MODTRACE obj_spec{,obj_spec}
            |NAME exe_file
            |NEWSEGMENT
            |OPTION option{,option}
            |PATH path_namer{:path_name}
            |REFERENCE symbol_name{,symbol_name}
            |SEGMENT seg_desc{,seg_desc}
            |SORT [GLOBAL][ALPHABETICAL}
            |SYMTRACE symbol_name{,symbol_name}
            |SYSTEM system_name
            |SYSTEM BEGIN system_name{directive}END
            |@directive_file
            |#comment

  obj_spec::= obj_file[(obj_module)]
              |library_file[(obj_module)]

  db_option::=LINES|TYPES|LOCALS|STATIC|ALL

  option::=ARTIFICIAL|[NO]CACHE|[NO]CASEEXACT|DOSSEG
            |ELIMINATE|HEAPSIZE=n|LINEARRELOCS
            |LONGLIVED|MANGLEDNAMES|MAP[=map_file]
            |MAXERRORS=n|NAMELEN=n|NODEFAULTLIBS
            |NORELOCS|OFFSET=n|OSNAME='string'
            |PACKCODE=n|PACKDATA=n|PRIVILEGE=n
            |QUIET|RESOURCE[=resource_file|'string']
            |STACK=n|STATIC|SYMFILE[=symbol_file]

                                - 302 -

            |UNDEFSOK|VERBOSE

  seg desc::=seg_id{seg_attrs}+

  seg_id::='seg_name'{CLASS'class_name'

  seg attrs::=EXECUTEONLY|EXECUTEREAD|READONLY|READWRITE

  :         ᠭ:

  obj_file
       ᯥ䨪 䠩   ꥪ⭮ 䠩. ᫨ ७
       䠩  ।, ७ 䠩 "." ਭ.

  library_file
       䨪 䠩   筮 䠩.  ᫨ libra-
       ry_file    ४⨢ "LIBRARY",   p७ 䠩
        㪠뢠,  p ७  ".lib".  ᫨  libra-
       ry_file    p⨢ "FILE",   ७ 䠩 
       ।, p७ ".o" ਭ.

         䠩 ।  ४⨢ "FILE"  㪠-
       뢠 obj_module, ꥪ , 㪠뢠 obj_module,
         䠩 ⥪    砥    ᯮ塞
       䠩. ᫨ obj_module  㪠뢠 (⮫쪮  䠩
       ।),   ꥪ 㫨  ⥪  
       ᯮ塞 䠩.

  obj_module
        ꥪ⭮ ,  ᮤঠ饣  筮 䠩 
        ꥪ⭮ 䠩.

       ꥪ 䠩  ᮤঠ  ꥪ 㫥. -
       ⮩ ᯮᮡ ᮧ ⠪ ꥪ⭮  䠩  o    ⮬,
       ⮡  ꥤ   ꥪ 䠩   ꥪ 䠩.
         ࢮ砫 ꥪ 䠩 -  ⥯  ꥪ
         १p饬 ꥪ⭮ 䠩. ,  -
          ஢ ꥪ  䠩,  
       ᮤঠ  ꥪ 㫥.  । obj_module -
        롨 p ꥪ   ꥪ⭮ 䠩-
       .

  exe_file
       䨪 䠩    ᯮ塞  䠩.  

                                - 303 -

       ⢨ ७.

  path_name
        .

  msg_num
        ᮮ饭.

  directive_file
       䨪 䠩   䠩 p⨢ () -
       騪. ᫨  ७ 䠩  㪠뢠, p-
        p७ 䠩 "lnk".

  map_file
       䨪 䠩   䠩  (map file). ᫨ -
       ७ 䠩  㪠뢠, ७ "map" ਭ.

  symbol_file
       䨪 䠩   䠩 ᨬ 䨪p.
       ᫨ ७ 䠩  㪠뢠,  p७ "sym" ਭ-
       .

  symbol_name
       ᨬ쭮 .

  alias_name
        ᥢ.

  system_name
        ⥬.

  comment
        ᫥⥫쭮 ᨬ.

  n
       ।⠢ 祭.  ଠ n - ᫥.

                        [0x]d{d}[k|m]

       d ।⠢  .  ᫨ 0x 㪠뢠,  ப
        ।⠢ ⭠筮 ᫮. ᫨ k 㪠뢠,
       祭 㬭  1024.  ᫨ m 㪠뢠, 祭 -
         1024*1024.


                                - 304 -

         ᬠਢ  ४⨢ ᯥ᪨  ᯮ-
  塞 䠩 QNX,   ᫥饥:

      wlink ? qnx

       ਬ砭:

       1. ᫨ 䠩 /etc/wlink.hlp , ᮤন ⮣ 䠩
  㤥 뢮,  ᫥  .

           wlink ?

       2. ᫨      ଠ   頥  
  ப,  ᫥饥.

            wlink

   ᫥饩 ப  ᪠-p  "WLINK".    
    ᪮쪮  p  ப    ଠ樨.  
  "Ctrl/D", ⮡    ଠ樨.

       13.2. ४⨢ 騪 WATCOM

       ४⨢ ᮮ  騪  WATCOM    ᮧ  
  ணࠬ.  ਬ, ᯮ ४⨢   ᮮ -
  騪 WATCOM,   ꥪ 䠩    ணࠬ-
  ,     䠩 ᪠,  ⮡  ।
  뫪,   ᯮ塞 䠩.

        wlink.ink - ᯥ樠 䠩  (p⨢)  -
  騪,  ⮬᪨ ࠡ뢠 騪 WATCOM -
  । ࠡ⪮  㣨 ४⨢.   ⥬,  p 
  DOS,  OS/2  WINDOWS NT,   䠩  ࠧ   
  ⮢, ।塞  ६ p PATH.  ⥬, p-
  饩  QNX,  䠩  ࠧ  ⠫ "\etc". -
    㬮砭 ⮣ 䠩  ⥬,  p  DOS, ࠧ-
  頥    ⠫  "\watcom\bin",   ⠫ "\watcom\binp" 
  ⥬,  p  OS/2,  ⠫ \etc  ⥬, -
  p  QNX,   ⠫ \watcom\binnt  ⥬, p-
    Windows NT.   ,   䠩 wlink.ink  砥
  䠩  wlsystem.ink,    ࠧ頥  ⠫ \watcom\binb 
  ⥬  DOS,  OS/2  Windows NT  ⠫ \etc   ⥬  
  QNX.
        wlink.ink  wlsystem.ink 뫠   ६  p

                                - 305 -

  WATCOM,   ⠭  ⠫,  ஬  -
  ⠭  ணࠬ ᯥ祭 .
          ᯮ짮 ६ p  । -
  ४⨢ (). ਬ, ᫨ ६ p LIBDIR ।-
   ᫥騬 ࠧ,

     export libdir=/test

      ४⨢ 騪

     library $libdir/mylib

     ⭠ ᫥饩 ४⨢ 騪.

     library /test/mylib

        ,    ஡  ।⢮ 뫪 
  ६ p.
       騥 ࠧ  뢠  ४⨢ 騪 WATCOM,
  p ᯮ, ⮡ ஢ ᯮ塞 䠩 QNX.

       13.2.1. ४⨢ ALIAS

       ४⨢ "ALIAS" ᯮ, ⮡ । ⭮
    ᨬ쭮 . ଠ ४⨢ "ALIAS" ( ⪠ -
   "A") - ᫥.

   ALIAS alias_name=symbol name{,alias_name=symbol_name}

  :         ᠭ:

  alias_name    ᥢ.

  symbol_name  ᨬ쭮   ஬  ᥢ ⮡ࠦ.

       ᬮ ᫥騩 ਬ.

       alias sine=mysine

        騪 ஡  뫪  sine,   㤥  -
      sine  mysine  稭 ᪠ 䨪-
  p mysine.

       13.2.2. ४⨢ DEBUG

                                - 306 -


       ४⨢ "DEBUG" ᯮ,  ⮡ 㪠뢠  騪
  WATCOM ஢ ଠ  ⫠  ᯮ塞 䠩.  
  ⥫쭠 ଠ  ᯮ塞 䠩 ᯮ ⫠-
   WATCOM,  . ଠ ४⨢ "DEBUG" (⪠ ଠ "D") -
  ᫥騩.

     DEBUG [db_option {,db_option }]

     db_option::= LINES|TYPES|LOCALS|STATIC|ALL

      ᫥ ᯨ᮪ ᮢ ⫠筮 ଠ樨.

   - ଠ   ᨬ 䨪p

   - ଠ  ᪨ ᨬ 䨪p

   - p  p ப

   - ଠ   ᨬ 䨪p

   - ଠ  ⨯

       騥 樨   ᯮ짮    ४⨢  "DEBUG",
  ⮡  ࠢ    㯮 ᮢ ଠ樨  ⫠
  砥  ᯮ塞 䠩.

  LINES
       (⪠ ଠ  "LI") 㪠뢠  p  p ப
         ᨬ (䨪p).

  LOCALS
       (⪠ ଠ  "LO")  㪠뢠   p   
        ᨬ.

  TYPES
       (⪠ ଠ  "T")  㪠뢠   p  ⨯  -
        ᨬ.

  STATIC
       (⪠ ଠ  "ST") 㪠뢠  p  ᪨ 
        ᨬ.

  ALL

                                - 307 -

       (⪠ ଠ  "A") 㪠뢠   㯮 ⫠-
        ଠ.

        :    ४⨢  "DEBUG".  ஢
  ⫠筮 ଠ樨, ।塞  ४⨢ "DEBUG", ਬ-
   ⮫쪮  ꥪ 䠩  ⥪,      
  ᫥ p⨢ "FILE"  "LIBRARY".  ਬ, ᫨ "DEBUG
  ALL" 뫠 ⢥ 㪠 p⨢  ⫠    뫠  ⠪
  ᫥ ४⨢ 騪,   ଠ  ⫠ 
    ᯮ塞 䠩.
       쪮 p      ᪨ 䨪p
  䠪᪨ ந 騪 WATCOM; 㣨   -
  筮 ଠ樨   ꥪ 㫥   
  ᯮ塞 䠩.  ⥫쭮,    樨,   
  ஢ p ஢ p   ᨬ-
  ,  p ப  ⨯  ꥪ⭮ 䠩 ⠪,  ⮡  -
  ଠ   । ᯮ塞 䠩.  ᫨  ᨫ
  騪 WATCOM ந p  ⫠筮 ଠ-
  樨  ,    ।⠢,   ᫥ p稭 -
   .

       1.  ⫠筠 ଠ   ।⠢    ꥪ
  䠩.

       2. ४⨢ "DEBUG" 뫠 饭  p쭮 .

       騥 ࠧ 뢠  ⫠筮 ଠ樨.

       13.2.2.1. ଠ  p p - DEBUG LINES

        "DEBUG  LINES" ࠢ ࠡ⪮ p樨  p
  ப. p  p ப -  ப   ᣥ-
       ப 室 ⥪  p⭮ -
  .    믮 ⫠  室 ஢. 
  騪 WATCOM ⠫  ४⨢ "DEBUG"  ﬨ "LI-
  NES"  "ALL", ଠ   ப   ᫥饣
  ꥪ⭮  㤥   ᯮ塞 䠩.  砥
   ꥪ 㫨, 祭  ꥪ 䠩, ।塞
   ᫥ ४⨢ "FILE"  ꥪ 㫨,  祭 
  ⥪, ।塞  ᫥ p⨢ "LIBRARY"  "FI-
  LE".

   :  㫨,   㦭 p  -
                     p ப,   ஢  ﬨ "d2

                                - 308 -

                      "d1".

       ᫥ ४⨢  "DEBUG"  権 "LINES"  "ALL" -
  蠥 ࠡ p樨  p ப.

       13.2.2.2. ଠ   ᨬ - DEBUG LOCALS

        "DEBUG LOCALS" ࠢ ࠡ⪮ ଠ樨  -
    ᨬ (䨪p).  p   ᨬ -
      ᨬ,     .  -
     室  ᨬ ⠪,     뫠 
     ணࠬ   .    騪  WATCOM
  ⠫  ४⨢ "DEBUG"  ﬨ "LOCALS"  "ALL", -
  ଠ   ᨬ    ᫥饣  ꥪ⭮
   㤥   ᯮ塞 䠩.  砥  ꥪ-
   㫨, 祭  ꥪ 䠩, ।塞  ᫥-
   ४⨢ "FILE"  ꥪ 㫨, 祭  -
  ⥪, ।塞  ᫥ p⨢ "LIBRARY"  "FILE".

  :  㫨,   㦭 p   ᨬ-
            ,  ஢  樥 "d2".

       ᫥ ४⨢ "DEBUG"  権 "LOCALS"  "ALL" -
  蠥 ࠡ ଠ樨   ᨬ.

       13.2.2.3 ଠ  ⨯ - DEBUG TYPES

        "DEBUG TYPES" ࠢ ࠡ⪮ ଠ樨    ⨯.
  ଠ  ⨯ 砥 ᠭ  ⨯,    -
  ,  ।  㫥 .    ⮡ࠦ
  ६, ᮣ᭮  ⨯.  騪 WATCOM ⠫-
    ४⨢ "DEBUG"  ﬨ "TYPES"  "ALL",  ଠ  
  ⨯   ᫥饣 ꥪ⭮  㤥  
  ᯮ塞 䠩.  砥  ꥪ 㫨, 祭 
  ꥪ  䠩,  ।塞   ᫥ ४⨢ "FILE" 
  ꥪ 㫨, 祭  ⥪, ।塞  ᫥-
   ४⨢ "LIBRARY"  "FILE".

  砭:  㫨,  p 㦭 ଠ  ⨯, 
             ஢  樥 "d2".

       ᫥ ४⨢ "DEBUG"    権  "TYPES"    "ALL"
  pp頥 ࠡ ଠ樨  ⨯.


                                - 309 -

       13.2.2.4. p  ᪨ ᨬ 䨪p -
                 DEBUG STATIC

        "DEBUG STATIC" ࠢ ࠡ⪮ p樨   -
  ᪨ ᨬ 䨪p.  p  ᪨ ᨬ-
   ⮨  p  ᪨ ᨬ  襩  ணࠬ
    .    p㦨  ᨬ ⠪, 
    뫠  ᪨   ,  p ⫠-
  .  騪 WATCOM ⠫  ४⨢ "DEBUG"
   ﬨ "STATIC"  "ALL",  p  ᪨  ᨬ
  䨪p      ᫥饣 ꥪ⭮  㤥
    ᯮ塞 䠩.   砥  ꥪ  㫨,
  祭  ꥪ 䠩,  ।塞  ᫥ ४-
  ⨢ "FILE"  ꥪ , 祭  ⥪, ।-
  塞  ᫥ p⨢ "LIBRARY"  "FILE".

  砭: p   ᪨ ᨬ - ⢮ p-
           樨   ᨬ.   ࠧ稥   ⮬,  
           p  ᪨ ᨬ 䨪p ᥣ
           㯭  ꥪ⭮ 䠩 祭    p樨  
            ᨬ,   ६  p  
           ᨬ ॡ,  ⮡ 筨 ஢   樥
           "d2".

       ᫥ ४⨢ "DEBUG"  権 "STATIC"  "ALL" -
  蠥 ࠡ p樨  ᪨ ᨬ.

       13.2.2.5.  ⫠筠 ଠ - DEBUG ALL

        "DEBUG ALL" 㪠뢠,  p 樨 "LINES", "LO-
  CALS",  "TYYPES"  "STATIC".  "LINES" ࠢ ࠡ⪮ -
  p樨  p ப.   "LOCALS" ࠢ ࠡ⪮ -
  p樨   ᨬ (䨪p).   "TYPES" -
  ࠢ ࠡ⪮ ଠ樨  ⨯.   "  STATIC"  ࠢ
  ࠡ⪮  ଠ樨    ᪨  ᨬ (䨪p).
     権 뢠  । ࠧ. ᫥
  ४⨢ "DEBUG"  樨 "ALL" 뢠 p  権, -
    ।  ᯨ᪥ 権 ⫠.

       13.2.2.6. p   ᨬ 䨪p

       p   ᨬ 䨪p ⮨  
  ᯨ᪠   ᨬ  襩 ணࠬ   . 
    p㦨  ᨬ ⠪,       -

                                - 310 -

       ணࠬ  .   -
  騪 WATCOM ⠫  ४⨢ "DEBUG",  p  -
    ᨬ  䨪p     ᨬ,
    襩 ணࠬ, 頥  ᯮ塞 䠩.

       13.2.2.7. ᯮ짮 ४⨢ DEBUG

       ᬮ ᫥騩 䠩 p⨢.

     debug all
     file module1
     debug lines
     file module2, module3
     debug
     library mylib

        ।,   ᫥ ⫠筠 ଠ  -
  ஢  ᯮ塞 䠩.

       1. p   ᨬ 襩 ணࠬ

       2. p  p ப,  ⨯   ᨬ 
  ᫥ ꥪ 䠩:

      odule1.o

       3. p  p p  ᫥ ꥪ 䠩:

      odule2.o
      odule3.o

        ,  ᫨ ४⨢ "DEBUG"  㪠 p
  p⨢ "LIBRARY", ଠ  p p   ꥪ
  㫥, 祭  ⥪ "mylib.lib", 㤥 ஢-
    ᯮ塞 䠩 p ᫮,  ꥪ 㫨, 祭-
    ⥪,  p  p ப.

  砭: ४⨢ "DEBUG"  権  ࠡ p-
             樨  p ப,  ᨬ  ⨯  
             ᫥ ꥪ 㫥.

       ⫠筠 ଠ   ᯮ짮  ⥫쭮  -
  ⢮ ᪮ ࠭⢠.    㯮⮬ ਬ-
  ,    롨 ⮫쪮   ⫠筮 ଠ樨, -

                                - 311 -

      㦥    㫥,  p   ⫠.
   ࠧ, ⢮ ⫠筮 ଠ樨  ᯮ塞 䠩
   ,  ᫥⥫쭮, ⢮ pp⢠  ᪥,
  ᯮ㥬 ᯮ塞 䠩 ᢮  .
             㯮⮣ ਬ,   -
  ४⨢ "DEBUG"   ᠭ ⮣  ⫠筠 ଠ樨
     ᯮ塞 䠩.

  砭: ᫨  ॡ, ⮡   ⫠筮 ଠ樨
               䠩   ᯮ塞 䠩,  
             㪠  "DEBUG  ALL" ।   p⨢ "FILE" 
             "LIBRARY".

       13.2.2.8. ᪫祭  ⫠筮  ଠ樨    ᯮ塞
                 䠩

       p⠢ ⨫,  뢠 wstrip,   
   ᯮ塞 䠩  㤠 ⫠ ଠ, 饭 
  ᯮ塞 䠩 騪 WATCOM.
        襩 ଠ樨 ⭮⥫쭮 ⮩  ⨫,  .  
  "⨫ Strip".

       13.2.3. ४⨢ DISABLE

       p⨢ "DISABLE" ᯮ  ⪫祭 뢮 ᮮ-
   騪.  騪 WATCOM 뢮   ᮮ饭:
  ⠫ 訡,  訡  ।०.   ᮮ饭 
    4 ࠬ 易  . ⠫ ᮮ饭 稭 
   3,  ᮮ饭  訡   2,  ।०騥 ᮮ-
     1.  饭  뤠   ।०  
  訡.
       ᫨ ⠫쭠 訡 ந室,  騪 㤥 
  p    ᯮ塞 䠩  㤥 ஢-
  .
       ᫨ p  訡  ந室,  騪 㤥 த
  믮 ⠪,      訡 뢮. ,
   ᯮ塞 䠩  㤥 ஢,  ᪮ 訡
   ࠧ ᮮ⢥饬 ᯮ塞 䠩 ஢.
       ᫨ ।०  뢮,  騪  㤥 த
  믮. ।०饥 ᮮ饭 - 筮 ଠ樮  
  ।頥 ᮧ ᮮ⢥饣 ᯮ塞 䠩. ,
   ।०   筮 ⮣  ࠢ.
        ,     騪  ,
   ᮮ饭  ⪫.  ਬ,  ᫨  ᮮ饭,  ஥

                                - 312 -

  筮 蠥 p 騪,  ⪫砥, 騪 -
    p,   ᮮ饭, 뢠饥 稭  -
  襭,    㤥 ⮡ࠦ.   ⮩ 稭,    ⮫쪮
  ⪫ pp騥 ᮮ饭.
       騪 㤥  ஢  쥧  ᮮ饭.
  ਬ,   ᮮ饭  ⮡ࠦ    訡  
  ।०.  ⪫ ᮮ饭,   뢮
   ।०  뢮   ᮮ饭,   뢮
   訡.  饬,  㪠뢠 쥧 ᮮ饭  㪠-
    ᮮ饭.
       ଠ ४⨢  "DISABLE"  (⪠ ଠ "DISA") - ᫥-
  騩:

   DISABLE msg_num {,msg_num}

  :      ᠭ:

  msg_num  ᮮ饭.  .  "饭  訡 -
          騪",   ᯨ᮪ ᮮ饭   ᮮ⢥騥 -
          .

        ४⨢ "DISABLE"  㤥  ⪫  ᮮ饭  28
  (뫪  । ᨬ).

       disable 28

       13.2.4. ४⨢ FILE

       ४⨢ "FILE"  ᯮ  㪠 ꥪ 䠩 
   㫥,    ࠡ뢠 騪 WAT-
  COM. ଠ ४⨢ "FILE" (⪠ ଠ "F") ᫥騩:

    FILE obj_spec{,obj_spec}
    obj_spec ::= obj_file[(obj_module)]
    | library file[(obj_module)]

  :      ᠭ:

  obj_file
       ᯥ䨪   ꥪ⭮ 䠩. ᫨  -
        䠩  㪠뢠, p ७ "o".

  library_file
       ᯥ䨪 䠩 ନ   筮  䠩.  -

                                - 313 -

       ,      㪠 ७ 䠩  -
       筮 䠩 (筮 "lib");   㤥    p⮩
       ꥪ 䠩.

  bj_module
        ꥪ⭮ , ।  ꥪ⭮   -
       筮 䠩.

       ᬮ ᫥騩 ਬ.

       ਬ:     wlink form qnx f /math/sin.mycos

       騪 WATCOM  ந஢  ࠡ뢠  ᫥騥
  ꥪ 䠩:

       /math /sin.o
       mycos.o

       ꥪ 䠩  "mycos.o" ࠧ頥  ⥪饬 ⠫,  ⠪
      ।.
        祬  ४⨢ "FILE"  ᯮ짮. -
  騩 ਬ ⥭ ।饬.

       ਬ:     wlink form qnx f /math/sin f mycos

        ࠧ, 㣨 ४⨢    ᯨ᪠-
   ꥪ 䠩.
       ४⨢ "FILE"  ⠪  㪠뢠  ꥪ  㫨  
  筮  䠩    ꥪ⭮ 䠩.  ᬮ ᫥騩
  ਬ.

       ਬ:     wlink form qnx f /math/math.lib(sin)

       騪 WATCOM  ந஢  ࠡ뢠  ꥪ
   "sin",  ᮤঠ騩  筮 䠩 "math.lib"  -
   "/math".

        ᫥饬 ਬ,  騪  WATCOM  㤥  ࠡ뢠
  ꥪ   "sin",  ᮤঠ騩  ꥪ⭮ 䠩 "math.o" 
  ⠫ "/math".

       ਬ:     wlink form qnx f /math/math (sin)

        ᫥饬 ਬ,  騪 WATCOM  㤥    

                                - 314 -

  ꥪ  㫨,  ᮤঠ騥   筮 䠩 "math.lib" 
  ⠫ "/math".

       ਬ:     wlink form qnx f /math/math.fib

       13.2.5. ४⨢ FORMAT

       ४⨢ "FORMAT" ᯮ,  ⮡ । ଠ  -
  塞  䠩,   騪 WATCOM  ஢.
  ଠ ४⨢ "FORMAT" (⪠ ଠ "FORM") - ᫥騩:

    FORMAT form
    form ::= DOS[COM]
    | WINDOWS [win_dll][MEMORY][FONT]
    | WINDOWS NT [dll_attrs]
    | OS2 [os2_type][dll_attrs|os2_attrs]
    | PHARLAP [EXTENDED|REX]
    | NOVELL [NLM|LAN|DSK|NAM]'description'
    | QNX [FLAT]

    dll_attrs::=DLL[INITGIOBAL|INITINSTANCE]
                 [TERMINSTANCE|TERMGLOBAL]

    win_attrs ::=[win_dll][MEMORY][FONT]
    win_dll ::=DLL[INITGLOBAL|INITINSTANCE]

    os2_type ::=FLAT|LE|LX
    os2_attrs ::=PM|PMCOMPATIBLE|FULLSCREEN
                 |PHYSDEVICE|VIRTDEVICE

  :     ᠭ:

  DOS
       (⪠ ଠ "D") 㪠뢠 騪  WATCOM  -
         DOS "EXE" 䠩.   襩 ଠ樨 ⭮⥫쭮 -
       塞 p 䠩 DOS .    "p  ᯮ塞
       䠩 DOS".

  WINDOWS
       뢠, ⮡ 騪  WATCOM  ஢  ᯮ塞
       䠩 Windows.  襩 ଠ樨 ⭮⥫쭮 ଠ⮢ -
       塞 䠩 Windows .   "ଠ ᯮ塞 䠩
       Windows".


                                - 315 -

  WINDOWS NT
       㪠뢠 騪 WATCOM  ஢  ᯮ塞  䠩
       Windows  NT.   襩 ଠ樨 ⭮⥫쭮 ଠ⮢ -
       塞 䠩 Windows NT,  .   "p  ᯮ塞
       䠩 Windows NT".

  OS2
       㪠뢠 騪 WATCOM ஢ ଠ ᯮ塞
       䠩  OS/2.   襩 ଠ樨 ⭮⥫쭮 p⮢ -
       塞 䠩 OS/2,  .   "p ᯮ塞   DLL
       䠩 OS/2".

  PHARLAP
       (⪠ ଠ "PHAR") 㪠뢠 騪 WATCOM  -
       ஢ ᯮ塞 䠩,   㤥 믮  p-
       p⥫ DOS Phar Lap's 386.  襩 ଠ樨 ⭮⥫-
         p⮢ ᯮ塞 䠩 Phar Lap,  .   "p
       ᯮ塞 䠩 Phar Lap".

  NOVELL
       (⪠ ଠ "NOV") 㪠뢠 騪 WATCOM -
        ᯮ塞 䠩 NETWARE  386,    筮  뢠
       p㦠  NETWARE (NLM).  襩 ଠ樨 ⭮-
       ⥫쭮 p⮢ ᯮ塞 䠩 NetWare  386,  .  
       "p ᯮ塞 䠩 Novell NetWare 386".

  QNX
       뢠 騪 WATCOM  ஢  ᯮ塞  䠩
       QNX. ᫨ "FLAT" (⪠ ଠ "F") 㪠뢠, pp-
        "᪨" 32-pp來 ᯮ塞 䠩.  pp
           ᯮ塞 䠩.

       13.2.6. ४⨢ LIBRARY

       ४⨢ "LIBRARYY"  ᯮ    㪠 
  䠩,   㦭 ᪠,     ᨬ  
  ᫥ ࠡ⪨  ।塞 室 ꥪ 䠩.  ଠ
  ४⨢ "LIBRARY" (⪠ ଠ "L") - ᫥騩.

       LIBRARY library_file {,library_file}

  :      ᠭ:

  library_file

                                - 316 -

       䨪 䠩   筮 䠩. ᫨ 
       ७ 䠩  㪠뢠, p७ "lib" ਭ.

       ᬮ ᫥騩 ਬ.

       ਬ:

      wlink form qnx file trig lib /math/trig, /cmplx/trig

       騪 WATCOM  ந஢  ࠡ뢠  ᫥騩
  ꥪ 䠩:

     trig.o

       ᫨   襭  뫪  ᨬ  ᫥ ⮣,
    ꥪ 䠩 ࠡ⠫,  ᫥騥  䠩
   ᪠:

   /math/trig.lib
   /cmplx/trig.lib

        祬  ४⨢ "LIBRARY"  ᯮ짮. -
  騩 ਬ ⥭ ।饬.

       ਬ:

      wlink form qnx f trig lib /math/trig lib /cmplx/trig

        ࠧ, 㣨 ४⨢    ᯨ᪠-
    䠩.

       13.2.6.1.  ⥪ ।塞  ६ p

       p p "LIB"   ᯮ짮    ।
  ᯨ᪠ ⮢,    ࠧ᪨  䠩.
  ६ p "LIB"    ⠭,  ᯮ  
  "export", ᫥騬 ࠧ:

       export LIB=/graphics/lib:/utility

       ᬮ ᫥  ४⨢  "LIBRARY"    㯮⮥
  ᠭ "LIB" ६ p.

       library /mylibs/util, graph

                                - 317 -


       ᫨ । ᨬ  ᫥ ࠡ⪨  -
   䠩,  ।塞 o  ४⨢ "FILE", 騪
  WATCOM 㤥   뫪 ⥬ pᬮp ᫥  ⥪
   㪠 浪.

   1.  䠩 "/mylibs/util.lib"
   2.  䠩 "graph.lib"  ⥪饬 ⠫
   3.  䠩 "/graphics/lib/graph.lib"
   4.  䠩 "/utility/graph.lib"

       ਬ砭:

       1. ᫨  䠩, ।塞  ४⨢ "LIBRARY",
  ᮤন  ᮫  ᯥ䨪 ,  騪 WATCOM 
  㤥 pᬠp    ⮢,  ।塞    ப
  । "LIB"  筮 䠩.  ᮫⭠ ᯥ䨪 -
    ,  稭  ᨬ "/".

       2.  ⮫쪮  䠩  㦥,    -
  訥    ६ p "LIB"  pᬠp  -
  宦 㣮 ⥪ ⮣  ᠬ .  , ᫨ -
   䠩 "/graphics/lib/graph.lib"  ,  
  䠩 "/utility/graph.lib"  㤥 pᬠp,  ᫨ -
   襭 뫪.

         騪 WATCOM  ஢ ࠧ ଠ-
   ᯮ塞 䠩,   , 室 । ࠧ
    ⥪     ଠ ᯮ塞 䠩.   ⮩
  稭,  ⠫, ।塞  ᫥ ६ p 
  pᬠp.

  LIBDOS
       ⠫, ।塞    p  p  "LIBDOS",  
       pᬠp,  ᫨ 騪 WATCOM  ᯮ-
        䠩 DOS.

  LIBOS2
       ⠫, ।塞    p  p  "LIBOS2",  
       pᬠp,  ᫨ 騪 WATCOM  ᯮ-
        䠩 OS/2.

  LIBOS2FLAT
       ⠫, ।塞  p p "LIBOS2FLAT",  

                                - 318 -

       pᬠp, ᫨ 騪 WATCOM  "᪨ "
       ᯮ塞 䠩 OS/2.

  LIBPHAR
       ⠫, ।塞    p  p "LIBPHAR",  
       pᬠp,  ᫨ 騪 WATCOM  ᯮ-
        䠩 Phar Lap.

  LIBNOV
       ⠫, ।塞    p  p  "LIBNOV",  
       pᬠp,  ᫨ 騪 WATCOM  ᯮ-
        䠩 NetWare 386.

  LIBQNX
       ⠫, ।塞    p  p  "LIBQNX",  
       pᬠp,  ᫨ 騪 WATCOM  ᯮ-
        䠩 QNX.

  LIBWIN
       ⠫, ।塞    p  p  "LIBWIN",  
       pᬠp,  ᫨ 騪 WATCOM  ᯮ-
        䠩 Windows.

  LIB286
       ⠫, ।塞    p  p  "LIB286",  
       pᬠp,  ᫨ ᫥ p⪨   ꥪ  䠩
       騪  WATCOM  p㦨  ⮫쪮  16-pp來 ꥪ
       䠩  p ᯮ塞 䠩   p.

  LIB386
       ⠫, ।塞    p  p  "LIB386",  
       pᬠp,  ᫨ ᫥ p⪨   ꥪ  䠩
       騪  WATCOM  p㦨  32-pp來  ꥪ 䠩 
       p ᯮ塞 䠩   p.

        ,  ⠫, ।塞  㯮
  ६ p,  pᬠp । ⠫, ।-
  묨  p p "LIB".

       13.2.7. ४⨢ LIBFILE

       ४⨢ "LIBFILE" ᯮ,  ⮡ ।  ꥪ
  䠩,   騪 WATCOM  ࠡ뢠,  ଠ -
  ४⨢ "LIBFILE" (⪠ ଠ "LIBF" ) - ᫥騩.

                                - 319 -


       LIBFILE obj_file {,obj_file}

  :      ᠭ:

  obj_file
       ᯥ䨪 䠩     ꥪ⭮ 䠩.  ᫨ 
       ७ 䠩  㪠뢠, ७ "o" ਭ.

       稥  ४⨢ "LIBFILE"  ४⨢ "FILE" - ᫥-
  饥:

       1. ४⨢  "LIBFILE" pp蠥 ⮫쪮 ꥪ 䠩.  -
  ४⨢ "FILE" pp蠥  ꥪ 䠩 ⠪    ᨭ⠪  
  㪠  ꥪ 㫥   䠩  ꥪ 䠩-
  .

       2.  ᪥ ꥪ⭮ 䠩 㪠  ४⨢  "LIBFI-
  LE",  ᭠砫 pᬠp ⥪騩 ⠫,   , -
  ।塞  ४⨢ "LIBPATH",    祭 , ।-
  塞  ᮮ⢥饩 ६ p "LIB".  ,
   ᫨  ꥪ⭮ 䠩 ᮤন , ⮫쪮  㪠-
    㤥 pᬠp.

       3. ꥪ 䠩, ।塞  ४⨢ "LIBFILE",  -
   ᯮ짮,  ⮡ ᮧ  ᯮ塞  䠩,  ᫨
  ४⨢ "NAME"  㪠.

        ,  ꥪ 䠩,    p⨢
  "LIBFILE" ᬠp   ⥪,   -
    饭   䠩.

       ᬮ ᫥騩 䠩 p⨢ 騪.

     libpath /libs
     libfile mystart
     path /objs
     file file1, file2

       騪 WATCOM  ந஢  ࠡ뢠  ᫥騥
  ꥪ 䠩:

     /libs /mystart.o
     /objs/file1.o

                                - 320 -

     /objs/file2.o

        ,    ᯮ塞 䠩 㤥   "fi-
  le1",   "mystart".

       13.2.8. ४⨢ LIBPATH

       ४⨢ "LIBPATH" ᯮ,  ⮡ ।  ⠫,
    pᬠp  ᪠  䠩, -
  騥  ᫥ ४⨢ "LIBRARY"  ꥪ 䠩, -
      ᫥  p⨢ "LIBFILE".  ଠ ४⨢
  "LIBPATH" (⪠ ଠ "LIBP") - ᫥騩:

     LIBPATH [path_name{:path_name}]

  :      ᠭ:

  path_name -  .

       ᬮ 䠩 p⨢ ᮤঠ騩 ᫥騥 ४⨢  -
  騪.

     file test
     libpath /math
     library trig
     libfile newsin

       砫 騪 WATCOM 㤥 ࠡ뢠  ꥪ  䠩
  "test.o"  ⥪饣 p祣 ⠫.  ⥬ 㤥 p뢠
  ꥪ 䠩 "newsin.o",   ᭠砫   ⥪饬 p祬 -
  ⠫.  ᫨  "newsin.o"     ⥪饬 p祬 ⠫,  ⠫
  "math" 㤥 ⥬ pᬠp.  ᫨   襭  뫪
     ᫥  ࠡ⪨    ꥪ  䠩,  ⥪
  "trig.lib"  ᪠. ᫨ 䠩 "trig.lib"    ⥪-
  饬 p祬 ⠫, ⠫ "/math" 㤥 pᬠp.
         । ᯨ᮪ ⮢   ४⨢  "LIB-
  PATH". ᬮ ᫥騩 ਬ.

     libpath /newmath:/math
     library trig

        ࠡ⪥ । 뫮,  騪 WATCOM 㤥
    ࠡ뢠  䠩 "trig.lib"  ⥪饬 p-
  祬 ⠫. ᫨ "trig.lib"    ⥪饬 p祬 -

                                - 321 -

  ,  ⠫ "/newmath" 㤥 pᬠp. ᫨ "trig.lib" 
    ⠫ "/newmath",  ⠫ "/math" 㤥 pᬠp-
  .
       ᫨  筮 䠩,  饥  ४⨢  "LIB"
    ꥪ⭮ 䠩,  饥  ४⨢ "LIBFILE",  -
  ন ᯥ䨪 ,  ⮫쪮 㪠  㤥 p-
  p.

        

     libpath path1
     libpath path2

     ᫥饬:

   libpath path2 : path1

       13.2.9. ४⨢ MODTRACE

       ४⨢ "MODTRACE"  騪 WATCOM 
  ᯨ᮪  㫥,   뫠  ᨬ,  । 
  㪠 .  ଠ  ४⨢  "MODTRACE"  (⪠  ଠ
  "MODT") - ᫥騩:

       MODTRACE module_name {,module_name}

  :      ᠭ:

  odule_name
        ꥪ⭮ ,  ।  ꥪ⭮   -
       筮 䠩.

       ଠ ⮡ࠦ  䠩  . ᬮ ᫥-
  騩 ਬ.

       ਬ:

    wlink form qnx op map file test lib math modt trig

       ᫨  "trig" । ᨬ "sin"  "cos", -
  騪 WATCOM 㤥   䠩   㫨,  -
    ᨬ "sin"  "cos".

        :

                                - 322 -


       1. p⨢ "MODTRACE"   ᯮ짮   -
   "VERBOSE".

       13.2.10. ४⨢ NAME

       p⨢ "NAME" ᯮ,  ⮡ 㪠뢠   ᯮ-
  塞 䠩, ᣥ஢ 騪 WATCOM. ଠ p-
  ⨢ "NAME" (⪠ ଠ "N") ᫥騩

    NAME exe_file

  :      ᠭ:

  Exe_file - ᯥ䨪 䠩   ᯮ塞 䠩. -
           ⢨ pp 䠩.

       ᬮ ᫥騩 ਬ.

       ਬ:

    wlink form qnx name myprog file test, test2, test3

       騪 WATCOM ந஢ ஢  ᯮ塞
  䠩, 뢠 "myprog".

       ਬ砭:

       1.   ७ 䠩  㪠뢠 p 㪠 
  ᯮ塞 䠩.  騪 WATCOM ਭ ७ 䠩,
  ஥     ଠ pp㥬 ᯮ塞 䠩.  
  QNX 㤥 p ⢨ ७ 䠩.  "४-
    FORMAT"  뢠  p⨢    롨p ७
  䠩   ଠ ᯮ塞 䠩.

       2. ᫨   p⨢ "NAME",  ᯮ塞 䠩  㤥
    䠩   ࢮ ꥪ⭮ 䠩 ࠡ⠭ -
  騪 WATCOM.   ꥪ 䠩

                                - 323 -

  ࠡ뢠 뢠 "test.o"    ४⨢  "NAME"  
  ।, 㤥 ᮧ ᯮ塞 䠩 "test".

       13.2.11. ४⨢ NEWSEGMENT

        㬮砭,  騪 WATCOM ⮬᪨ 㯯 -
  ᪨ ᥣ   䨧᪨ ᥣ.   "PACKCODE" -
    ᯮ짮,  ⮡ । ࠧ 䨧᪨ ᥣ⮢.
   ,    䨧᪨ ᥣ     ᠬ
  ࠧ.
       ४⨢ "NEWSEGMENT" ᯥ稢 ୠ⨢ ⮤ -
  ஢ ᥣ⮢   䨧᪨ ᥣ .   ࠧ饭 ⮩
  ४⨢ ᫥ ᫥⥫쭮 ४⨢  "FILE",    ᥣ
  , 騥  ꥪ , ।塞 ᫥⥫-
   ४⨢ "FILE",   㯠  䨧᪨ ᥣ.  -
  ,    ࠧ 䨧᪮ ᥣ  .  ଠ
  ४⨢ "NEWSEGMENT" (⪠ ଠ "NEW") - ᫥騩:

       NEWSEGMENT

       ᬮ ᫥騩 ਬ.

     file file1, file2, file3
     newsegment
     file file4
     file file5

            file1,  file2  file3  㯯஢ 
   䨧᪨ ᥣ.       file4    file5  
  㯯஢  㣮 䨧᪨ ᥣ.
        ,   ᥣ ,  祭  -
    䠩,    㯯஢   䨧᪨ ᥣ ⠪.
    䨧᪨ ᥣ⮢ । 樥 "PACKCODE" (64
    㬮砭).

       13.2.12. ४⨢ OPTION

       ४⨢ "OPTION" ᯮ, ⮡ । 樨  -
  騪 WATCOM.  ଠ ४⨢ "OPTION" (⪠ ଠ "OPT")
  - ᫥:

    OPTION option {,option}

    option ::= ARTIFICIAL|[NO]CACHE|[NO]CASEEXACT|DOSSEG

                                - 324 -

              |ELIMINATE|HEAPSIZE=n|LINEARRELOCS
              |LONGLIVED|MANGLEDNAMES|MAP[=map_file]
              |MAXERRORS=n|NAMELEN=n|NODEFA ULTLIBS
              |NORELOCS|OFFSET=n|OSNAME='string'
              |PACKCODE=n|PACKDATA=n|PRIVILEGE=n
              |QUIET|RESOURCE[=resource_file|'string']
              |STACK=n|STATIC|SYMFILE[=symbol_file]
              |UNDEFSOK|VERBOSE

  :      ᠭ:

  map_file
       ᯥ䨪 䠩   䠩  . ᫨ -
         ।, p ७ 䠩 "map".

  symbol_file
       ᯥ䨪 䠩   䠩 ᨬ.  ᫨  ७
        ।, p ७ 䠩 "sym".

  resource_file
       ᯥ䨪 䠩   室 䠩.    -
       ⢨ ७.

  n
       ।⠢ 祭. 祭 ଠ n ᫥.

                     [0x] d{d} [k|m]

       d ।⠢  .  ᫨ 0x 㪠뢠,  ப
        ।⠢ ⭠筮 ᫮. ᫨ k 㪠뢠,
       祭 㬭 1024. ᫨ m 㪠뢠, 祭 㬭-
        1024 * 1024.

       騥 ࠧ 뢠 樨 騪 WATCOM.

       13.2.12.1.  ARTIFICIAL

        "ARTIFICIAL"  ᯮ짮,  ⮫쪮 ᫨  ࠧ-
  ࠡ뢠 pp  WATCOM C++.  pp WATCOM C++  ᮤন
   ᣥ஢ p ᨬ.   㬮砭,  -
  騪  砥  ᨬ  䠩 .  "ARTIFICIAL" -
    ᯮ짮,  ᫨       ᣥ஢
  p ᨬ  䠩  . ଠ 樨 "ARTIFICIAL"
  (⪠ ଠ "ART") - ᫥騩:

                                - 325 -


        OPTION  ARTIFICIAL

       13.2.12.2.  CACHE

       樨 "CACHE"    "NOCACHE" 樨  ᯮ짮,  ⮡
  ࠢ p ꥪ 䠩   騪. -
   "CACHE" pp蠥 p ꥪ 䠩,    ६ 
   "NOCACHE" ⪫砥 . ଠ 樨 "CACHE" (⪠ ଠ
  "CAC") - ᫥騩:

      OPTION CACHE

       ଠ "NOCACHE" 樨 (⪠ ଠ "NOCAC") - ᫥騩:

      OPTION NOCACHE

        㬮砭, p ꥪ 䠩 믮 ᫥-
  騬 ﬨ 騪.  "NOCACHE"    ᯮ짮,
  ⮡ ⪫ p ꥪ 䠩 ⨬ ﬨ.

   1. p  OS/2 1.x 

   2. p騥   DOS pᨨ ( p 32-pp來  -
      饭 ०)

   3. p  QNX 

        㬮砭, p ꥪ 䠩  믮 ᫥-
  騬 ﬨ 騪.   "CACHE"  ᯮ짮,
  ⮡  p ꥪ 䠩 ⨬ ﬨ.

   1. p  OS/2 2.x 

   2. p  Windows NT 

          ਪ ணࠬ   訬  -
  ⢮ ꥪ 䠩,  p ꥪ 䠩 㤥 -
   ⥭ᨢ ਬ   騪.    㠫
  ⥬   ⨯ OS/2  Windows NT,    뢠 ⥭-
  ᨢ p 䠩 ࠭ (page file),  ॠ  -
   뫨 ௠.   㬥 䥪⨢ 㣨 
   襩 ⥬ .   ⮩ 稭, ᨨ 騪  OS/2 
   NT-hosted  믮 p ꥪ 䠩  㬮-

                                - 326 -

  .    ࠧ㬥,  p ꥪ 䠩  -
  .  ᫨   ⥬  讥 ⢮ ॠ쭮 
   騪 믮  ⢥   , p-
    ꥪ  䠩    p  䥪⨢
  騪.

         । ⨯ DOS,  룮 襭  䥪⨢-
   騪 p訢  , 易  p-
   ꥪ 䠩.   ⮩  稭,  p  ꥪ
  䠩  믮  㬮砭   ⥬.  ᫨ ॡ
   騪 ॢ ꥬ   襩 ⥬,  
  "NOCACHE"  ।.
       樮 ⥬ QNX - p樮 ⥬ 筮
  ०  ॠ쭮 ⠡ ६.  ,    ⥬ -
  쭮 .  p ꥪ 䠩  ॡ -
  訥 ꥬ .     믮 㣨   -
  ⥬, ஡,   , ᯮ  "NOCACHE".

       13.2.12.3.  CASEEXACT

        "CASEEXACT"  㪠뢠 騪 WATCOM 뢠 p-
  p  襭 뫮   ᨬ.    "ScanName"
   SCANNAME ।⠢  ࠧ 䨪p.  㬮砭,
  騪 WATCOM  뢠 pp  -  "ScanName"    SCANNAME
  ।⠢   ᠬ 䨪p.  ଠ 樨  "CASEEXACT"
  (⪠ ଠ "C") ᫥騩:

      OPTION CASEEXACT

       ᫨  ।   "CASEEXACT"    䠩  p⨢  
  㬮砭 wlink.lnk  wlsystem.lnk,  ⬥  , -
    "NOCASEEXACT".  "NOCASEEXACT" 몫砥 ⢨-
  ⥫쭮  ॣ . ଠ 樨 "NOCASEEXACT" (-
   ଠ "NOC") ᫥騩:

      OPTION NOCASEEXACT

   wlink.lnk - ᯥ樠 䠩  ४⨢  騪,  
  ⮬᪨  ࠡ뢠 騪 WATCOM । ࠡ⪮
   㣨 ४⨢.   ⥬ DOS,  OS/2  Windows NT, 
  䠩  ࠧ    ⮢,  ।  -
   p PATH.  ⥬, p饩  QNX,  䠩 
  ࠧ  ⠫ let c.    㬮砭 ⮣ 䠩 ࠧ-
  頥  ⠫ \watcom\bin  ⥬,  p   DOS,

                                - 327 -

  \watcom\binp  OS/2, let c  QNX  ⠫ \watcom\binnt  -
  ⥬,  p  Windows NT.    ,    䠩
  wlink.lnk 砥 䠩 wlsystem.lnk,  ࠧ頥  ⠫-
   \watcom\binb  ⥬, p  DOS, OS/2  Windows NT
    ⠫ let c  ⥬, ᭮  QNX.

        wlink.lnk  wlsystem.lnk 뫠   p  p
  WATCOM,   ⠭  ⠫,  ஬  -
  ⠭  ணࠬ ᯥ祭.

       13.2.12.4.  DOSSEG

        "DOSSEG" 㪠뢠 騪 WATCOM p ᥣ-
   ᯥ樠 ᯮᮡ. ଠ 樨 "DOSSEG" (⪠ ଠ "D")
  - ᫥騩:

     OPTION DOSSEG

        㪠뢠    "DOSSED",  ᥣ  㯮冷-
   ᫥騬 ᯮᮡ.

   1.  ᥣ,  ਭ騥 㯯 "DGROUP"  ᮬ "CODE"

   2.  㣨 ᥣ,  ਭ騥 㯯 "DGROUP"

   3.  ᥣ, ਭ騥 㯯 "DGROUP"  ᮬ "BEGDATA"

   4.   ᥣ,  ਭ騥  㯯  "DGROUP"      ᮬ
      "BEGDATA", "BSS"  ""

   5.  ᥣ, ਭ騥 㯯 "DGROUP"  ᮬ "BSS"

   6.  ᥣ, ਭ騥 㯯 "DGROUP"  ᮬ "STACK"

       樠 ᥣ, ਭ騩  "BEGDATA", ।-
      ⥪ ६ 믮  (run-time)
  WATCOM.    ᥣ  樠 ⭠묨 ⠬
  "01"    ᥣ⮬  㯯 "DGROUP"  ⮣,  ⮡
  ࠭    0   㦥.
       , ਭ騥  "BSS" ᮤঠ  樠-
   . ,   ⮫쪮 砥 樠஢-
     ᥣ,  ਭ 㯯  "DGROUP".  ,
  ਭ騥  "STACK", ᯮ, ⮡ । ࠧ
  ⥪,  ᯮ㥬  襩 ணp.  , ਭ騥

                                - 328 -

  ᠬ  "BSS"  "STACK",  ᫥  ᫥⥫쭮 ᥣ⮢
   ⮣, ⮡ 樠஢      -
  塞 䠩.
        ᯮ짮 ⥪ ६ 믮 (run-time) WAT-
  COM,   室 㪠뢠  "DOSSEG".   ꥪ
  䠩   ⥪ ᮤন ᯥ樠   -
    "DOSSEG".
       ᫨  "DOSSEG"  㪠뢠, ᥣ 㯮冷稢 
  ⮬ 浪    ⠫ 騪 WATCOM.  
  "DOSSEG" ।,  騪 WATCOM ।  ᯥ樠-
   ६.  _edata । 砫  ᥣ⮢ "BSS"  
  _end  ।     ᥣ⮢ "BSS".   ணࠬ 
   ८।  ᨬ.

       13.2.12.5  ELIMINATE

        "ELIMINATE"  ᯮ짮, ⮡ ᪠ 㤠-
   p⢮ .   ⢮ ,  , ᯮ-
    騪    㤠 뢠 ᥣ⮢ ਪ
  ணࠬ.  騪 㤥 㤠 ⮫쪮 ᥣ,   -
  ঠ ; 뢠 ᥣ    㤠. ଠ
  樨 "ELIMINATE" ( ⪠ ଠ "EL" ) ᫥騩:

     OPTION ELIMINATE

   ਪ ணࠬ /++

       筮,   C/C++ ᮤন  㭪権.    
    ,   㭪樨      ᠬ
  ᥣ .   㭪樨  㫥  뢠
    짠 樨 "ELIMINATE" ⥫쭮 㬥蠥.
       ⮡ ᨬ஢ 䥪 樨 "ELIMINATE",   
  p  zm,  ⮡ ᮮ p WATCOM  
  㭪  ᮡ⢥ ᥣ .   騪 㤠-
   뢠 㭪樨  㫥,   ᮤঠ  㭪-
  権.
        ,    ᫨ 㭪 뢠 p ,
    砥 ⠡ 室,  騪  㤥 ᯮᮡ -
  ࠭   㭪樨,  ᫨ ,  뫠  ,
   뢠.

   ਪ ணࠬ FORTRAN 77

  p WATCOM FORTRAN 77 ᥣ 頥  㭪  -

                                - 329 -

  ணࠬ  ᮡ⢥ ᥣ ,  ᫨  ᮤঠ  ⮬
   ᠬ 㫥. ⥫쭮,    樥 "ELIMINA-
  TE"  騪  㤥  ᯮᮡ  ࠭      ᭮ 㭪-
  権/ணࠬ.

       13.2.12.6.  HEAPSIZE

        "HEAPSIZE" । ࠧ ᪮   ("-
  ") ॡ㥬 ணࠬ.  ଠ 樨 "HEAPSIZE" (⪠ ଠ
  "H") ᫥騩:

     OPTION HEAPSIZE=n

  :      ᠭ:

  N         ।⠢ 祭.  ଠ n ᫥

               [Ox] d {d} [k|m]

          d ।⠢  . ᫨ 0x 㪠뢠, -
            ।⠢ ⭠筮 ᫮. ᫨ k 㪠-
          , 祭 㬭 1024. ᫨ m ।, -
          祭 㬭  1024*1024.

  n       । ࠧ "".   ""  㬮砭 -  0
          ⮢. ᨬ쭮 祭 n - 65536 (64     16-p-
          p來 ணࠬ  4G  32-pp來 ணࠬ,  -
           ᨬ ࠧ஬ 䨧᪮ ᥣ.  ᪨,
           p⭮ ணࠬ,  ᨬ쭮 祭 n -  64  
           4G  ࠧ 㯯 "DGROUP".

       13.2.12.7.  LINEARRELOCS

        "LINEARRELOCS"    騪  ஢
  䨪p  ᬥ饭  ஬  ଠ 䨪p ᥣ⮢.
  p ᬥ饭  ⥬ ६ ࠣ  
   ,   㦠  ᯥ᪮ ᬥ饭  ᥣ-
    㣮 ᬥ饭  ⮣  ᠬ . ଠ -
  樨 "LINEARRELOCS" (⪠ ଠ "LI") ᫥騩:

     OPTION LINEARRELOCS


                                - 330 -
       13.2.12.8.  LONGLIVED

        "LONGLIVED" ।,  㥬 ਪ ண-
  ࠬ 㤥 ﭭ 室  ,   㤥 ⨢, -
   ਮ ६ (pp,  䮭 ).  -
  , 騩,  ணࠬ - LONGLIVED ।   ⮩
  ணࠬ, ⮡ 㬥 ࠣ. ଠ 樨 "LONGLIVED" (
  ⪠ ଠ "LO" ) ᫥騩:

       OPTION LONGLIVED

       13.2.12.9.  MANGLEDNAMES

        "MANGLEDNAMES"   ᯮ짮,  ⮫쪮  ᫨  
  ࠧࠡ뢠 ਪ ணࠬ WATCOM C ++.  ࠪ-
   C++, WATCOM C ++ p  ᫮   ᨬ-
  .   ᨬ (䨪p) 砥 ᫥饥.

     1.  ᨬ
     2. ଠ  
     3. ଠ ⨯

   ଠ  ࠭   p p  ᨬ.  
  騪 ⠫  ᫮    ꥪ⭮  䠩,  
  ଠ  㯮  ଠ    ᮧ    䠩
   (map).

  ᫨  , ⮡ 騪 ந ᫮  ⠪,  
    ꥪ⭮ 䠩,  ।  "MANGLEDNAMES". -
   樨 "MANGLEDNAMES" ( ⪠ ଠ "MANG" ) ᫥騩:

     OPTION MANGLEDNAMES

       13.2.12.10.  MAP

        "MAP" ࠢ p樥 䠩  (map). ଠ -
  樨 "MAP" ( ⪠ ଠ "M" ) ᫥騩:

     OPTION MAP[=map _file]

  :      ᠭ:

  map _file ᯥ䨪 䠩   䠩  .  ᫨  
          ७ 䠩  ।, ७ "map" ਭ-
          .


                                - 331 -

        㬮砭, 䠩   . । ⮩ -
  樨  ⠢  騪  WATCOM ஢ 䠩 .  
   -    襩 ணࠬ.     ।
  ⭮⥫쭮  ᯮ    ᨬ  襩 ண-
  ࠬ.   ⠪ ᮤন ࠧ 襩 ணࠬ.

  ᫨   䠩  㪠뢠,  䠩  㤥  -
  ७   㬮砭 "map"    ᠬ  䠩   ᯮ-
   䠩.  ,  䠩  㤥 ᮧ  -
  饬  ⠫,   ᫨  ᯮ塞 䠩,  । 
  ४⨢ "NAME" ᮤন ᯥ䨪 .
       ୠ⨢,  㪠뢠  䠩.  ४-
    騪 ஢ 䠩     
  "myprog.map" ᨬ   ᯮ塞 䠩.

     option map=myprog

         ⠪ ।  / ७ 䠩, -
    "MAP=" 樨 "MAP".

       13.2.12.11.  MAXERRORS

        "MAXERRORS"   ᯮ짮,  ⮡  ⠭
  ࠭祭 ᫠ ᮮ饭  訡, 㥬 騪.
   ,     砥 ।०騥  ᮮ饭.
     ࠭祭 ⨣,  騪 㤥 뤠 -
  ⠫ 訡   p. ଠ 樨 "MAXERRORS" (-
   ଠ "MAXE") ᫥騩:

     OPTION MAXERRORS=n

  :      ᠭ:

  n         ᨬ쭮 ᫮ ᮮ饭  訡, 뤠
            騪.

       13.2.12.12.  NAMELEN

        "NAMELEN"  ᮮ頥  騪   ᨬ 
   㭨쭮 ஢, ᯮ 㪠 ᫮ ᨬ
    .  ᫨  ᨬ 㤥 㤮⢮ ⮬ ᫮,
  ।०饥 ᮮ饭 㤥 뤠. ।०饥 ᮮ-
    㤥  㪠뢠,   ᨬ ।  祬  ࠧ.
  ଠ 樨 "NAMELEN" (⪠ ଠ "NAMEL") ᫥騩:

                                - 332 -


     OPTION NAMELEN=n

  :      ᠭ:

  n         ।⠢ ᫮.  ଠ n ᫥

                [0x]d{d}[k|m]

          d ।⠢    .  ᫨  0x  ।,
          ப  ।⠢ ⭠筮  ᫮.  ᫨  k
          ।,  祭 㬭 1024. ᫨ m ।-
          , 祭 㬭  1024*1024.

         ⥬,  ਬ,  ॡ ⮡ -
   ᨬ 뫨 㭨쭮 ஢  8 ᨬ. -
   ᮮ⢥饥 祭  樨 "NAMELEN",     -
      ७ᥭ  襩  ਪ ணࠬ  㣨
   ⥬.

       13.2.12.13.  NODEFAULTLIBS

       樠  ꥪ⭮ ,   । -
  ⥪  㬮砭   ꥪ 䠩,  ᣥ஢
  p WATCOM.   ⥪ ࠦ    -
  饩 ⮩,  p묨 p 室 䠩, -
    ⮬᪨  騪 WATCOM,  
  ᨬ 㦥.   ⥪ ਭ 騬  -
  饬 ⠫     ⮢,  ।  p
  p LIBQNX  LIB.  ⥬ ⮣ 祭 ⠫, ᮤঠ
  ⥪,  ॡ㥬,  ⮡   ணࠬ   
   ६ p,     室 ।
  ⥪   䠩 ४⨢ 騪.
        ,    䠩,  -
    ४⨢ "LIBRARY",  । ⥪  㬮砭.
    "NODEFAULTLIBS  "  騪 WATCOM -
   ⥪  㬮砭.    ⮫쪮 ⥪, -
  騥  ४⨢ "LIBRARY". ଠ 樨 "NODefaultlibs" (-
  ⪠ ଠ "NOD" ) ᫥騩:

     OPTION NODEFAULTLIBS


                                - 333 -
       13.2.12.14.  NORELOCS

        "NORELOCS" ।,    ଠ ன
  (p饭)   뢠  ᯮ塞 䠩.   -
    "NORELOCS" ।,  ᯮ塞 䠩  ⮫쪮 믮-
    饭 ०   㤥 믮  ॠ쭮  ०-
  .  ॠ쭮 ०, ଠ ன ॡ;  饭
  ०,  ଠ ன  ॡ,  ᫨    ਪ
  ணࠬ  믮  p ਮp 0.  ଠ 樨 "NO-
  RELOCS" ( ⪠ ଠ "" ) ᫥騥:

       OPTION NORELOCS

       NORELOCS ᮮ頥 騪 WATCOM  ஢ ଠ-
   ன.

       13.2.12.15  OFFSET

        "OFFSET" । ᬥ饭  ᥣ ணࠬ,  -
  ஥       㦠.  ଠ 樨 "OFF-
  SET" (⪠ ଠ "FF") ᫥騩:

     OPTION OFFSET=n

  :      ᠭ:

  n         ।⠢ 祭.  ଠ n ᫥..

              [0x]d{d}[k|m]

          d ।⠢    .  ᫨  0x  ।,
          ப    ।⠢ ⭠筮 ᫮.  ᫨ k
          ।,  祭 㬭 1024. ᫨ m ।-
          , 祭 㬭  1024*1024.

       n । ᬥ饭 ( ),  ஥ ணࠬ 㦠-
       4 .  騪 WATCOM 㤥 㣫
  祭  ⭮ 4 ,  ᫨   ⭮ 4 . 饥 -
   ᯮ짮 樨 "OFFSET".

  :  㦨 뫪 㪠⥫ NULL,   ண-
              ࠬ  ᬥ饭, ஥   4 . -
               ᬥ饭 4  筮.

              option offset=4k


                                - 334 -

               ணࠬ 㦠,  ࠭, ய饭 -
              樥 "OFFSET",   ⮡ࠦ.  뫪  ⮡-
              ࠦ  (⨯ 㪠⥫ NULL)  㤥  뢠
              ᡮ  ࠭,  । 뫪 NULL  ࠧ襭
              ணࠬ.

       13.2.12.16.  OSNAME

        "OSNAME"  ᯮ짮,  ⮡ ⠭  
  楫  樮 ⥬ ᯮ塞 䠩,  ᣥ஢
  騪. ଠ 樨 "OSNAME" (⪠ ଠ "SN") ᫥-
  騩:

     OPTION OSNAME='string'

  :      ᠭ:

  ப      ᫥⥫쭮 ᨬ.

       ଠ, । 樥 "OSNAME", 㤥 ⮡ࠦ 
  ᮮ饭  ᮧ 믮塞 䠩.  - ᫥ ப -
  ,  ந 騪,  p ᫮,   "QUIET"
   ।. ᬮ ᫥騩 ਬ.

     option osname='SuperOS'

  ᫥ ப 뢮 騪 㤥 ᫥

     creating a SuperoS executable

       13.2.12.17.  PACKCODE

        㬮砭,  騪 WATCOM ⮬᪨ 㯯 -
  ᪨ ᥣ   䨧᪨ ᥣ.   "PACKCODE" -
  ,  ⮡ । ࠧ 䨧᪮  ᥣ.  ଠ
  樨 "PACKCODE" ( ⪠ ଠ "PAC" ) ᫥:

      OPTION PACKCODE=n

  :      ᠭ:

  n         ।⠢ 祭.  ଠ n ᫥

              [Ox]d{d}[k|m]

                                - 335 -


          d ।⠢    .  ᫨  0x  ।,
          ப  ।⠢ ⭠筮  ᫮.  ᫨  k
          ।,  祭 㬭 1024. ᫨ m ।-
          ,  祭 㬭 1024*1024. n । ࠧ -
          ᪨ ᥣ⮢,   ᥣ  㯠. -
          祭  㬮砭 64   16-pp來  ਪ  ண-
          ࠬ    4G  32-pp來 ਪ ணࠬ.  
          ,    - ⠪ ᨬ ࠧ  䨧᪮
          ᥣ.  ⮡   ⮬ 㯯஢ ᥣ-
          ⮢ , । 祭 0  n.

       ਬ砭:

       1. 쪮 ᬥ ᥣ 㯠뢠  䨧᪨ ᥣ.

       2. , ਭ騥  ⮩  ᠬ 㯯, 㯠뢠-
     䨧᪮ ᥣ. , ਭ騥  ࠧ
  㯯,  㯠뢠  䨧᪨ ᥣ.

       3.   ࠧ묨 ਡ⠬   㯠뢠  ,
  ᫨    㯯஢.

       13.2.12.18  PACKDATA

        㬮砭,  騪 WATCOM ⮬᪨ 㯯 -
  ᪨ ᥣ   䨧᪨ ᥣ.   "PACKDATA" -
  ,  ⮡  । ࠧ 䨧᪮ ᥣ.  ଠ
  樨 "PACKDATA" (⪠ ଠ "PACKD") ᫥騩:

    OPTION PACKDATA=n

  :      ᠭ:

  n         ।⠢ 祭.  ଠ n ᫥

              [0x]d{d}[k|m]

          D ।⠢    .  ᫨  0x  ।,
          ப    ।⠢ ⭠筮 ᫮.  ᫨ k
          ।,  祭 㬭 1024. ᫨ m ।-
          ,  祭 㬭 1024*1024. N । ࠧ -
          ᪨ ᥣ⮢,     ᥣ  㯠-
          .  祭  㬮砭  n - 64 .  -

                                - 336 -

          ,   - ⠪ ᨬ ࠧ 䨧᪮ ᥣ-
          . ⮡  ⮬ 㯯஢ ᥣ⮢
           far , । 祭 0  n.

       ਬ砭:

       1. 쪮 ᬥ ᥣ 㯠뢠  䨧᪨ ᥣ.

       2. , ਭ騥  ⮩  ᠬ 㯯 㯠뢠
      䨧᪮ ᥣ.  ,  ਭ騥  ࠧ
  㯯,  㯠뢠  䨧᪨ ᥣ.

       3.   ࠧ묨 ਡ⠬   㯠뢠  ,
  ᫨    㯯஢.

       13.2.12.19.  PRIVILEGE

        " PRIVILEGE " । ஢ pp (0, 1, 2 
  3),  ஬ ᮧ ணࠬ 㤥 믮. ଠ 樨
  " PRIVILEGE " (⪠ ଠ "PRIV") ᫥騩:

     OPTION PRIVILEGE=n

  :      ᠭ:

  N         ।⠢ 祭.  ଠ n ᫥..

                  [0x]d{d}[k|m]

          D ।⠢    .  ᫨  0x  ।,
          ப  ।⠢ A, ⭠筮 ᫮. ᫨ k
          ।,  祭 㬭 1024. ᫨ m ।-
          , 祭 㬭 1024*1024.

  ஢ ਢ  㬮砭 - 0.

       13.2.12.20.  QUIET

        "QUIET" ᮮ頥 ⮡ 騪 WATCOM   -
  ଠ樮 ᮮ饭.  쪮 ।०,  訡   ⠫
  ᮮ饭 㤥 뤠.   㬮砭, 騪 WATCOM 뤠
  ଠ樮 ᮮ饭.  ଠ 樨 "QUIET" (⪠ ଠ "Q")
  ᫥騩:


                                - 337 -

      OPTION QUIET

       13.2.12.21.  RESOURCE

        "RESOURCE" । ᮤঠ     -
  塞 䠩  QNX.  ଠ  樨  "RESOURCE"  (⪠  ଠ
  "RES") ᫥騩:

     OPTION RESOURCE resource_info

     resource_info ::= 'string'|=resource_file

  :      ᠭ:

  recource_file
       ᯥ䨪 䠩   䠩  ᮢ.    -
       ⢨ ७.

  string
        ᫥⥫쭮 ᨬ,    頥  
        ᮢ.

       ᫨ 䠩  ᮢ  ।,  ᮤঠ  䠩 ᮢ
  砥   ᮢ.
        ᮢ  ᮤন,  ਬ,  ࠢ ଠ 
  ⮡ࠦ,  ᫥  믮.

     use <executable>

       QNX ⠪ p⠢ ⨫ usemsg,  ⮡  ࠢ  -
   ᮢ  ᯮ塞 䠩.  ᯮ짮 ४.
   ⨫ 뢠  㪮⢥ QNX "ᠭ ⨫".

       13.2.12.22.  STACK

        "STACK"  ᯮ짮,  ⮡ 㢥稢  ࠧ
  ⥪. ଠ 樨 "STACK" (⪠ ଠ "ST") ᫥騩:

     OPTION STACK=n

  :      ᠭ:

  n         ।⠢ 祭.  ଠ n ᫥


                                - 338 -

               [0x]d{d}[k|m]

          d ।⠢    .  ᫨  0x  ।,
          ப  ।⠢ ⭠筮  ᫮.  ᫨  k
          ।,  祭 㬭 1024. ᫨ m ।-
          , 祭 㬭 1024*1024.

        ⥪  㬮砭 - 4096 ⮢  饭 ०
  32-pp來 ਪ ணࠬ.  ࠧ ⥪  㬮砭 -
  2048 ⮢.   祭 믮 襩 ணࠬ,   -
   ᮮ饭  訡,  㪠뢠饥  ९ ⥪. ᫨
   ⠫  ⠪ 訡,      ਪ-
   ணࠬ ᭮,  । 訩 ࠧ ⥪,  ᯮ
   " STACK ".

       ਬ:     option stack=8192

       13.2.12.23.  STATIC

        " STATIC "  ᯮ짮,  ⮫쪮 ᫨  ࠧ-
  뢠 p pp WATCOM C  C++. p WATCOM
  C  C ++ ந ।  ᪨ ᨬ   ꥪ-
    䠩.   㬮砭,   ᪨ ᨬ   
  䠩 . ᫨  , ⮡ ᪨ ᨬ ⮡ࠧ
   䠩 , ᯮ  "STATIC".

       ଠ 樨 "STATIC" (⪠ ଠ "STAT") ᫥騩

     OPTION STATIC

       13.2.12.24.  SYMFILE

        "SYMFILE"  p⠢ ⮤  । ୠ-
  ⨢ 䠩 ⫠筮 ଠ樨. ଠ 樨 "SYMFILE" (-
   ଠ "SYMF") ᫥騩:

    OPTION SYMFILE[=symbol file]

  :        Discription:

  Symbol_file -  ᯥ䨪 䠩   䠩 ᨬ (-
              䨪p). ᫨ ७ 䠩  ।, -
              ७ sym ਭ.


                                - 339 -

        㬮砭, 䠩 ᨬ  ; ⫠筠 -
   ᮡp   ᯮ塞 䠩. । ⮩ 樨
  ⠢ 騪 WATCOM ஢ 䠩 ᨬ.  ᨬ-
   ᮤন ⫠ ଠ, ᣥ஢ 騪
  WATCOM,   ᯮ ४⨢ "DEBUG".   ᨬ 
  ⥬ ᯮ짮 .  ᫨  ⫠筠 ଠ  
  訢,    䠩 ᨬ  ᮧ,  ᨬ 
  ⢨ 樨 "SYMFILE".

  ᫨   䠩  ।,  䠩 ᨬ 㤥  
  ७  㬮砭 sym    ᠬ  䠩  ᯮ塞
  䠩.   ,  䠩 ᨬ (䨪p) 㤥
  ᮧ   ⥪饬 ⠫,   ᫨  ᯮ塞 䠩,
  ।  ४⨢ "PATH" ᮤন ᯥ䨪 .
        ⢥  ୠ⨢,    䠩   㪠뢠 .
   ४⨢  騪  WATCOM  ஢
  䠩  ᨬ   뢠  "myprog.sym" ᨬ   -
  塞 䠩.

       option symf=myprog

         ⠪ ।  / ७ 䠩  
  ᯮ짮  "SYMFILE=" 樨 "SYMFILE".

        :

       1.     ᯮ짮,  ⮡ ⫠ DOS COM
  ᯮ塞 䠩.  DOS COM ᯮ塞 䠩   ᮤঠ -
   ⥫ ଠ,  ⫨  ଠ樨  믮-
  ,  ⠪  DOS ᯮ ࠧ 䠩,  ⮡  ।,  
  㦠.

       2.      ᯮ짮  ᮧ ᯮ塞
  䠩 Microsoft Windows. 筮, ०, 祬 ᯮ塞 䠩 
  믮  ਪ ணࠬ Microsoft Windows,  p
  ᮢ  ᯮ塞 䠩 Windows  䠩 ᮢ    
  ꥤ  .  ᫨ ᯮ塞 䠩 ᮤন ⫠ ଠ-
  , p ᮢ 㤥 㤠 ⫠ ଠ  -
  塞  䠩.  ⥫쭮,  ⫠筠 ଠ  
     ᯮ塞 䠩, ᮧ 騪 WATCOM

       13.2.12.25.  UNDEFSOK

        "UNDEFSOK" ᮮ頥,  ⮡ 騪 WATCOM -

                                - 340 -

   ᯮ塞 䠩,   ᫨ । ᨬ -
  .   㬮砭,  ᯮ塞 䠩  㤥 ஢,  ᫨
  । ᨬ  .  ଠ 樨 "UNDEFSOK" (-
  ⪠ ଠ "U") ᫥騩:

     OPTION UNDEFSOK

       13.2.12.26.  VERBOSE

        "VERBOSE" ࠢ ⢮ ଠ樨,  ந-
   騪 WATCOM  䠩  (map).  ଠ 樨 "VERBO-
  SE" (⪠ ଠ "V") ᫥騩:

     OPTION VERBOSE

       ᫨  "VERBOSE" ।,  騪  WATCOM  㤥
      ꥪ⭮ 䠩  ᥣ,   
  ।   ࠧ.  㬮砭,  ଠ  頥
   䠩 .

        ,   "VERBOSE"   ᯮ짮
    p⨢ MODTRACE  SYMTRACE.

       13.2.13. ४⨢ PATH

       p⨢ "PATH" ᯮ,  ⮡ ।  ⠫,  
    ᪠ ꥪ 䠩, 騥  ᫥
  ४⨢ "FILE".  "PATH" ४⨢ ।, ⥪騩 -
  ⠫   㤥 pᬠp,  ᫨ ⮫쪮    -
    p⨢ "PATH".  ଠ p⨢ "PATH" (⪠ ଠ
  "P") ᫥騩:

     PATH path_name{:path_name}

  :      ᠭ:

  path_name -  .

       ᬮ 䠩 p⨢, ᮤঠ騩 ᫥騥 ४⨢ -
  騪.

     path /math
     file sin
     path/stats

                                - 341 -

     file mean, variance

          騪  WATCOM  ࠡ뢠 ᫥騥
  ꥪ 䠩:

     /math/sin.o
     /stats/mean.o
     /stats/variance.o

         । ᯨ᮪ ⮢  ४⨢ "PATH".
  ᬮ ᫥騩 ਬ.

     path /math:/stats
     file sin

       砫, 騪  WATCOM  㤥    㦠  䠩
  "/math/sin.o". ᫨  㤠筮, WATCOM 騪 㤥 
  㦠 䠩 "/stats/sin.o".
        ⬥ , ।  ४⨢ "H", ⠢
  p  ꥪ⭮ 䠩  ४⨢ "" ᮫ ᯥ-
  䨪  .  ᮫⭠ ᯥ䨪  - ,  
  稭  ᨬ "/".

     path /math
     file sin
     path /stats
     file mean, /mydir/variance

       㯮 䠩  p⨢  騪 WATCOM
  ࠡ뢠 ᫥騥 ꥪ 䠩:

     /math/sin.o
     /stats/mean.o
     /mydir/variance.o

       13.2.14. ४⨢ REFERENCE

       p⨢ "REFERENCE" ᯮ,  ⮡   뫠  
  ᨬ,    뢠  ꥪ 䠩, ࠡ⠭
  騪.  ᫨  ᨬ,  騩  p⨢ "REFE-
  RENCE"   騪, ᮮ饭  訡 㤥 뤠-
    ⮣ ᨬ, 㪠뢠饥   ᨬ ।.
       p⨢ "REFERENCE"    ᯮ짮,  ⮡ 㦤
  ꥪ 䠩  ⥪   ਪ ணࠬ.

                                - 342 -

    ,   ᨬ, 騩  p⨢ "RE-
  FERENCE",   㤥 㤠 p 㤠 p⢮ .  -
  襩 ଠ樨 ⭮⥫쭮 㤠 p⢮ (ᯮ㥬) -
  , . ࠧ " ELIMINATE". ଠ p⨢ "REFERENCE" (-
  ⪠ ଠ "REF") ᫥騩:

     REFERENCE symbol_name{,symbol_name}

  :        ᠭ:

  symbol_name - ᨬ  ண  뫪.

       ᬮ ᫥騩 ਬ.

     reference domino

        domino 㤥 p᪨.  ꥪ ,  
  ।  ᨬ,  㤥   ਪ  ணࠬ-
  .  ,  騪 㤥 ⠪  
  ᨬ 뢠 ⨬ 㫥.

       13.2.15. ४⨢ SEGMENT

       p⨢ "SEGMENT"  ᯮ,  ⮡  뢠  ਡ
  ᥣ⮢   . ଠ p⨢ "SEGMENT" (⪠ ଠ
  "SE") ᫥騩:

     SEGMENT seg_desc{,seg_desc}

     seg_desc ::= seg_id {seg_attrs}+

     seg_id ::= 'seg_name'|CLASS'class_name'

     seg_attrs ::= EXECUTEONLY|EXECUTEREAD
                   |READONLY|READWRITE

  :       ᠭ:

  seg_name
        ᥣ     ਡ ।.

  class_name
        . ਡ  祭  ᥬ ᥣ⠬, ਭ-
       騬 㪠 .

                                - 343 -


  EXECUTEREAD (⪠ ଠ "EXECUTER")
       ।,   ᥣ   ⮫쪮 믮  .
        㬮砭  ᥣ⮢ .   ਡ  ।-
        ⮫쪮  ᥣ⮢ .

  READONLY (⪠ ଠ "READO")
       ।,  ᥣ  ⮫쪮  .    ਡ
        । ⮫쪮  ᥣ⮢ .

  READWRITE (⪠ ଠ "READW")
       ।  ᥣ        뢠.  
       㬮砭    ᥣ⮢ .   ਡ  ।-
        ⮫쪮  ᥣ⮢ .

       13.2.16. ४⨢ SORT

       p⨢ "SORT" ᯮ,  ⮡  ஢  ᨬ  
  p "  "䠩  (map).  㬮砭, ᨬ -
    ᭮ 㫥  ⮬ 浪,   p   ﬨ
  ⠫  騪.      ⮡p  ,
  ᮯ஢ ᨬ,  ।묨 㫥.  ଠ p⨢
  "SORT" (⪠ ଠ "SO") ᫥騩:

     SORT[GLOBAL][ALPHABETICAL]

       ᫨ p⨢ "SORT" ।  権,    ᫥饬
  ਬ,   ⮡ࠦ    ᮯ஢
  ᯨ᪮ ᨬ, p  । 㥬묨  ᠬ.

    sort

       ᫨ ⮫쪮    ஢  "GLOBAL" (⪠ ଠ "GL")
  ।,    ᫥饬 ਬ,      
  ⮡ࠦ,   ᨬ  ஢  ᠬ.

    sort global

       ᫨ ⮫쪮  "ALPHABETICAL"    ஢ (⪠ ଠ
  "ALP") ।,    ᫥饬 ਬ,   -
    ⮡ࠦ,  p祬   ᮯ஢ ᯨ᪮ ᨬ,
  p  । 㥬묨  䠢⭮ 浪.

    sort alphabetical

                                - 344 -


       ᫨  "GLOBAL"  "ALPHABETICAL" 樨 ஢ ।
    ᫥饬 ਬ,   㫥   ⮡ࠦ 
   ᨬ  pp  䠢⭮ 浪.

     sort global alphabetical

       ᫨   ਪ ணࠬ  WATCOM  ++,  ᫮
   ,  ᯮ ᭮ . ᭮  - ᨬ-
           室 䠩.  .  ࠧ " 
  MANGLEDNAMES"  襩 ଠ樨 ⭮⥫쭮 ᫮ .

       13.2.17. ४⨢ SYMTRACE

       ४⨢ SYMTRACE    騪 WATCOM 
  ᯨ᮪  㫥,  뫠  㪠 ᨬ. ଠ
  ४⨢ SYRACE ( ⪠ ଠ "SYMT" ) ᫥騩

    SYMTRACE symbol_name{,symbol_name}

  :        ᠭ:

  Symbol_name - ᨬ쭮 .

       ଠ ⮡ࠦ  䠩  (map).  ᬮ ᫥-
  騩 ਬ.

       ਬ:

    wlink form qnx op map file test lib math symt sin, cos

       騪 WATCOM 㤥   䠩   㫨,
   뫠  ᨬ sin  cos.

        :

       1. ४⨢  SYMTRACE   ᯮ짮   樥
  "VERBOSE".

       13.2.18. ४⨢ SYSTEM

          p⨢ "SYSTEM",  ࢠ ଠ  p⨢
  "SYSTEM"  (⪠  ଠ "SYS") 뢠 ४⨢ ।
  ⥬.    뢠  ४⨢ 騪  -

                                - 345 -

  ।  짮⥫ ,  뢠  ⥬.  
   ४⨢ 騪 뢠  ।  ⥬.
  ଠ ४⨢ । ⥬ ᫥騩:

     SYSTEM BEGIN system_name (directive) END

  :        ᠭ:

  system_name - ।塞 짮⥫  ⥬.

  directive   - ४⨢ 騪.

       ४⨢ ।  ⥬      । 
  㣮 ४⨢ । ⥬.

        ଠ p⨢ "SYSTEM" ᫥:

     SYSTEM system_name

  :        ᠭ:

  system_name - ।塞 짮⥫  ⥬.

         ⮩ ମ ४⨢ ⠫,  ४⨢, -
  ।      । ⥬ ஢ 
  ⥬,  ࠡ뢠.

       ᬮp ਬ,   뢠 ᯮ짮 p⨢
  "SYSTEM".  騥 ४⨢ 騪 । ⥬, -
  뢠 statistics.

     system begin statistics
     form qnx
     libpath /libs
     library stats, graphics
     option stack=8k
     end

        ।,    ணࠬ statistics  ᮧ,
  ᯮ ⥪ "stats.lib"  "graphics.lib".  
  䠩  ࠧ    "/libs" ⠫.  ணࠬ ॡ ࠧ
  ⥪ 8   믮 ணࠬ QNX 㤥 ஢.
       ।,  ४⨢ 騪  㯮⮬ -
   ᮤঠ  䠩 "stats.lnk".  ᫨  ⨬ ᮧ ਪ-

                                - 346 -

   ணࠬ statistics,   뤠 ᫥ .

       wlink @stats system statistics file myappl

        뢠  ⨬ ਬ஬,  ४⨢ "SYSTEM"  -
  짮  p    ਡ⮢,    뢠
   ਪ ணࠬ.

       13.2.18.1 樠  ⥬

         ᯥ樠  ⥬.  騪 -
  ⠫  ꥪ 䠩  ଠ ᯮ塞 䠩  ।-
  ,    । ⥬  ࠡ⠭, ४⨢, ।-
     । ⥬ "286"  "386",    ࠡ-
  .   । ⥬ "386" 㤥 ࠡ뢠,  ᫨
  p뢠 32-pp來 ꥪ 䠩. ஬ ⮣, ⮫쪮 -
  祭  ४⨢ 騪    p-
   ⥬ "286"  "386".  ᫥騥.

     .FORMAT

     .LIBFILE

     .LIBPATH

     .LIBRARY

     .NAME

     .OPTION

     .SEGMENT

       13.2.19. ४⨢ #

       p⨢ "#" ᯮ, ⮡ ⬥ 砫 .
    ⥪  ᨬ "#"   ப ᬠਢ  -
  ਩. ଠ "#" ४⨢ ᫥騩

    # comment

  :      ᠭ:

  comment    ᫥⥫쭮 ᨬ.

                                - 347 -


       騩 䠩 p⨢  ᯮ짮 -
  .

     file main, trigtest
     # Use my own version of "sin" instead of the
     # library version.

     file mysin
     library /math/trig

       13.2.20. ४⨢ @

       ४⨢ "@"   騪  WATCOM  ࠡ뢠
  ४⨢  ୠ⨢ 筨. ଠ ४⨢ "@" ᫥-
  騩:

      @directive_var

         or

      @directive file

  :           ᠭ:

  directive_var -  ६ p.  ४⨢,  । di-
               rective_var,  ࠡ뢠.

  directive_file - ᯥ䨪 䠩   䠩 ४⨢ -
               騪. ७ 䠩 lnk ਭ, ᫨  -
               ।  ७ 䠩.

       室   । ४⨢ 騪  ᭮ ६-
   p   㪠뢠 筮 ᯮ㥬 ४⨢ 
  室  ।   ࠧ,    뢠 -
  騪 WATCOM.  ᫨ ⥬ ६ wlink ⠭    
  ᫥饬 ਬ:

     export wlink=debug all option map, verbose library math
     wlink @wlink

    ࠧ,  騪 WATCOM 뢠,  ⫠-
    ଠ  㤥  ஢,  ஡ 䠩  㤥
  ᮧ   䠩 "math.lib" 㤥 ᪠   砥

                                - 348 -

  । 뫮.
        ४⨢ 騪 ,  ਬ,   -
  騪 ⮨  讣 ᫠ ꥪ 䠩    
       ப  ࠧ,   -
    ணࠬ.  ,  䠩 ४⨢ -
    ⠪  㣨 䠩 ४⨢ 騪.

        䠩 "memos.lnk"  䠩 p⨢, ᮤঠ騩 ᫥騥
  ப.

     form qnx
     name memos
     file memos
     file actions
     file read
     file msg
     file prompt
     file memmgr
     library /termio/screen
     library /termio/keyboard

       ᬮ ᫥騩 ਬ.

       ਬ:     link @memos

       騪 WATCOM ந஢  ࠡ뢠  ᮤঠ
  䠩 p⨢ "memos.lnk". 믮 䠩-p 㤥  "me-
  mos.qnx".  騥 ꥪ 䠩  㦠   ⥪饣
  ⠫.

    memos.o
    actions.o
    read.o
    msg.o
    prompt.o
    memmgr.o

       ᫨  襭 ᨬ 뫪   ᫥  ⮣,
      ꥪ  䠩 ࠡ⠫,   䠩 "scre-
  en.lib"  "keyboard.lib"  ⠫ "/termio"  p᪨ (
   ᫥ 浪 ).


                                - 349 -
       ਬ砭:

       1.   㯮⮬ ਬ   㪠뢠 ७ 䠩,
   䠩 p⨢ ।.  騪 WATCOM ਭ -
  ७ 䠩 "lnk" ᫨   ।⠢.

       2.  室   ꥪ 䠩  -
    ࠧ쭮 ४⨢.  騩 䠩  ४⨢  騪
  ⥭.

             form qnx
             name memos
             file memos, actions, read, msg, prompt, memmgr
             library /termio/screen, /termio/keyboard

  , ᫨   롮筮 ।    ଠ  
  ⫠   ,   ⨫ ࠢ饣 䠩 㤥
     ᯮ짮.    ᫥饬 ⨯-
   䠩 p⨢.

             form qnx
             name memos
             debug lines
             file memos
             debug all
             file actions
             debug lines
             file read
             file msg
             file prompt
             file memmgr
             debug
             library /termio/screen
             library /termio/keyboard

       3. ଠ  ᯥ᪮ ४⨢  墠뢠 
  ࠢ騥  䠩.      ᫥饬 ⨯ 䠩
  p⨢.

             form qnx
             file memos, actions, read, msg, prompt, memmgr
             file @dbgfiles
             library /termio/screen
             library /termio/keyboard

        p⨢ "dbgfiles.lnk" ᮤন,  ਬ,  ꥪ

                                - 350 -

  䠩,  ᯮ  ⫠ 楫.

       13.3. p 

        뢠 冷 ᥣ⮢ ਪ ணࠬ, -
  㥬 騪 WATCOM.   ,   ਭ
  㪠 樨 騪 DOSSEG.

       1.   ᥣ,    ਭ騥 㯯 "DGROUP"  ᮬ
  "CODE"

       2.  㣨 ᥣ,  ਭ騥 㯯 "DGROUP"

       3.   ᥣ,  ਭ騥  㯯  "DGROUP"    ᮬ
  "BEGDATA"

       4.  ᥣ,  ਭ騥 㯯 "DGROUP",    -
  ᮬ "BEGDATA", BSS  "STACK"

       5.  ᥣ, ਭ騥 㯯 "DGROUP"  ᮬ "BSS"

       6.   ᥣ,  ਭ騥  㯯  "DGROUP"    ᮬ
  "STACK"

       樠 , ਭ騩  ᥣ "BEGDATA", ।-
      ⥪  WATCOM  ६  믮
  (run-time).  ᥣ 樠 ⠬ "01"   
  ᥣ  㯯 "DGROUP" ⠪,   ࠭    0
    㦥.
       , ਭ騥   "BSS" ᮤঠ  樠-
  ஢ .   ,   ⮫쪮 砥 -
  樠஢   ᥣ,  ਭ 㯯 "DGROUP".
  ,  ਭ騥   "STACK", ᯮ ⮡ -
   ࠧ ⥪,  ᯮ㥬  襩 ਪ ணࠬ.
  ,  ਭ騥  ᠬ "BSS"  "STACK", ᫥  -
  浪 ᥣ⮢, ⮡ 樠஢    -
    ᯮ塞 䠩.

       13.4 ॡ  騪 WATCOM

       騪 WATCOM  ᯮ  㯭   -
   ਪ ணࠬ.   ࠧ 㥬 -
  p ॢ ꥬ ,  㯭  襩 ,  ᮡ ᫨
  䠩-p  ᮤঠ ଠ  ⫠.   ⮩ -

                                - 351 -

  ,  ᯮ ६ 䠩  ᪥,    㯭 -
   ᯮ 騪 WATCOM.
       筮, ६  䠩  ᮧ  ⥪饬 ࠡ祬 ⠫.
  ,  । ६ p TMPDIR  ⠫,    
  ᮮ 騪 WATCOM  ᮧ ६ 䠩.   -
    ᮡ ,  ᫨   ᥢ.  ᬮ
  ᫥饥 । ६ p TMPDIR.

     export TMPDIR=/tmp

       騪 WATCOM  㤥  ᮧ ६ 䠩  ⠫e
  "/tmp".

       14. ⨬ 쭨 맮

       ⨬ 쭨 맮  ਢ  訬 ᯮ-
   䠩  襭 䥪⨢.   , 
  ᯮ ⮬᪠ 㯯஢ ᪨ ᥣ⮢   -
  ᪨ ᥣ.  ,  ⮬᪠ 㯯஢-
   믮  㬮砭 騪 WATCOM.
        室  ⥪  C,  㥬 ᯮ p
  WATCOM C  室 ⥪  FORTRAN  77,  㥬  ᯮ
  p WATCOM FORTRAN 77,  㤥 ᪠ ⨬ 쭥
  맮.  騪 WATCOM 㤥 ⨬஢ 쭨  맮  
  楤ࠬ,    ﭭ 室  ⮬  ᠬ 䨧᪮
  ᥣ  뢠 pp.  ਬ, ணࠬ 让 -
    㤥, ⭮, ᮤঠ 讥 ⢮ 쭨 -
    楤ࠬ  ⮬  ᠬ 䨧᪮ ᥣ.    -
   ᥣ 뢠饩 pp - ⠪    ᥣ -
  뢠 楤,  ⮫쪮  饭  室.  
  饭   ॡ   ⠡ ன ᯮ塞 䠩,
    ६  쭨 맮 p.    ࠧ,  ⨬
  쭥 맮 㤥 ਢ  訬 ᯮ塞 䠩, -
    㦠 ॥.  ஬ ⮣,  饭 㤥
    믮 ॥ 祬 쭨 맮,  ᮡ  286- 
  386- 設,    ਪ ணࠬ,  믮  -
  饭 ०, ४祭 ᥣ⮢ 쭮 p⥫쭮.

        뢠 ⨬ 쭥 맮.    -
   쭥 맮 pp     ᫥  ᫥-
  ⥫쭮⥩ .

      push   cs              seg ss
      call   near label      push cs

                                - 352 -

      nap                    call near label

       ਬ砭:

       1.  nop  seg ss ।⠢, ᪮  -
    맮    ⮢.  push cs - -
  ⮢   ⪨  맮 塠⮢.   seg ss
  ᯮ ⮬,   ॥, 祬  nop.

       2. 뢠 楤 㤥      ᯮ짮  
  retf,    ⠪   ᥣ       ⥪,
   (far)  㤥 믮 ࠢ쭮.

       3.  ⥫쭮  롨ࠥ ⠪,  ⮡ 
    ࠢ   p ᫮.  ࠢ  p
  ᫮   蠥 䥪⨢.

       4.   ᫥⥫   ⪨  쭥  맮
  ⨬  ࢠ  ⪨  맮 p
   p ᫮, ᫥ ᫥⥫쭮   
  ⪨  맮.

              push cs
              call near labell
              Beg SS
              push cs
              Beg CS
              call near label2

       5. ᫨  ணࠬ ᮤন ⮫쪮  맮,  -
  ⨬  㤥   䥪.

       ⨬   室 ⠪ 믮 騪
  WATCOM.      ᠬ 룮,  ⨬ 쭥 -
  .    ⪨  p室    ⮬  ᠬ ᥣ-
   㤥  ᫥饩 ᫥⥫쭮 .

     jmp near label
     mov aX,aX

        ,    32-pp來 ᥣ⮢  
  ⠭ mov eax, eax.


                                - 353 -
       15. 饭  訡 騪

       騪 WATCOM  뤠      ᮮ饭;  ⠫
  訡,  訡  ।०.   ᮮ饭  4-筮
  ᫮,  易  .  ⠫ ᮮ饭 稭   3,
  ᮮ饭  訡 稭   2,   ।०騥 ᮮ-
  饭 稭   1.      ᮮ饭, -
    ।०   訡.
       ᫨ ⠫쭠 訡 ந室,  騪 㤥 
  p    ᯮ塞 䠩  㤥 ஢-
  .
       ᫨ p  訡  ந室,  騪 㤥 த
  믮,  ⮬   訡 뤠. , ᯮ-
  塞 䠩  㤥 ஢, ⠪   訡  ࠧ-
   ᮮ⢥饬 ᯮ塞 䠩 ஢.
       ᫨ ।० 뤠, 騪 㤥 த -
  . ।०饥 ᮮ饭 筮 ଠ樮   -
  頥  ᮧ  ᮮ⢥饣 ᯮ塞 䠩.  ,
   ।०   筮   ࠢ.

       ᫥  ᮮ饭 ᮤঠ 뫪  %s,  %a %S, %x,
  %d,  %l .   ।⠢ ப,   -
   WATCOM ⠪, ⮡ ᤥ ᮮ饭  訡  .

       1. %s ।⠢ ப.       ᥣ    
  㯯,   ४⨢ 騪  樨.

       2. %S p⠢  ᨬ.

       3. %a ।⠢ . ଠ    ଠ -
  pp㥬 ᯮ塞 䠩.

       4. %x ।⠢ ⭠筮 ᫮.

       5. %d ।⠢ 楫 ᫠    -32768  32767.

       6. %l ।⠢ 楫 ᫠     -2147483648  
  2147483647.

        p  ᯨ᮪    ।०   ᮮ饭 
  訡,  뤠 騪 WATCOM, ᮯ஢ ᠭ
  ᮮ饭. 饭  ᮤঠ  祬  뫪  "%s".
   ⠪ 砥,  ᠭ 㤥 뫠    "%n",   n  -
  ⮭宦 "%s"  ᮮ饭.


                                - 354 -
  MSG 2002  **internal** - %s
         ᫨  ᮮ饭 뤠,   諨 訡  騪
             ⠪  WATCOM.

  MSG 2008 cannot open %s : %s
         訡 ந諠  ⪥  䠩 "%s1". 稭 
         訡   "%s2".    ᮮ饭  訡 뤠-
         ,   騪 WATCOM      ꥪ
         䠩  䠩 p⨢.

  MSG 3009 dynamic memory exhausted
         騪 WATCOM ᯮ  㯭    -
           ਪ ணࠬ.    㯭 
         ᯮ짮,  ᯥ樠 䠩  ᪥ (spill file)  㤥
         ᯮ짮.  ⥫쭮, ᫨   p祭  -
          ࠭⢥, 騪 WATCOM 㤥 ᥣ ᯮᮡ
         ஢  ᯮ塞 䠩.  ᪠   -
         ,  ᯮ㥬 騪 WATCOM,  ⮡ ନ஢
         ७    ⠡ 䨪஢.  
          ᪥  ᯮ  ᪮ .  ᫨ -
         騪  WATCOM 뤠  ᮮ饭,     -
           ਪ ணࠬ.  p ।-
         ,      ⮩ 樨.

       1. ꥤ   ꥪ 䠩    㪠 ⮫쪮
  १p騩 ꥪ 䠩   騪 WATCOM.  -
  ,   뤠 ᫥ .

               % cat *.obj > all.tmp
               % mv all.tmp all.obj
   ⥫쭮 㬥蠥 ࠧ ᯨ᪠ 䠩, p 騪
  WATCOM  ন.

       2. ꥪ 䠩  ᮤঠ ,   ।
   .  ଠ ᯮ , ⮡ 室 -
    祭 ᥠ ⫠  筮 ᮤন   室-
   䠩.    ॡ ⥫ ꥬ ,  
  讥 ⢮ ⠪ ꥪ 䠩 . ᫨  -
  室 ⥪  p WATCOM,   ᯮ짮-
    "nm",  ⮡ ⠭     䠩. 
  㬥蠥 ꥬ , ॡ㥬 騪 WATCOM. ᫨  -
    ,  ⮡ ⫠  ਪ ணࠬ,  
   p ᯮ짮  "set  source",  ⮡  
  뫮  筨, ᮮ⢥騩 .
                                - 355 -

       3. 筮,    ணࠬ   讣
  ,    । ࠧ "⥪⮢" ᥣ. ᫨
      ਪ  ணࠬ,  ᯮ  p
  WATCOM C,    㬥 ᫮ "⥪⮢" ᥣ⮢, 
  騪 WATCOM  ࠡ뢠, ।  "nt". 
  "nt"     ।  "⥪⮢" ᥣ ⠪,  
  㯯 ꥪ 䠩 ।   ᠬ ᥣ "TEXT".

  MSG 2010,3010 I/O error processing %s : %s
         訡 ந諠   ࠡ⪥ 䠩 "%s1".  稭 訡
           "%s2".   訡 筮 㦨  ⥭
          ꥪ     䠩    p
         䠩  ᯮ塞 䠩.  ਬ,  訡 㤥 뤠-
         , ᫨ ⢮ ᫮ " ".

  MSG 2011  invalid object file attribute
         騪 WATCOM ⮫  ꥪ 䠩,  
          ଠ ॡ㥬  ꥪ⭮ 䠩.

  MSG 2012  invalid library file attribute
         騪 WATCOM ⮫   䠩, 
           ଠ ॡ㥬  筮 䠩.

  MSG 3013  break key detected
           뢠 짮⥫  .

  MSG 1014  stack segment not found
         騪 WATCOM  ᥣ ⥪  ᥣ,
         । 稥 ਡ "STACK".   ᮮ饭 뤠-
         ,  ᫨  ⠪ ᥣ  .   筮 砥,
         ᫨ 騪 WATCOM   室 ⥪ ६
         믮  ॡ㥬,  ⮡      ਪ
         ணࠬ.

  MSG 2015  bad location specified in FIXUP
          ᮮ饭 뤠, ᫨  娬 ꥪ 䠩 ⠫-
         .

  MSG 2016  %a: absolute target invalid for self-relative relocation
          ᮮ饭 뤠, ਬ, ᫨  맮  -
         p室   譥 䨪p,   ।-
         , ᯮ ४⨢ ᥬ EQU. "%a" -
          ᯮ  near call  jump.


                                - 356 -

  MSG 2017  bad location specified for self-relative relocation at %a
          ᮮ饭 뤠, ᫨  宩 p ⠫-
         . "%a" । ᯮ p ⪠.

  MSG 2018  relocation offset at %a is out of range
          ᮮ饭  뤠,      ன - ᬥ饭
         ॢ蠥 64 .  "%a" । ᯮ  p
         ⪠.  訡 筮 맢 訡  ஢ -
         ணࠬ ᥬ. p⠢ , 뫠騩  -
          ᨬ,   ।  ᥣ ⫨筮  -
         ,   ஬ 뫪 ந諠. , , ।,
           ᥣ,    ஬ ᨬ । -   ᠬ
         ᥣ  ᥣ,  뫠  ᨬ.  訡
            筮  p室,    ४⨢  ᥬ
         "EXTRN" 頥 ᫥ ४⨢ ᥬ "SEGMENT"  
         ᥣ 뫠饣   ᨬ.  ᫨ ᥣ, -
          뫠   ᨬ, p頥 筮 -
           ᥣ,   । ᨬ, 騪 WAT-
         COM 㤥 뤠  ᮮ饭.

  MSG 1019  segment relocation at %a
          ᮮ饭 뤠,    ன ᥣ ⠫-
           㪠 "FORMAT  DOS  COM  ","FORMAT  PHARLAP"  
         "FORMAT NOVELL".   㯮 ଠ⮢ ᯮ塞-
          䠩   ன ᥣ. "%a" -
          ᯮ ன ᥣ.

  MSG 2020  size of group %s exceeds 64k by %l bytes
         p㯯 "%s" ॢᨫ ᨬ ࠧ  64   ᪠-
           㯯  "%l" . 筮,  㯯 DGROUP (ᥣ-
            㬮砭)   ਪ ணࠬ -
         ⨫ ᫨誮 讥 ⢮    㯯.  
         ᫥饣    ஡.

       1. ᫨  ᯮ p WATCOM C,   
         ᥣ ᯮ 祢 ᫮
  "far"  । .    ⠪  㬥  祭
  ண  ᯮ  p "zt".    -
   祩 ࠧ ॢ蠥 祭 ண  㤥   
   ᥣ.

       2. ᫨  ᯮ p WATCOM FORTRAN 77,  
  㬥 祭 ண , ᯮ  p "dt".
     ,  祩 ࠧ ॢ蠥 祭 ண 

                                - 357 -

  㤥    ᥣ.

  MSG 2021  size of segment %s exceeds 64k by %1 bytes
          "%s"  ॢᨫ ᨬ ࠧ (64 ) ᥣ.
          筮 ந室,  ᫨   ਪ  ண-
         ࠬ,    ஢  쪮   
         ࠧ ਪ ணࠬ  ⠪,   ࠧ  ᥣ
          ( "_TEXT") ॢᨫ 64 .   ᤥ ૥
          ணࠬ  ஢   让  ,
         ᫨    㬥 pp   襩 ணࠬ.

  MSG 2022  cannot have a starting address with an imported symbol
          ᮧ ᯮ塞 䠩 OS/2    PenPoint,  ᨬ
         㥬    DLL    p⮢ ᮬ.  
         ᮧ ᯮ塞 䠩 NetWare 386,  ᨬ -
           NLM    p⮢ ᮬ.

  MSG2023   no starting address found, using %a
         p⮢  । ,   믮  -
         稭      । ᯥ樠쭮  "
         "     ꥪ  䠩,  㥬    
         ਪ ணࠬ.  ᮮ饭 뤠, ᫨ ⠪ -
           室   ⮬ 砥 p⮢   㬮-
         ,  , "%a", 㤥 ᯮ짮.  筮 -
         ,  ᫨ 騪 WATCOM   室  ⥪
         ६  믮 (run-time),  ॡ㥬 ⮡ 
          ਪ ணࠬ.

  MSG 2024  missing overlay loader
          ᮮ饭 뤠,  p ਪ ணࠬ-
             諨  ૥  .  
         筮 砥,  ᫨ 騪 WATCOM   室
         ⥪ ६ 믮,  ॡ㥬 ⮡  
          ਪ ணࠬ.

  MSG 2025  short vector %d is out of range
          ᮮ饭 뤠,    騪  WATCOM  ᮧ
         p   ਪ   ணࠬ    㪠뢠  "OPTION
         SMALL".   ૥  ᮤন  饭
           ૥  稪  ᫥騬  室 
         ணࠬ, ᮮ⢥饩 ૥ ,  ,
           ૥      ૥ 
            祬 64 .   ᮮ饭 뤠,  ᫨
         ᬥ饭 ૥   ૥ 稪  -

                                - 358 -

         ⢥饩 ணࠬ ॢ蠥 64 .

  MSG 2026  redefinition of reserved symbol %s
         騪 WATCOM  ppp । ᨬ.  
         ᨬ -
         "_edata", "_end", "_OVLTAB_", "_OVLSTARTVEC_",
         "_OVLENDVEC_", "_LOVLLDR_", "_NOVLLDR_",
         "_SOVLLDR_", "_LOVLINIT_", "_NOVLINIT_" 
         "_SOVLINIT_".  "_OVLTAB_","_OVLSTARTVEC_",
         "_OVLENDVEC_", "_LOVLLDR_", "_NOVLLDR_",
         "_SOVLLDR_", "_LOVLINIT_", "_NOVLINIT_" 
         "_SOVLINIT_" p  ⮫쪮 ᫨  ᯮ p.
          "_edata""_end" । ⮫쪮 ᫨  "DOS-
         SEG"  ।.   ਪ ணࠬ   -
          ।  ᨬ.  "%s"  १-
         ஢ ᨬ.

  SG1027   redefinition of %S ignored
          "%S" ।  祬  㫥;  ࢮ -
         । ᯮ.  - ⮫쪮 ।०饥 ᮮ-
         .   ,  ᫨ ᨬ । 
         祬  ࠧ   -   ᠬ   , 
         ।०  㤥 뤠.  ।頥 뤠
         ।०  ᮮ饭    㫥 
         77  ᮤঠ 騥 .

  MSG1028   %S is an undefined reference
          "%S" 뢠,    ।.  ஢,  -
           㪢 ᨬ 筠. ᫨   ⮡ -
         騪 ஢ । 뫪,  ᯮ -
          "UNDEFSOK".

  MSG 2029  premature end of file encountered
          訡 뤠  ࠡ⪥ ꥪ 䠩  ꥪ-
          㫥  ⥪  砥, ᫨  䠩  
          ⨣ । p祩  " ". -
         ⭠ 稭 - 祭 ꥪ 䠩.

  MSG 2030  multiple starting addresses found
         砫  । ,    稭 -
           ।  " "  ᯥ-
          ꥪ⭮ 䠩.  ᮮ饭 뤠, ᫨  祬
          ꥪ 䠩 ᮤন  " ",  
         । 砫 .

                                - 359 -


  MSG 2031  segment %s is in group %s and group %s
          "%s1" ।  p騩 p㯯 "%s2"  -
          㫥    p㯯 "%s3"  㣮 㫥.  -
          ⮫쪮 ਭ ⮫쪮  㯯.

  MSG1032  record (type 0x%x) not processed
         ⮫㫨  ⨯  ꥪ,  p -
         騪 WATCOM.   ᮮ饭  뤠    
         ꥪ  㫥,  ᮧ 㣨 p  -
         ᥬࠬ,   ᮧ ꥪ 䠩  ﬨ, -
          騪 WATCOM  ন.

  MSG 2033,3033 directive error near '%s'
         訡 ᨭ⠪ ந諠   ६  騪  WAT-
         COM ࠡ뢠 ४⨢. "%s" ।,  訡 ந-
         諠.

  MSG 2034  %a cannot have an offset with an imported symbol
         㥬 ᨬ    ।    ४⨢ "IMPORT".
         ਬ,  OS/2  PenPoint, 㥬 ᨬ ।-
           DLL.  뫪  㥬 ᨬ  ᥣ
          祭 ᬥ饭 0.  ᫨ "Doswrite" -  㥬
         ᨬ, ⮣ 뫪  "Doswrite + 2" 饭. "%a" -
          ᯮ 饭 뫪.

  MSG1038 DEBUG directive appears after object files
          ᮮ饭 뤠,  ᫨ ࢠ ४⨢ "DEBUG" -
          ᫥ ४⨢ "FILE".  筠 訡 -  ।
         ४⨢ "DEBUG" ᫥ ४⨢ "FILE",  ⮬ 砥 -
          ଠ ⫠  㪠 ꥪ 䠩  -
           ᯮ塞 䠩.

  MSG 2039 ALIGNMENT value too small
         祭 㪠  樨 "ALIGNMENT" ⭮   ࠢ-
          ᥣ⮢  ᯮ塞 䠩.    ᯮ塞
         䠩 㪠뢠 ⠡楩 ᥣ⮢.  㭪  ⠡  ᥣ-
         ⮢  ᮤন  16-pp來  祭,  ஥  
          祭 ࠢ.   ନ ᬥ饭
         ᥣ  砫 ⠡ ᥣ⮢.    ࠢ-
         ,  ⥬  祭,  ॡ㥬   ⠡  ᥣ⮢,
         ⮡  㪠뢠  ᥣ.  ᫨  祭 ॢ蠥 64
         ,  ⮣ 襥 祭  ࠢ  ॡ,  ⮡
         㬥 ࠧ,  p室  ⠡ ᥣ⮢.

                                - 360 -


  MSG 2040  ordinal in IMPORT directive not valid
         । 浪 ᫮   ४⨢  "IMPORT"  -
         쭮 (ਬ, -1). 浪 ᫮    -
           0  65535.

  MSG 2041  ordinal in EXPORT directive not valid
         । 浪  ᫮    ४⨢ "EXPORT" -
         쭮 (ਬ, -1). 浪 ᫮    -
           0  65535.

  MSG 2042  too many IOPL words in EXPORT directive
         ᨬ쭮 ᫮ ᫮ IOPL - 63.

  MSG1043   duplicate exported ordinal
          ᮮ饭 뤠  浪 ᥫ,  । 
         ४⨢ "EXPORT"  ᨬ, ਭ OS/2  Pen-
         Point DLL (⥪ ᪮ ).  ᮮ-
          뤠, ᫨ 浪 ᫮ 祭   ࠧ-
           ᨬ.  ।० 뤠  騪 WATCOM
         砥 ᯮ㥬 浪 ᫮  ᨬ, 
         맢 ।०.

  MSG 1044,2044 exported symbol %s not found
          ᮮ饭 뤠  ᮧ OS/2  PenPoint DLL  
         NLM (p㦠 㫥 NETWARE) NETWARE 386.   -
         ⪠ । 騩 㭪  DLL  NLM.

  MSG1045   segment attribute defined more than once
         , 㪠  ४⨢ "SEGMENT"  ⨢-
            ਡ.

  MSG 1046  segment name %s not found
          ᥣ,  ।  ४⨢ "SEGMENT",  -
         .

  MSG 1047  class name %s not found
          , ।  ४⨢ "SEGMENT",  .

  MSG 1048  inconsistent attributes for automatic data segment
          ᮮ饭 뤠  ᯮ塞 䠩  PenPoint  
         OS/2.    室   ⨢稨 ਡ 㪠뢠
          ⮬᪮ ᥣ .  ਬ, LOADONCALL 
         "PRELOAD" 䫨騥 ਡ.  쪮  ਡ -

                                - 361 -

         .

  MSG 2049  invalid STUB file
          誨 -  ⨬ ᯮ塞 䠩.  -
          ⮫쪮 ᯮ  ᯮ塞 䠩 OS/2.

  MSG1050   invalid DLL specified in OLDLIBRARY option
         DLL OS/2    PenPoint,  ।  樨 "OLDLIBRARY",
           ⨬ ᪠ ⥪ .

  MSG 2051  STUB file name same as executable file name
          ᮧ ᯮ塞 䠩 OS/2,   䠩 誨 
           ⥬  ᠬ   ᯮ塞 䠩.

  MSG 2052  relocation at %a not in the same segment
          ᮮ饭  뤠 ⮫쪮  ਪ ணࠬ -
         饭 ०.  ⭮⥫쭠 p  ६ 
         ⮬   ᠬ ᥣ.  "%a" । ᯮ -
         ன⢠.

  MSG 2053  %a: cannot reach a DLL with a relative relocation
         뫪   ᨬ  OS/2  PenPoint DLL    -
         ⥫쭮. "%a" । ᯮ 뫪.

  MSG 1054 debugging information incompatible: using line numbers on-
  ly
          ⪠  ꥪ 䠩  p襩 -
         筮 ଠ樥.

  MSG 2055 %a: frame must be the same as the target in protected mode
          ன ⮨     ⮢:  ६饭
         ⮯,    (  뫪  ),   ३
         (ᥣ,   ஬  ४ ).  饭
         ०,  ᥣ       ⠪   ३.
         "%a" । ᯮ p ⪠.

  MSG 2056  cannot find library member %s(%s)
          "%s2"  ⥪  筮 䠩 "%s1"  .
          ᮮ饭 뤠,  ᫨  䠩    
            䠩  ᮤঠ । 童.

  MSG 3057  executable format has been established
          ᮮ饭 뤠,  ᫨   祬  ४-
         ⨢ "FORMAT".

                                - 362 -


  MSG1058   %s option not valid for %s executable
          "%s1"  ।, ⮫쪮 ᫨ ᯮ塞 䠩
         ଠ "%s2" .

  MSG1059,2059 value for %s too large
         祭, ।  樨 "%s",  ॢ蠥  ࠭-
         .

  MSG1060   value for %s incorrect
         祭, ।  樨 "%s",    ⨬ -
         .

  MSG1061   multiple values specified for REALBREAK
          "REALBREAK"  । ⮫쪮  ࠧ.

  MSG1062   DLL COMENT record invalid when not in OS2
          DLL COMENT ᮤন ଠ  ᨬ,  
         ।  ᪨ ⥪ .   -
         饭 뤠, ᫨  뫪  DLL ⠫  ଠ
         ᯮ塞 䠩  "OS2".

  MSG 2063  invalid relocation for flat memory model at %a
         ⮫㫨   ன  ᥣ  ᪮  .
         "%a" । ᯮ ⪠ p.

  MSG 2064  cannot combine 32-bit segments with 16-bit segments
         ⮫㫨  16-pp來   32-pp來 ᥣ⠬. -
         訢 ꥪ 䠩,  ᮧ p 286  -
          䠩, ᮧ p 386 -  -
          稭 ⮩ 訡.

  MSG 2065  REALBREAK symbol %s not found
         , 㪠  樨 "REALBREAK",  ।.

  MSG 2066  invalid relative relocation type for an import at %a
          ᮮ饭 뤠, ⮫쪮 ᫨ pp ᯮ塞
         䠩 NetWare 386.  㥬 ᨬ - ,  -
           ४⨢ "IMPORT".   뫪  㥬
         ᨬ    뫠  ᥣ 㥬 ᨬ-
         . %a । ᯮ 뫪.

  MSG 2067 %a:  cannot relocate between code and data in Novell  for-
  mats

                                - 363 -

          ᮮ饭 뤠, ⮫쪮 ᫨ pp ᯮ塞
         䠩 NetWare 386.  ன ᥣ⮢  ࠧ蠥.  "%a"
         । ᯮ ⪠ p.

  MSG 2068  absolute segment fixup not valid in protected mode
         뫪   ᮫⭮ ᯮ    饭-
          ०.  ਪ ணࠬ 饭 ० -
            p樮 ⥬ OS/2,  PenPoint,  Phar Lap's
         3861DOS-Extender,  DOS/4G p Rational  Novell  Netware
         386.  ᮫⭮ ᯮ 筮 । ४⨢
         EQU ᥬ.

  MSG1069   unload CHECK procedure not found
         , 㪠  樨 "CHECK",  ।.

  MSG 2070  START procedure not found
         , 㪠  樨 "START".   ।. 
         䨪p "START"  㬮砭 - "Prelude"

  MSG 2071  EXIT procedure not found
         , 㪠  樨 "EXIT"    ।.  
         䨪p "STOP"  㬮砭 - "_Stop".

  MSG1072   SECTION directive not allowed in root
         ४⨢ "SECTION"    p⨢ "BE-
         GIN"  ᮮ⢥饩 "END".

  MSG 2073  bad Novell file format specified
          ⨬ ଠ ᯮ塞 䠩  NetWare  386.
         ⨬ ଠ - NLM, DSK, NAM  LAN.

  MSG 2074  invalid NLM description
         ᠭ, ।  p⨢ "FORMAT NOVELL",   -
         ,   ࠢ쭮 ।.

  MSG 2075  expecting an END directive
         p⨢ "BEGIN"  ᮮ⢥饩 ४⨢ "END".

  MSG 1076  %s option multiply specified
          "%s"  । ⮫쪮  ࠧ.

  MSG1080   file %s is a 32-bit object file
          ਡ⮬  32-pp鸞 ⮫㫨    ᮧ  ଠ
         ᯮ塞 䠩  16 pp鸞.

                                - 364 -


  MSG 2082  invalid record type 0x%x
         ⮫㫨  ⨯  ꥪ,  ᯮ -
         騪  WATCOM.    ᮮ饭  뤠  
         ꥪ 㫥,  ᮧ 㣨 p   -
         ᥬࠬ,   ᮧ ꥪ 䠩  ﬨ, -
          騪 WATCOM  ᯮ.

  MSG 2083  cannot reference address %a from frame %x
         饭 뢠 ᨬ 襥 祬 64   ᯮ-
         , 뫠饣  .

  MSG 2084  target offset exceeds 64K at %a
         ᫥ ᬥ饭  ᨬ ॢ蠥 64 . "%a" -
          ᯮ  p.

  MSG 2086  invalid starting address for.COM file
         祭 ᥣ  砫쭮   DOS COM 䠩,  
         ।  䠩  map,   0.

  MSG1087   stack segment ignored in.COM file
          ⥪      ।  ᮧ DOS COM
         䠩. 쪮  䨧᪨ ᥣ   DOS
         COM 䠩. ⥪ ।  p設 䨧᪮ ᥣ-
         .   砫쭮 祭 SP - ⭠筮 fffe.

  MSG 3088  virtual memory exhausted
          ᮮ饭   ᮮ饭 "dinamic memory exhausted".
         騪 WATCOM 襫  ,   ᫥  -
         㠫묨  . 㠫   ।-
           ७ ,  ࠧp뢠 (LIM)  
         p 䠩  ᪥.

  MSG 2089  program too large for a .COM file
          ࠧ ணࠬ "COM"   ॢ 64 .  
           饥  ⢮       祬
         64 ,  ⠪  ⮫쪮  䨧᪨ ᥣ -
           DOS COM 䠩.   㬥 ࠧ 襩 ண-
         ࠬ  ஢ DOS EXE 䠩.

  MSG1090   redefinition of %s by %s ignored
          "%s1" ८। 㫥 "%s2".   ᮮ饭 -
         ,   ࠧ, ।  樨 "NAMELEN" -
             ᨬ  ⮡ࠦ     ⮬  ᨬ.

                                - 365 -

         ਬ,  ᫨  䨪p routine1  routine2 ⠫-
           "OPTION NAMELEN=7" ।,  ⮣ 㤥 -
           ᮮ饭,  ⠪   ᥬ  ᨬ  
         ᨬ 䨪p .

  MSG 2091  group %s is in more than one overlay
         㯯,  墠뢠  祬  ࠧ,  뫠 -
         㦥.

  MSG 2092  NEWSEGMENT directive appears before object files
          "NEWSEGMENT"   ᫥ ४⨢ "FILE".

  MSG 2093  cannot open %s
          ᮮ饭 뤠,   騪 WATCOM ᯮᮡ
          䠩  ᯮᮡ । 稭 ⮣.

  MSG 2094  i/o error processing %s
          ᮮ饭 뤠,   騪 WATCOM ⮫
          訡 /뢮  ࠡ⪥ 䠩  ᯮᮡ  -
         । 稭.   ᮮ饭  뤠  ⥭
          ꥪ   䠩,     p
         䠩  믮 䠩.

  MSG1095   debugging information too large.
          ᮮ饭 뤠 ⮫쪮      ਪ
         ணࠬ,  ஢  ᨥ 9.0 p
           ࠭.    ᨨ p  㤠
          ࠭祭.

  MSG 3096  out of symbol table space
          ᮮ饭  ᮮ饭 "dynamic memory  exhausted".
         騪  WATCOM  襫   ,   ।
         ࠭⢮  ⠡ 䨪஢.

  MSG 3097  too many library modules
          ᮮ饭   ᮮ饭 "dynamic memory exhausted".
          ᮮ饭 뤠,   㪠    "DISTRIBUTE".
         騪  WATCOM  襫    ,    ᫥ 
           ꥪ묨 ﬨ,  祭묨  ⥪
          ૥ﬨ,     .

  MSG1098   Phar Lap offset option must be a multiple of 4K
         祭, ।  樥 "OFFSET"   
         4096.

                                - 366 -


  MSG 2099 symbol name too long: %s
         p襭 ᨬ ࠧ (ਡ⥫쭮 2048)  ᨬ.
          ࠧ ᨬ, ⮡  ⮩ 訡.

  MSG 1101  cannot use both option verbose and a trace directive
          "VERBOSE"   ᯮ짮   p⨢
         SYMTRACE  MODTRACE.

  MSG 1102 object file %s not found for tracing
         SYMTRACE  MODTRACE ४⨢ ᮤঠ ꥪ 䠩  (
         , %s),     .

  MSG 1103  library module %s(%s) not found for tracing
         p⨢ SYMTRACE  MODTRACE ᮤঠ  ꥪ  
         ( ,   %s1  ⥪ %2),    
         .

  MSG 1105  cannot reserve The bytes of extra overlay space
         祭, । 樥 "AREA", ਢ  ᯮ塞-
          䠩,  ॡ  祬 1  , -
          믮.

  MSG 1107  undefined system name: %s
          %s 뢠  ४⨢ "SYSTEM",     -
         﫮 ।  ⥬.

  MSG 1108  system %s defined more than once
          %s    । ⥬  祬 
         ࠧ.

  MSG 3109  system block %s too large
          让 ࠧ  । ⥬ - 4  .  
         ᮮ饭  㤥  뤠,  ᫨ 饥 ⢮ ⥪,
         ।   । ⥬,  ॢ蠥  -
         ࠭祭.

  MSG 1110  library members not allowed in libfile
         쪮 ꥪ 䠩   ४⨢ LIBFILE.  
         ᮮ饭  㤥  뤠,  ᫨    筮
         䠩 ।  ४⨢ LIBFILE.

  MSG 1111  error in default system block
         ᯮ㥬  㬮砭  p ⥬ ( -

                                - 367 -

         ⥬ "286"  16-pp來 ਪ ணࠬ  "386"  
         32-pp來 ਪ ணࠬ) ᮤন 訡  p-
         .   ⥬ "286"   "386"  ⮬᪨  뢠
         騪,    ଠ  믮 ணࠬ  
          । (  ४⨢ "FORMAT"  㪠).

  MSG 3114  environment name specified incorrectly
          ᮮ饭  뤠,  ᫨ ६ p ࠢ쭮 
         祭   ᨬ 業 (%).

  MSG 1115  environment name %s not found
         ६ p %s  ।  । ணࠬ஢.

  MSG 1116  overlay area must be at least %l bytes
          ᮮ饭 뤠,  ᫨ ࠧ ᠬ 讣 ૥
         ॢ蠥  ࠧ  ૥  ,  । 樥
         "AREA".

  MSG 1117  segment number too high for a movable entry point
          ᥣ  p頥  ᥣ    ॢ
         255.   ᫮ ᥣ⮢  ᯮ  "PACK-
         CODE".

  MSG 1118  heap size too large
          ᮮ饭 뤠, ᫨ ࠧ "" (᪮ -
         ), ⥪  ᥣ   㬮砭 (㯯 DGROUP)
         ॢ蠥 64 .

  MSG 2119  wlib import statement incorrect
         ४⨢ "EXPORT"  ।  -
          䠩.   䠩 ᬠਢ  ᪥ 
          ⥪,  ᮧ 室  pp㥬
         ⥪. ⨬  뫠 㦥. . "४-
         ⨢ EXPORT"  ࠢ쭮 ଠ  .

  MSG 2120  application too large to run under DOS
          ᮮ饭 뤠, ᫨ ࠧ ਪ ணࠬ DOS
         ॢ蠥 1M.

  MSG 1121  '%s' has already been exported
         騪 㦨     ᯮ஢   ᨬ
         䨪p  祬  ࠧ.  ਬ,  -
         饥   祬  p⨢ "EXPORT"  㤥  뢠
         뤠 ⮣ ᮮ饭.  ,  ᫨   ᨬ 

                                - 368 -

         ᯮp㥬  襬 筨  ⠪ ।    
         ᠬ ᨬ  p⨢ "EXPORT",  ᮮ饭 㤥 뤠-
         .  ᮮ饭 - ⮫쪮 ।०.

  MSG 3122  no FILE directives found
          ᮮ饭  뤠,  ᫨    ४⨢ "FILE" 
         㪠. 㣨 ᫮,   ।  ꥪ
         䠩 騥 .

  MSG 3123  OS/2 offset option must be a multiple of 64K
         祭, । 樥 "OFFSET"  OS/2 2.x,  
           64 .

  MSG 1124  lazy reference for %S has different default resolutions
          (lazy)  뫪  ⠪,     
         祭: ।⥫쭮   㬮砭, ஥ ᯮ-
         ,  ᫨ ।⥫쭮  .  ⮬ 砥, -
         騪 襫   뫪,     ᠬ
         ।⥫쭮 祭,   ࠧ 祭  㬮-
         .

  MSG 1125  multiple aliases found for %S
         騪 襫  - ᥢ   ࠧ ᨬ.

  MSG 1126  INT 15 interrupt may be incorrect
         訡 ,    騪  ஡  
         ७ .  p  뢠  15  (ᯮ㥬,
         ⮡    ७ ) ࠧ訫  祭
          .

  MSG 3126  too many EMS requests queued
         訡 ,    騪  ஡  
         ७  EMS.  饭  訡e 뤠,  ᫨
         ᫨誮  讥 ⢮ ਪ ணࠬ ६
            EMS .

  or        EMS physical mapping corrupted
         쥧 ஡ ந諠  ⪥   -
         ७  EMS. ३ EMS ࠧ訫.   뢠-
          p⭮  pp  (TSR),   ᯮ ३
         EMS  㣨 稭.

  MSG 2127 cannot export absolute symbol %S
         ⪠ ᯮ஢ ᨬ, । ᮫ -

                                - 369 -

         ᮬ.   ᯮ஢ ᨬ  ᮫ ᮬ,
         ᯮ ४⨢ "EXPORT".

  MSG 3128  directive error near beginning of input
         騪 㦨 訡  砫  ப.

  MSG 3129  address information too large
         騪 ⮫    ᥣ⮬,     
          祬 11 000 ꥪ 䠩.  ⮩ ᥣ   -
            ࠭祭.

  MSG 1130  %s is an invalid shared nlm file
         NLM (p㦠  Netware), ।  樨 "SHA-
         REDNLM",  ⨬.

  MSG 3131  cannot open spill file: file already exists
          26    p 䠩 騪 -
            ᯮ짮.  p 䠩  
            筮 ⥬ , ᫨ ⠫, 
         ஬ p 䠩 ᮧ,  祭   -
          騪.

  MSG 2132  curly brace delimited list incorrect
         ᮪, ࠭祭 묨 䨣묨 ᪮, -
         .   ⭠ 稭  -    䨣ୠ
         ᪮ ࠢ.

  MSG 1133  no realbreak specified for 16-bit code
          ᮧ ᯮ塞 䠩  Phar  Lap,  32-pp來  
         16-pp來        "REALBREAK"
          㪠뢠.  뤠 ।०饥 ᮮ饭, ⠪ 
            ⥭樠쭠 ஡.

  MSG 1134  %s is an invalid message file
         , ।  樨 "MESSAGE"  ᯮ塞  䠩
         NetWare 386, ⨬.

  MSG 1135  need exactly 1 overlay area with dynamic overlay manager
         쪮  ૥   ᯥ稢  ᪨
         ૥ ஬.

  MSG 1136  relocation to a read/write data segment found at %a
          "RWRELOCCHECK" 㪠  騪  㦨  -
         ன ᥣ  ᥣ   ⥭ - .

                                - 370 -


  MSG 3137  too many errors encountered
          ᮮ饭 뤠,   ᫮ ᮮ饭    訡,
         뤠 騪, ॢ蠥 , । 樥
         "MAXERRORS".

  MSG 3138  invalid filename '%s'
         騪 믮    ஢  ࠢ쭮 
         䠩 直 ࠧ,    䠩 㪠뢠 騪.
         ਬ, ᯥ䨪 ⠫ - ⨬  䠩.

  MSG 3139  cannot have both 16-bit and 32-bit object files
          ᬥ訢 16-pp來  32-pp來     ⮩
          ᠬ 믮塞 ணࠬ  ந⢥ ᯮ塞
         䠩 QNX.

  MSG 1140  invalid message number
         ⨬  ᮮ饭 㪠  ४⨢ "DISABLE".

  MSG 1141  virtual function table record for %s mismatched
          - ஢ઠ ⨢稢 騪  ࠭⨨
         ⮣, ⮡ p WATCOM C ++  ஢ ࠢ-
          㠫 㭪樮 ଠ.   ⠪
          WATCOM, ᫨  ᮮ饭 뤠.

  MSG 1143  not enough memory to sort map file symbols
          筮    騪,  ⮡  ஢
         ᨬ     䠩  - "Memory Map" (p ).
          㤥 ந室 ⮫쪮,    ஢  "GLO-
         BAL" 뫠 㪠.


       16.  ⥪ WATCOM

       16.1. .

        ⥪  WATCOM    ᯮ짮,  ⮡
  ᮧ    ஢ 䠩 ⥪ ꥪ 㫥.  
     ꥪ 䠩   䠩   ᮧ  
    䠩.   ਪ ணࠬ OS/2, Pen-
  Point, Windows 3.x  Windows NT   ⠪ ᮧ ⥪
    ᪨ ⥪ .
       ⥪ ꥪ 㫥 -   ᮢ㯭 ꥪ-
    䠩.   ꥪ 䠩  饬 ᮤঠ ࢨ -

                                - 371 -

  ணࠬ,    ᯮ짮      騪
  WATCOM,  ⮡  ᮧ  ਪ ணࠬ.   - 
  २⢠ ᯮ짮 䠩 ⥪.

       1. 쪮  㫨,  뢠    -
  塞  䠩.    ࠭  ॡ   ꥪ
  䠩       뢠   -
   ਪ ணࠬ.

       2. ⥪  -  訩 ᯮᮡ ࣠樨 ꥪ 䠩.
    ਪ ணࠬ   㪠뢠  ⮫쪮  
   䠩  ᪮쪨 ꥪ 䠩.

        ⥪  WATCOM   饥 ६ 믮
   ᫥騬 樮묨 ⥬.

       .DOS
       .OS/2
       .QNX
       .Windows NT

       16.2.  ப  ⥪ WATCOM

        ப  ⥪ WATCOM.

       wlib [options_1] lib_file [cmd_list]

        ᪮ [ ]  ꥪ,   -
  ⨢묨.  ꥪ, ⤥塞 ᮩ/ (|)  祭 
  ᪮ (), 㪠뢠,    ꥪ⮢  ।.

  lib_file - ᯥ䨪 䠩  筮 䠩,  -
        ࠡ.  ᫨  ७ 䠩  ।,
       ७ 䠩 lib ਭ.

  options_1 - ᯨ᮪ ⨬ 権. 樨  ।  -
        浪.  । ᨬ "-".

  md_list - ᯨ᮪    ⥪ WATCOM, ।-
       騩    樨   믮.    
       ᯨ᪥ ⤥ ஡.

        - p ⨬ 権.


                                - 372 -

  b
        ᮧ १ࢭ 䠩

  c
       믮 ⢨⥫쭮  ॣ ࠢ

  d=<output_directory>
       ⠫, 㤠 祭 ꥪ 㫨  

  i(r|n)(n|o)
       p㥬 ꥪ    p⭮/१⭮  ⠡
         ஢  / 浪.

  l[=<list_file>]
       ᮧ 䠩 ᯥ⪨

  
        ᫮  C++

  n
       ᥣ ᮧ  ⥪

  =<output_file>
       ⠭  室 䠩  ⥪

  p=<record_size>
       ⠭ pp   ⥪

  q
       ⬥ 뢮 p樮 ᮮ饭

  s
        ᥩ   ப  ꥪ 䠩

  t
        ଠ樨   ()   , -
         THEADR

  x
       祭  ꥪ 㫥  ⥪

       騥 ࠧ 뢠 樨,   믮-
    筮 䠩.   ,   ।  ᮧ
     筮 䠩,   ⥪ WATCOM

                                - 373 -

   १ࢭ  ࢮ砫쭮  筮  䠩  p
  砥,   ᯮ  "o"  㪠 室 䠩
  ⥪,   ⫨筮  ࢮ砫쭮 筮 䠩,
    ᯮ    "b",  ⮡  ᮧ १ࢭ
  䠩. ࢭ     ᠬ  䠩  ࢮ砫-
     䠩,      ७ bak.  ⥫쭮,
  lib_file    ७ 䠩 bak.

       16.3.  㫥  筮 䠩

       ꥪ 䠩    筮  䠩  ⥬
  㪠  +obj_file,   obj_file - ᯥ䨪 ꥪ⭮
  䠩.  ७ 䠩 "o" ਭ,  ᫨   㪠뢠.
  ᫨  䠩  , ।०饥 ᮮ饭 -
   뤠   䠩 㤥 ᮧ.

       ਬ:     wlib mylib +myobj

        ⮬ ਬ,  ꥪ 䠩 myobj   -
   䠩 "mylib.lib".      ⥪, -
   ⥪ WATCOM 㤥 뤠 ।० p  -
  ८।  ᨬ쭮  䨪p.   㤥 ந室,
  ᫨ ᨬ 塞   㦥 ।  㣮 㫥, -
   㦥   筮 䠩.   ,  
   㤥   ⥪   砥.
         ꥤ   䠩 .  -
  騩 ਬ   㫨    ⥪  "newlib.lib"  
  ⥪ "mylib.lib".

       ਬ:     wlib mylib +newlib.lib

        ,     । ७ 䠩 lib.
  ,   ⥪ WATCOM 㤥 ,   -
   ꥪ 䠩.

       16.4.  㫥  筮 䠩

          㤠   筮 䠩 ⥬ 㪠
   -mod_name,   mod_name   ꥪ⭮  䠩,  
  p     ⥪  p襭 ⠫  ७
  䠩.

       ਬ:     wlib mylib -myobj


                                - 374 -

        ⮬ ਬ,  ⥪ WATCOM ந-
   㤠  myobj  筮 䠩 "mylib.lib".

          㪠뢠  䠩   -
  .

       ਬ:     wlib mylib -oldlib.lib

        ⮬ ਬ,   㫨 筮  䠩  "oldlib.lib"
  㤠   筮 䠩 "mylib.lib".  ,   
  । ७ 䠩 "lib".  ,   ⥪
  WATCOM 㤥 ,   㤠 ꥪ .

       16.5.  㫥  筮 䠩

            ⥬ 㪠  -+mod_name 
  +-mod_name.   mod_name 㤠  ⥪. ⥬ ꥪ-
   䠩 "mod_name"   ⥪.

       ਬ:     wlib mylib -+myobj

        ⮬  ਬ,   myobj  ꥪ 䠩 my-
  obj.   ꥤ   䠩.

       ਬ:     wlib mylib -+updlib.lib

        ⮬ ਬ,   㫨  筮 䠩  "updlib.lib"
    ᮮ⢥騥  㫨  筮 䠩 "mylib.lib".
     ⥪ "updlib.lib",  p    ⥪
  "mylib.lib",    ⥪ "mylib.lib".  ,  
   । ७ 䠩 "lib". ,  -
  ⥪ WATCOM 㤥 ,    ꥪ .

       16.6. 祭   筮 䠩

               筮  䠩  
  :mod_name .   mod_name  㤠,     䠩 
  ᪥.  ᫨ mod_name । ᯥ䨪 ,  室
  䠩 㤥   ⠫,  ஢  ᯥ䨪樥
  .  ᫨ mod_name ᮯ஢ ७ 䠩, 室
  䠩 㤥  㪠 ७.

       ਬ:     wlib mylib :myobj


                                - 375 -

        ⮬ ਬ,   myobj   䠩  ᪥. 
   ᪥ 㤥 ꥪ 䠩   myobj.  ७ 䠩 "o"
  㤥 ᯮ짮.

       ਬ:     wlib mylib :myobj.out

        ⮬ ਬ,  myobj 㤥   筮-
   䠩 "mylib.lib"    䠩 "myobj.out"

            䠩  㤠    -
  筮 䠩,  ।  :-mod_name.  騩  ਬ
  믮    ᠬ 樨   ।饬 ਬ ,  ஬
  ⮣,  㤠  筮 䠩.

       ਬ:     wlib mylib :-myobj.out

       ,    ᠬ १ ⨣,  ᫨ -
   㤠 ।  祭.

       16.7.  ⥪ 

        ⥪  WATCOM    ⠪  ᯮ짮,
  ⮡ ᮧ ⥪   ᪨ ⥪ -
  .  ⥪  ᯮ   ਪ
  ணࠬ OS/2, PenPoint, Windows 3.x  Windows NT.

       ਬ:     wlib implib +dynamic dll

         ਬ ᫥騥 ⢨ 믮.    
  譥  ᨬ  㪠 DLL (᪮ ⥪ -
  ) ᮧ ᯥ樠 ꥪ ,  
  譨  ᨬ   䠪᪮  ᪮ ⥪ -
  ,   ன  ।.  ꥪ  ⮣ -
    㪠 ⥪.    १ ⥪
  뢠 ⥪ .

        ,    㪠뢠 ७ 䠩 "dll".
  ,   ⥪ WATCOM 㤥 ,   -
   ꥪ 䠩.

       16.8.  ⮢ ⥪ 

        ⥪   ᮧ     
  ⥪ ᫥饩 .

                                - 376 -


       ++sym.dll_name[.export_name][.ordinal]

  :      ᠭ:

  sym   ᨬ  (䨪p)    DLL (᪮ ⥪
            ).

  dll_name -  ᪮ ⥪ ,   ।-
              sym.

  ordinal -  浪  p,    ᯮ짮,  ⮡
             ஢ sym  ⮣, ⮡ ᯮ짮 
             export_name. export_name  㬮砭 - sym.

  export_name - , p ਪ ணࠬ,  -
               ᪨ ⥪  ,  ᯮ
             ⮡ 뫠  sym.

       ਬ:     wlib math ++__sin.trig sin.1

         ਬ,  ⥪  㤥 ᮧ
   ᨬ sin    ⥪ "math.lib".    sin
  ।     ᪮  ⥪  ,  뢠
  "trig.dll"  __ sin.   ਪ  ணࠬ    
  ⥪  "math.lib",  騩  १ ᯮ塞 䠩
  㤥 ᮤঠ    浪  祭  1.  ᫨
  浪 祭 ᪠,  騩  १ ᯮ-
   䠩 㤥 ᮤঠ     sin.

       16.9.   䠩

        ⥪ WATCOM      ந஢
  ࠡ뢠     䠩  ᪥ ⥬ p 䠩
   @cmd_file,   cmd_file -  ᯥ䨪    䠩.
  p p७ 䠩 "lbc", ᫨   㪠뢠. -
      ,  ।⥫쭮 ᠭ.

       ਬ:     wlib mylib @mycmd

         ਬ,     䠩 "mycmd.lbc" ࠡ뢠-
   ஬ ⥪ WATCOM.


                                - 377 -
       16.10. 樨  ⥪ WATCOM

       騥 ࠧ 뢠 ᯨ᮪ 権,  pp襭  -
    ⥪ WATCOM.

       16.10.1.  ᮧ pࢭ 䠩 -  "b"

        "b" 㪠뢠  ⥪ WATCOM   ᮧ-
    १ࢭ  䠩.   ᫥饬 ਬ,  ꥪ
  䠩 ஢ "new"  㤥      筮
  䠩 "mylib.lib".

       ਬ:     wlib -b mylib +new

       ᫨  䠩 "mylib.lib" 㦥 ,  -
  ࢭ  䠩 ("mylib.bak")  㤥 ᮧ.

       16.10.2. ⢨⥫  ॣ ᨬ    -  
                "c"

        "c" 㪠뢠  ⥪ WATCOM  -
  ⢨⥫  ॣ  ࠢ ᨬ ,   㦭
    ⥪  ᨬ묨  㦥 騬  -
  筮 䠩.   㤥 ⠢  myrtn   MYRTN  ࠡ-
    ࠧ ᨬ.  㬮砭, ࠢ p 
  pp.   砥,  ᨬ 䨪p myrtn -
  祭 MYRTN.

       16.10.3.  室 ⠫ -  "d".

        "d" 㪠뢠  ⥪ WATCOM ⠫, 
    祭 㫨  .   㬮砭  
     祭 㫨  ⥪騩 ⠫.
        ᫥饬 ਬ,   mymod     ⥪
  "mylib.lib".  㤥   䠩 "/o/mymod.o".

       ਬ:     wlib -d=/o mymod

       16.10.4.  ⮢, pp㥬  ᪨
              ⥪  (DLL) -  "i"

        ᮧ ⥪   ᪨ ⥪  -
  ,  ᮧ p㥬     १ 
  १ ⠡ .   "i"  ᯮ짮, ⮡
  뢠 ⮤, ᯮ㥬 ⮡ ஢  .

                                - 378 -

        "iro" ⠢ p㥬       
  १⭮ ⠡  ஢  浪.  "irn"
  ⠢ p㥬       १⭮  ⠡
   ஢  .   㬮砭   砥. -
  । "ino" ⠢ p㥬      -
  ⭮ ⠡  ஢  浪.   㬮砭 
   砥.  । "inn" ⠢ p㥬 
     १⭮ ⠡  ஢  .

       ਬ:     wlib -iro -inn implib +dynamic.dll

       ,   । ७ 䠩 "dll"  -
  ᪮ ⥪ .    㤥    ꥪ
  䠩.

       16.10.5.  䠩 pᯥ⪨ -  "l"

        "l"  (  ॣ  "L")   
  ⥪ WATCOM ᮧ ᯨ᮪   ᨬ,  
     筮 䠩  䠩 ᯥ⪨.  䠩 -
  ⪨ - ⠪    筮  䠩.  ७  䠩
  ᯥ⪨ - "lst".

       ਬ:     wlib -l mylib

         ਬ,  ⥪ WATCOM ந-
  ஢  ᮤঠ 筮 䠩 "mylib.lib"  -
   뢮  䠩 ᯥ⪨ "mylib.lst".
       ୠ⨢ ଠ ⮩ 樨  -l=list_file.   ⮩ -
     ।  䠩 ᯥ⪨.  । -
   䠩 ᯥ⪨,  ७ 䠩 "lst" ਭ,  ᫨ 
   㪠뢠.

       ਬ:     wlib -l=mylib.out mylib

         ਬ,  ⥪ WATCOM ந-
  ஢  ᮤঠ 筮 䠩 "mylib.lib"  -
   뢮  䠩 ᯥ⪨ "mylib.out".

            ᯥ ᮤঠ 筮 䠩
   ନ,  । ⮫쪮 筮    ப,
   뢠 ᫥騬 ਬ஬.


                                - 379 -
       ਬ:     wlib mylib

       16.10.6. 뢮 ᫮  C++  -  "m"

        "m" ᮮ頥, ⮡  ⥪ WATCOM 뢮-
   ᫮  C++  ᪮쪮  ⭮ ଥ.

       16.10.7 ᥣ ᮧ  ⥪ -  "n"

        "n" ᮮ頥, ⮡  ⥪ WATCOM ᥣ-
    ᮧ   䠩.  ᫨  䠩 㦥 -
  ,  १ࢭ  ᤥ (᫨  "b"    ।-
  ).  ࢮ砫쭮  ᮤঠ ⥪ 뢠  
  ⥪ ᮧ.  ᫨  "n"  ।﫠  -
   ⥪ 㤥 ஢.

       ਬ:     wlib -n mylib +myobj

         ਬ,  ᮧ  䠩 "mylib.lib". 
  㤥 ᮤঠ  ꥪ ,   myobj, -
  ᨬ    ᮤঠ  "mylib.lib"  뤠 㯮⮩ .
  ᫨ "mylib.lib" 㦥 ,  㤥 २뢠  "my-
  lib.bak".

       16.10.8. ।  室 䠩 -  "o"

        "o"    ᯮ짮,  ⮡  ।  䠩
  ⥪ 뢮,  ᫨  , ⮡ ࢮ砫쭠 ⥪
  ⠫   ᮧ  ⥪.

       ਬ:     wlib -o=newlib lib1 +lib2.lib

         ਬ, 㫨  "lib1.lib"  "lib2.lib" -
    ⥪ "newlib.lib".  ,  ᪮ -
  砫쭠 ⥪ ⠥ 塞,  १ࢭ -
    ᮧ. , ᫨  "l" ᯮ, ⮡ ।-
   䠩 ᯥ⪨, 䠩 ᯥ⪨ 㤥 ਭ  䠩 -
   ⥪.

       16.10.9. । p  ⥪ -  "p"

        "p" । ࠧ       
   筮 䠩.      ⥯ 2  -
      16  32768.  ᫨ ࠧ     祬
  16,  㤥 㣫  16. ᫨ ࠧ  訩 祬 16 

                                - 380 -

    ⥯ 2,   㤥 㣫  襩  ⥯
  2.    㬮砭 - 16 ⮢.

        㭪    ᫮ 筮 䠩 ᮤন ᬥ饭
   砫 䠩,  ஥ 㪠뢠  . 饭 - 16-pp-
     ⭮ ࠧ .  ᪮ ࠧ   㬮砭
  16,  ᨬ ࠧ 筮 䠩  ࠧ   16
  p 16*64 . ᫨ ࠧ 筮 䠩 㢥稢 
  ⮣ ࠧ,   㢥稢 ࠧ .

       ਬ:     wlib -p=32 lib1 +lib2.lib

         ਬ,  ⥪ WATCOM ந-
  ஢    ᮧ\  筮 䠩 "lib1.lib" ⥬
   㫥  筮 䠩 "lib2.lib".   -
  , 饣  १ 䠩 ⥪ - 32 .

       16.10.10. ⬥ 뢮 ᮮ饭 -  "q"

        "q"      ᪮ ࠢ,
  ஥ 筮 ⮡ࠦ  뢠   -
  ⥪ WATCOM.

       ਬ:     Wlib -q -l mylib

       16.10.11. ⬥ ᥩ   ப -  "s"

        "s"  㪠뢠    ⥪ WATCOM 㤠
     ப  ꥪ 䠩,     
  ⥪.    ஢  ப   ꥪ⭮ 䠩,
  ᫨  "d1"।  ஢ 室 ⥪.

       ਬ:     wlib -s mylib + myobj

       16.10.12. p  㫥 -  "t"

        "t" 㪠뢠   ⥪  WATCOM  㤠
  ଠ    , ।   THEADR
   ꥪ 䠩,     ⥪.    
  ᮧ    䠩 p  頥   THEADR
   ꥪ⭮ 䠩.   㤥 ᮤঠ ଠ ,
  ᫨  䠩  p ᮤন ଠ .

       ਬ:     wlib -t mylib + myobj

                                - 381 -


       16.10.13. 祭  䠩  ⥪ -  ""

        ""  㪠뢠  ⥪ WATCOM 
   㫨  ⥪.  ,  㫨  㤠-
    ⥪. ꥪ 㫨    ⥪騩 -
  ,  ᫨  "d"  ᯮ, ⮡ । ୠ⨢-
   ⠫.
        ᫥饬 ਬ  㫨    ⥪
  "mylib.lib"    ⥪饬 ⠫.

       ਬ:     wlib -x mylib

        ᫥饬 ਬ,  㫨    -
   "mylib.lib". 㫨 e   ⠫ "/o".

       ਬ:     wlib -x -d=/o mylib

       16.11. 饭  訡 ⥪

       騥 ᮮ饭  뤠 ஬ ⥪
  WATCOM.

  Error! Count not open object file '%s'.
         ꥪ  "%s"  .   ᮮ饭 筮 뤠-
         ,    ⪠  騩 ꥪ-
          䠩  ⥪.

  Error! Could not open library file '%s'.
           䠩  .   ᮮ饭 筮
         뤠  室  䠩.  ਬ, ᫨ 
         ꥤ   䠩,  䠩, -
         p   - 室  䠩  
         䠩,   ஬    ᮧ - 뢮 䠩
         ⥪.

  Error! Invalid object module in file '%s' not added.
          䠩 ᮤন ⨬ ꥪ .

  Error! Dictionary too large.  Recommend split library into two lib-
  raries.
          ᫮    筮  䠩   ॢ 64
         .   童  䠩   ࠧ
          䠩.

                                - 382 -


  Error! Redefinition of module '%s' in file '%s'.
          ᮮ饭 筮 뤠  ⪠   -
            ⥪,   㦥 ᮤন   ⥬
          .

  Warning! Redefinition of symbol '%s' in file '%s' ignored.
          ᮮ饭  뤠,  ᫨ ᨬ,  । 㫥
         㦥 騬  ⥪,  ⠪ । 㫥, -
         塞  ⥪.

  Error! Library too large.
          p童 ⥪     ⥪  
         ᯮ짮 訩 page_bound 祬 %xH.    -
         筮 䠩   筮  䠩  㢥-
             ⥪饣  ࠧ.    筮
         䠩  㢥稢, ᯮ  "p".

  Error! Expected '%s' in '%s' but found '%s'.
         訡 ந諠  ᬮ  .

  Warning! Could not find module '%s' for deletion.
          ᮮ饭 뤠,  ᫨  ⪠  㤠  -
         ,     ⥪.

  Error! Could not find module '%s' for extraction.
          ᮮ饭 뤠,  ᫨  ⪠  -
         ,     ⥪.

  Error! Could not rename old library for backup.
          ⥪ WATCOM ᮧ १ࢭ   -
         । ᮧ   (᫨  "b"  ।-
         ).   ᮮ饭 뤠,  ᫨ 訡 ந諠  -
         ⪥  २뢠  ࢮ砫    䠩 
          १ࢭ 䠩.

  Warning! Could not open library '%s' : will be created.
          ⥪  .  ᮮ饭 筮 -
         ,     饩 ⥪. -
          ⥪ WATCOM 㤥 ᮧ  ⥪.

  Warning! Output library name specification ignored.
          ᮮ饭 뤠, ᫨  䠩, ।
         樥 "o",    .

                                - 383 -


  Warning! Could not open library '%s' and no operations specified:
  will not be creat
          ᮮ饭 뤠,  ᫨  䠩, 㪠 
          ப     樨  ।-
         﫨.  ਬ,  p  䠩 ᯥ⪨ 饩
         ⥪ 㤥 뢠 뢮 ⮣ ᮮ饭.

  Warning!  Could not open listing file '%s'.
          ᯥ⪨    .  ਬ,   ᮮ饭
         㤥 뤠   ᫮ " ".

  Error! Could not open output library.
         뢮 ⥪   .

  Error! Unable to write to output library.
         訡 ந諠    뢮 ⥪.

  Error! Unable to write to extraction file '%s'.
          ᮮ饭  뤠   祭 ꥪ⭮  
         筮 䠩  訡 ந室     室-
          䠩.

  Error! Out of Memory.
         筮 , ⮡ ࠡ뢠  䠩.

  Error! Could not open file '%s'.
          ᮮ饭 뤠, ᫨ 室 䠩  , -
            ⥪,   .

  Error! Library '%s' is invalid. Contents ignored.;
          䠩  ᮤন ࠢ ଠ -
         .

  Error! Library '%s' has an invalid page size. Contents ignored.
          䠩   ⨬ ࠧ .  
          ᮤন  筮        
         ⥯ 2.

  Error: Invalid object record found in file '%s'.
          䠩 ᮤন ⨬ ꥪ .

  Error! No library specified on command line.
          ᮮ饭 뤠,  ᫨  筮 䠩  -

                                - 384 -

         ।   ப.

  Error! Expecting library name.
          ᮮ饭 뤠, ᫨ ᯮ  筮-
          䠩   ப ࠢ쭮.

  Warning! Invalid file name '%s'.
          ᮮ饭 뤠, ᫨ ⨬  䠩 㪠뢠-
         . ਬ,  䠩  127 ᨬ  -
         .

  Error! Could not open command file '%s'.
           䠩   .

  Error! Could not read from file '%s'.  Contents ignored as  command
  input.
         訡 ந諠  ⥭  䠩.
                                - 385 -


       17. ᥬ ꥪ 䠩

       17.1. 

         뢠 ᥬ WATCOM.   ,   ,
  ꥪ 䠩 (䠩  ७ ".o")  ந,    뢮,
   ᥬ Intel.  p WATCOM  ந -
  ⨭ ᥬ ।⢥  室 ணࠬ.   -
  ,  ᥬ  WATCOM  ᯮ짮,  ⮡ ஢
  ᯥ ᥬ  ꥪ⭮ 䠩,  ᣥ஢ -
  p.

       ⠪  ப ᥬ WATCOM

       wdisasm [options] filespec [options]

        ᪮ [ ]  㭪,    -
  ⨢묨.

  wdisasm -  ᥬ WATCOM

  filespec - ᯥ䨪  ꥪ⭮ 䠩,   㦭  -
           ᥬ஢.  p  p७    䠩 
           㬮砭 ".o",    ७   㪠뢠.
           ७   䠩 ⮨    䠩,  -
           ঠ饩 ᫥ "."   ᨬ,  ᫥ 
           .

          ਬ:
              䨪 䠩                      p

              home/john.doe/foo                         (none)
              /home/john.doe/foo                         .
              /home/john.doe/foo.bar                     .bar
              /home/john.doe/foo.goo.bar                 .bar

  ptions - ᯨ᮪ ⨬ 権 ᥬ WATCOM,  p -
              窠 ("-"). 樨  ।
             浪.

  -l[=<list_file>]
        䠩 ⨭


                                - 386 -

  -s[=<source_file>]
       ᯮ ଠ   ப 筨  ꥪ⭮ 䠩,
       ⠢ p ࢮ砫 室 ப  室 䠩

  -c=<code_name>
        ⥫ ᥣ⮢,  ᮤঠ 믮 

  -i=<char>
       ८। 室 ᨬ ७ ⮪ ( 㬮-
       : L)

  -a
         ᥬp ⮫쪮  䠩 ᯥ⪨ (⨭)

  -au
          ᥬp ⮫쪮  䠩 ᯥ⪨,  ᯮ
       ᥬp ᨭ⠪  ⨫ UNIX

  -b
        ୠ⨢    p   ᭮
       樨

  -e
       祭 ᯨ᪠ 譨 

  -p
       祭 ᯨ᪠  (public) 

  -r
        ॣ஢ 뢮  孥 ॣ

  -u
         樨  뢮  孥 ॣ

  -m
       ⠢  C++ ᫮묨

       騥 ࠧ 뢠 ᯨ᮪ 権.

       17.2  ⨭ - "l[=<䠩_⨭>]"

        㬮砭,  ᥬ  WATCOM ந 뢮  ନ-
  .  "l" (L  ॣ)  ᥬ WAT-
  COM  ந  뢮   䠩 ᯥ⪨.    㬮砭 䠩

                                - 387 -

  ᯥ⪨ - ⠪    ꥪ⭮ 䠩. ७  㬮-
  砭 䠩 ᯥ⪨ ".lst".

       ਬ:     $ wdisasm calendar -l

         ਬ, ᥬ WATCOM ந஢ -
  ᥬ஢ ᮤঠ 䠩 calendar.o  ந 뢮  䠩
  ᯥ⪨ calendar.lst.
       ୠ⨢ ଠ ⮩ 樨 - "l=<list_file>".  ⮩ -
  ,      ।  䠩 ᯥ⪨.   ।
  䠩 ᯥ⪨,  p ७ 䠩 ".lst" ਭ,
  ᫨   ।.

       ਬ:     $ wdisasm calendar -l=calendar.lis

         ਬ, ᥬ WATCOM ந஢ -
  ᥬ஢ ᮤঠ 䠩 calendar.o  ந 뢮  䠩
  ᯥ⪨ calendar.lis.

       17.3.  "筨" - "s[=<䠩_筨>]"

        "s"  ⠢  ᮧ    䠩 ᯥ⪨ 室
  ப,  ᮮ⢥騥  ᥬ. ꥪ 䠩 
  ᮤঠ p  p p.   p 樨 室-
   ⥪  "d1"  "d2"  । p  樨
  室 䠩.  ᫨ p  p p  ।⠢ 
  ꥪ⭮ 䠩,  "s" .

        p 冷 p    室  䠩,
    "s" ।.

       1. ᫨   室 䠩,  ।  
  ப.

       2.     .

       3.  ꥪ⭮ 䠩.

        ᫥饬 ਬ,   ஢ 室 䠩 mysrc.c 
  樥  ⫠ "d1".   ⥬ ᥬ㥬  ᫥騬 -
  :

       ਬ:     $ wdisasm mysrc -s -l


                                - 388 -

         ਬ, ᥬ WATCOM ந஢ -
  ᥬ஢  ᮤঠ  䠩  mysrc.o  ந 뢮  䠩
  ᯥ⪨ mysrc.lst. 室 ப   䠩 mysrc.c.

       ୠ⨢ ଠ ⮩ 樨 -  "s=<source_file>".    ⮩
  ମ   ।  室 䠩.

       ਬ:     $ wdisasm mysrc -s=myprog.c -l

        ਬ  ந    १    ।饬
  ਬ  ᪫祭 ⮣,   室  ப    
  䠩 myprog.c.

       17.4.  㪠 ᥣ⮢  - "c= <_>"

        "c" ࠧ蠥 㪠뢠  ⥫쭮  ᥣ
   ࠧ  ᥣ⮢,   ᮤঠ 믮 . -
  ⨬  樨 "":

     c=<string>
     "c=*<string>"
     "c=<string>*"

       <string>   ᫥⥫쭮 ᨬ, p祬 pp
  ᨬ pp.  "*" - ᨬ 㭨pᠫ쭮 . 
    ᨬ "*" ⪠ ஢, ⮡ ।
    ⪨ ࠧp뢠 .

        㬮砭,  ᫥騥 ᥣ ਭ ᮤঠ騬  -
   .

       1.     "CODE"

       2. ,     "TEXT"  "CODE" ( -
  ⭮ "c=*text"  "c=*code")

       ᬮ ᫥騩 ਬ.

          $ wdisasm myprog "-c=T@ *"

        ᥣ,   稭  ᨬ "T@" ( -
    稢騬  "CODE"  "TEXT"), ਭ ᮤঠ-
   믮 .


                                - 389 -


  :   ஢ ᥬ WATCOM -
            ஢ ᥣ,    稢  "CODE" 
            "TEXT",  .

       17.5.  ᨬ p ⪨ - "i=<ᨬ>"

        "i"  ࠧ蠥  ।  ᨬ,   㦭
  ᯮ짮  ७ ⮪.  ७  ⪨    
  "Ln"  "n" -    .    㬮砭 "L" 
  ,  ᯮ  "i".      㪢
  (a-z, A-Z).   ॣ ८ࠧ뢠  孨 -
  .

       ਬ:     $ wdisasm calendar -i=x

       17.6.  p ᥬp - "a", "au"

        "a" ࠢ ଠ⮬ 뢮  䠩  ᯥ⪨.  
    㪠,  ᥬ WATCOM 㤥 ᮧ 䠩 ᯥ⪨,
    ᯮ짮     ᥬ.    "au"
  ।,   ᨭ⠪  ᥬp  ᮮ⢥  ᯮ㥬
  UNIX.

       ਬ:     $ wdisasm calendar -a -l=calendar.asm

         ਬ, ᥬ WATCOM ந஢ -
  ᥬ஢ ᮤঠ 䠩 calendar.o  ந 뢮  䠩
  calendar.asm ⠪, ⮡   ࠭᫨஢ ᥬ஬.

       17.7.  p⨢ p p樨 - "b"

        "b" ⠢  ᯮ짮      ୠ⨢
   p   ᭮ 樨.  㬮砭, ᫥-
   ଠ ᯮ.

     mov ax, -2 [bp]

  ᫨   "b"  ।, ᫥ ଠ ᯮ.

     mov ax, [bp-2]


                                - 390 -
       17.8  譨 ᨬ - "e"

        "e" ࠢ  ⢮  ଠ樨,  ந  
  䠩 ᯥ⪨.    㪠, ᯨ᮪  譥 ।-
   ᨬ ᮧ  䠩 ᯥ⪨.

       ਬ:     $ wdisasm calendar -e

         ਬ, ᥬ WATCOM ந஢ -
  ᥬ஢  ᮤঠ  䠩 calendar.o  ந 뢮,  
  ᯨ᪮  譨 ᨬ,   ࠭.    ᯨ᮪  譨
  ᨬ 뢠 .

  List of external symbols

  Symbol
  ----------------
  ___iob           0000032f 00000210 000001f4 00000158 00000139
  __CHK            00000381 00000343 000002eb 00000237 000000cb
                   00000006
  Box_             000000f2
  Calendar_        000000a7 00000079 00000049
  ClearScreen_     00000016
  fflush_          00000334 00000215 000001f9 0000015d 0000013e
  int386_          000003af 00000372
  Line_            000002db 000002b5 00000293 00000274 0000025a
  localtime_       00000028
  memset_          00000308
  PosCursor_       0000031e 000001e1 00000148 00000123 000000b6
  printf_          00000327 00000208 000001ec 00000150 00000131
  strlen_          00000108
  time_            0000001d
  ------------------------------------------------------------

        譥 । ᨬ ᮯ஢ ᯨ᪮  -
  祭 稪 ᯮ, 㪠뢠  ᨬ 뢠.

        "e"    "a ।.

       17.9   ᨬ - "p"

        "p" ࠢ ⢮ ଠ樨  䠩 ᯥ⪨.
    㪠,  ᯨ᮪   ᨬ  頥    䠩
  ᯥ⪨.

       ਬ:     $ wdisasm calendar -p

                                - 391 -


         ਬ, ᥬ WATCOM ந஢ -
  ᥬ஢ ᮤঠ 䠩 calendar.o   ந  뢮,  
  ᯨ᪮  ᯮ㥬 ᨬ,   ࠭.  ᯨ᮪ -
   ᨬ 뢠 .

  List of public symbols

     SYMBOL            GROUP            SEGMENT           ADDRESS
     ------------------------------------------------------------
     Box_                               _TEXT            00000231
     Calendar_                          _TEXT            000000c5
     ClearScreen_                       _TEXT            0000037b
     Line_                              _TEXT            000002e5
     main_                              _TEXT            00000000
     PosCursor_                         _TEXT            0000033d

     ------------------------------------------------------------

        "p" ,   "a" ।.

       17.l0.  p pp - "r"

        "r"    ᥬ WATCOM ⮡ࠦ 
  ॣ஢  孥 ॣ.   㬮砭  ॣ஢ ⮡p-
     ॣ.

       17.11.    p孥 pp - "u"

        "u"   ᥬ WATCOM ⮡ࠦ -
    樨   孥 ॣ.   㬮砭 -
    樨  ⮡p   ॣ.

       17.12. ࠭ ᫮  C++  - "m"

        "m"   ᥬ WATCOM ࠭ ᫮
   (mangled)  ++ p   ⮡p.    㬮砭  
  ⮡ࠦ  ᪮쪨  ⭮ ଥ.

       17.13. ਬ

  ᬮ ᫥ ணࠬ ᮤঠ  䠩 hello.c.

     #include <stdio.h>

                                - 392 -


     void main()
         {
             printf("Hello worid\n");
         }

          樥 "d1".   ꥪ 䠩 "hel-
  lo.o".   "d " 뢠 祭  ꥪ 䠩 p樨 
  p p.   ᯮ짮 ᥬ WATCOM, ⮡ -
  ᥬ஢ ᮤঠ ꥪ⭮ 䠩,  뤠 ᫥ -
  .

     $ wdisasm hello -l -e -p -s -r

       뢮 㤥 뢠  䠩  ᯥ⪨  hello.lst  (
  "l" ।﫠).   㤥 ᮤঠ ᯨ᮪ 譨 ᨬ (-
   "e"।﫠),  ᯨ᮪  ᨬ (  "p"  ।-
  )  室 ப,  ᮮ⢥騥  ᥬ ( -
   "s" ।﫠).  室 室 䠩  hello.c. 
  ॣ஢   ⮡ࠦ  孥 ॣ ( "r" ।-
  﫠). 뢮,  ,  १⮬ ᯮ짮
  p WATCOM C32.

  Module: hello.c
  Group:  'DGROUP' CONST,CONST2,_DATA,_BSS

  Segment: _TEXT   BYTE USE32 00000018 bytes

  #include <stdio.h>

  void main()
      {
   0000  08 08 00 00 00        main_        push    000000018 bytes
   0005  e8 00 00 00 00                     call    __CHK

          printf("Hello world\n");
   000a  68 00 00 00 00                     push    offset Ll
   000f  e8 00 00 00 00                     call    printf_
   0014  83 c4 04                           add     ESP,00000004H

      }
   0017 c3

  No disassembly errors                     ret

                                - 393 -



  List of external symbols
  Symbol
  ----------------
  __CHK            00000006
  printf_          00000010
  ------------------------------------------------------------

  Segment: CONST DWORD USE32 0000000d bytes
  0000   48 65 6c 6c 6f 20 77 6f Ll              - Hello wo
  0008   72 6c 64 0a 00                          - rld..

  No disassembly errors
  ------------------------------------------------------------
  List of public symbols

  SYMBOL          GROUP           SEGMENT           ADDRESS
  ------------------------------------------------------------
  main_                            _TEXT            00000000

  ------------------------------------------------------------

        ᮧ  䠩 ᯥ⪨,   ᯮ-
      ᥬ.

      $ wdisasm hello -l=hello.asm -r -a

       뢮 㤥 ந  䠩 hello.asm.  뢮, 
  ,  १⮬ ᯮ짮 p WATCOM C32.

     .386
                   NAME hello
                   EXTRN _cstart_ :BYTE
                   EXTRN printf_ :BYTE
                   EXTRN __CHK :BYTE
     DGROUP        GROUP CONST,CONST2 DATA _BSS
     -TEXT         SEGMENT BYTE PUBLIC USE32 'CODE'
                   ASSUME CS:_TEXT ,DS:DGROUP, SS:DGROUP
                         PUBLIC main_
     main-               push 00000008H
                         call near ptr __CHK
                   push offset DGROUP:Ll
                   call near ptr printf_

                                - 394 -

                   add ESP, 00000004H
                   ret
     _TEXT         ENDS


  CONST      SEGMENT DWORD PUBLIC USE32 'DATA'
  Ll         DB 48H,65H,6cH,6cH,6fH,20H,77H,6fH
             DB 72H,6cH,64H,0aH,00H
  CONST      ENDS

  CONST2     SEGMENT DWORD PUBLIC USE32 'DATA'
  CONST2     ENDS

  _DATA      SEGMENT DWORD PUBLIC USE3 'DATA'
  _DATA      ENDS

  _BSS       SEGMENT DWORD PUBLIC USE32 'BSS'
  _BSS       ENDS

             END

       18. ⨫ WATCOM Strip

       18.1. 

       ⨫ Strip  ᯮ짮, ⮡ ࠢ ଠ-
  ,  塞   ᯮ塞 䠩.  ଠ  
    :

       1. ⫠筠 ଠ  ᨬ (䨪p)

       2. ଠ pᮢ

        ଠ    㤠  ᯮ塞
  䠩.  쭠 ଠ  ⫠ 頥   ᯮ-
  塞  䠩 騪 WATCOM  ⨫⮩ Strip.  ଠ
  pᮢ 頥   믮 ணࠬ  p  -
    ⨫⮩ Strip.
        ⮫쪮 ணࠬ ⫠, ⨫ WATCOM Strip -
   㤠 ଠ ⫠  ᯮ塞 䠩, ⮬  
   㤠 ४⨢ ⫠   䠩  ४⨢  騪  
      ணࠬ ᭮.   ଠ樨  ⫠
  㬥蠥 ࠧ 믮 p.


                                - 395 -

        ᯮ塞 䠩,  ᣥ஢ 騪  WATCOM,
   ।    ⨫ Strip.

       18.2  ப ⨫ WATCOM Strip

       ⠪  ப ⨫ Strip:

    wstrip [options]input_file[output_file][info_file]

  :

  []
        ᪮  ,   䠪-
       ⨢묨.

  樨
  -n
       (Noerrors)  뤠  ᪨ ᮮ饭.

  -q
       (quiet)    ଠ樮 ᮮ饭.

  -r
       (resource) p뢠  ଠ  ,    ଠ
        ⫠.

  -a
       (add)  ଠ,   㤠 ଠ.

  input_file
       䨪 䠩   ᯮ塞 䠩.  ᫨ 
       ७  䠩  ।,  ⨫ Strip 㤥 ਭ-
          ᫥ ७:  xe,  dll,  exp, rex, nlm,
       dsk,  lan, nam, qnx  ⢨ ७ 䠩. ,
        冷,  ।  ᯨ᪥ ७,    -
       ,  ஬ Strip 㤥 롨 ७ 䠩.

  output_file
       H易⥫쭠 ᯥ䨪 室 䠩. ᫨  -
       ७ 䠩  㪠뢠, ७ 䠩, । 
        室 䠩,  㤥 ᯮ짮  室 䠩-
       .  ᫨ "." ।,   室 䠩 㤥 ᯮ짮-
       .


                                - 396 -

  info_file
       H易⥫쭠 ᯥ䨪    䠩,   ஬ p
        ⫠  ଠ      ࠭  (
       㤠 ଠ樨)   (  ଠ樨).
       ᫨  ७ 䠩  㪠뢠, p -
       ७ sym  ଠ樨 ⫠  res  ଠ樨 -
       .  ⮡ 㪠뢠  ଠ樮 䠩,     
       室 䠩, "."  ।  output_file.

  ᠭ:
       1. ᫨  㪠  "r",  ⮣ ⢨   㬮砭  -
  /㤠 ᨬ ⫠ ଠ.

       2. ᫨    㪠  "",  ⮣ ⢨  㬮砭 -
  㤠 ଠ.

       3. ᫨  㪠 output_file,  ⮣  㬮砭  ⫠筠
  ଠ  p ᮢ   㤠  in-
  put_file.

       4. ᫨ 㪠 output_file, input_file   output_fi-
  le    ⫠筠  p  ଠ ᮢ  
   㤠  output_file. Input_file ⠥ .

       5. ᫨ 㪠뢠 info_file, ⮣ ⫠筠 p 
  ଠ ᮢ,      㤠  ᯮ-
  塞 䠩 ⠥   뢠   䠩.  ⫠筠
  p   ଠ ᮢ    믮
  䠩 ⥬ 㪠 樨 "a".  , ⫠筠 ଠ 
      믮 䠩 ⥬  䠩 ⫠筮
  ଠ樨   ᯮ塞 䠩 (䠩   ࠡ뢠
    䠩).

       6.  祭 ࠡ⪨,  ⨫ Strip 㤥 ᮧ ६-
   䠩, p ᫮,  䠩  ࠭    -
  .

       18.3. 饭 ⨫ Strip

        騥 ᮮ饭  뤠 WATCOM ⨫⮩ Strip.

        ᯮ짮: wstrip [options] input_file [output_file] [in-
  fo_file]


                                - 397 -

     樨: ("-" ਭ 筮)

  /n
           ।०騥 ᮮ饭

  /q
           ଠ樮 ᮮ饭

  /r
         ࠡ ଠ ᮢ,   ଠ  ⫠

  /a
          ଠ,   㤠 ଠ

  Input_file:
         ᯮ塞 䠩.

  Output_file:
         易⥫ 室 ᯮ塞 䠩  "."

  Info_file:
         易⥫ 室  䠩  ⫠筮 p樨  -
         ଠ樨 ᮢ.

        ப    ࠬ஢.

  Too low on memory
         筮 ᢮  ,  ⮡  ।  
         䠩.

  Unable to find '%s'
          䠩  .

  Cannot create temporary file
           ६ 䠩 室  ᯮ짮.

  Unable to open '%s' to read
         室 ᯮ塞 䠩    뢠  ⥭.

  '%s' is not a valid executable file
         室 䠩  ⨬ ଠ   ᯮ-
         塞 䠩.

  '%s' does not contain debugging information

                                - 398 -

         祣 㤠  । ᯮ塞 䠩.

  Seek error on '%s'
         訡 ந諠 p ᪥  㪠 䠩.

  Unable to create output file '%s'
         室 䠩   ᮧ. ஢,  뢮 
           饭     㪠 室 䠩  -
         祭 "⮫쪮  ⥭".

  Unable to create symbol file '%s'
          ᨬ   ᮧ.

  Error reading '%s'
         訡 ந諠  ⥭ 室 ᯮ塞 䠩.

  Error writing to '%s'
         訡 ந諠   室 ᯮ塞 䠩 
         䠩 ᨬ (䨪p).  ஢ ⢮ ᢮-
           ࠭⢠  뢮 ᪥.  ᫨   -
         室 䠩 ﭭ 室  ⮬  ᠬ ᪥, -
           筮   ன  ᯮ塞 䠩-
           室 ࠡ⪨.

  Cannot erase file '%s'
         室 ᯮ塞  䠩  ⭮ ⬥祭 "⮫쪮  -
         "  ᫥⥫쭮     㭨⮦  (室  䠩
         㭨⮦ 直 ࠧ,  室 䠩    -
          ).

  Cannot rename file '%s'
         뢮 ᯮ塞 䠩  २뢠. 筮, -
             ந室.

.
                                - 399 -



                        ਫ

       A. ᯮ짮 ६ p

          ࠧࠡ⪨ ணࠬ ᯥ祭 WATCOM C/C++ 16,
   ६ p ᯮ.   ਫ 㬬p  -
  짮  p묨 ⠬ .

  FORCE
       ६ p FORCE    䠩,    
            室 ⮪ .   ६
       ᯮ WATCOM C.

               export "FORCE=filespec"

       । 䠩 砥  

               #include "file_spec"

       ४⨢ 頫  砫 室 䠩.

       ਬ:
               $ export "FORCE=/usr/include/common.cnv"
               $ wee report

       ६ p FORCE  ⬥  ᯮ짮  樨
  WATCOM C/C++ 16 "fi".

  INCLUDE
       ६ p INCLUDE 뢠 ᯮ  䠩  -
         (䠩  ७  䠩 ".h").  ६-
        ᯮ WATCOM C.

          export "INCLUDE=path:path..."

       ப । INCLUDE -  p PATH,  ன  -
        㪠뢠    ⠫,  ⤥塞 ﬨ
       (":").

  LIB
        ᯮ짮  ६ p  ४⨢ -
       騪 WATCOM "SYSTEM"  ⮩ ६ p.  -

                                - 400 -

        p LIB ᯮ,  ⮡ 롨 ⥪, -
         ᯮ짮,   ਪ ணࠬ -
       .     ६  ᯮ  騪  WATCOM
       wlink.  ப । LIB -  ப PATH,   ன  
        㪠뢠    ⠫, ⤥塞 -
       ﬨ (":").

  PATH
       ६ p PATH ᯮ 窮 QNX, ⮡ ᪠
       ணࠬ.

               export "PATH=path:path..."

       ६ p PATH   ⠫    ண-
       ࠬ 䠩 WATCOM C/C++ 16 ⨯ wcc  ᯮ짮 WAT-
       COM C/C++ 16  易 㬥⠫ ।.

       ⠫ ⠭   㬮砭      䠩  WATCOM
       C/C++ 16 QNX  "/bin".

       ਬ:     $ export "PATH=/bin"

       ६ p PATH ⠪ ᯮ ᫥騬 ணࠬ-
        ᠭ  ᯮᮡ.

       1. "c"  宦 16-pp來  32-pp來  -
          p WATCOM C/C++  騪 WATCOM .

       2.  "wvideo", ⮡ 室 ணࠬ.

  TMPDIR
       ६ p TMPDIR 뢠 ᯮ  ()  
       ६ 䠩, ᮧ 16-pp來묨  32-pp來묨 -
       p WATCOM C/C++  騪 WATCOM .

               export "TMPDIR=path".

       筮, 16-pp來  32-pp來 p  WATCOM  C/C++
       ᮧ ६ 䠩  ⥪饬 ⠫.  ,  㪠뢠
       ६ p TMPDIR  ।  ,    
       ᮮ WATCOM C/C++ 16,   ६ 䠩.  
       ᠬ ⭮   ६ 䠩 騪 WATCOM.

       ᬮ ᫥饥 । ६ p TMPDIR.

                                - 401 -


       ਬ:     $ export "TMPDIR=//2/tmp"

       p WATCOM C/C ++ 16  騪 WATCOM 㤥  ᮧ-
        ६ 䠩  //2/tmp.

  WATCOM
        ⮣ ⮡ 騪 WATCOM    室  
       䠩 16-  32-pp來 WATCOM C/C++, ६ p WATCOM
        ।.   ᯮ짮 "cc",  㦭 ।-
         ६ p,  ⠪   ᯮ  -
         䨪樨 ᯮ  䠩 -
       騪 WATCOM .  ,    ⠪,   -
        ᯮ짮 騪 WATCOM ।⢥   -
        "".  ६ p WATCOM ᯮ,  ⮡ -
        ⥪,    ᯮ짮,  ਪ-
        ணࠬ . ⠫  㬮砭  䠩 16-
        32-pp來 WATCOM C/C++ - "/usr".

       ਬ:     $ export "WATCOM=/usr"

  WCC
        ६  p    ᯮ짮,  ⮡ 㪠뢠
       筮 ᯮ㥬 樨  16-pp來 p .

               export "WCC=-1 -2..."

        樨 ࠡ뢠 । ﬨ,  ।묨    -
        ப. 騩 ਬ । 樨  㬮砭
        "d1" ( ⫠ p      ப  
       ꥪ 䠩)  ox (஢  ᨬ ᫮ -
       ⨬権 ).

       ਬ:     $ export "WCC=-d1 -ox"

        ⮫쪮 ६ p  WCC  ।,  ᫥
       樨 ⠫ 㬮砭   ᯮ짮  wcc.

  WCC386
        ६ p    ᯮ짮,  ⮡  㪠뢠
       筮 ᯮ㥬 樨  32-pp來 p .

               export "WCC386=-1 -2 ..."


                                - 402 -

        樨  ࠡ뢠  । ﬨ,  ।묨  -
        ப. 騩 ਬ । 樨  㬮砭
         "d1"  (  ⫠  p   ப 
       ꥪ⭮ 䠩)  ox (஢    ᨬ  ᫮
       ⨬権 ).

       ਬ:     $ export "WCC386=-d1 -ox"

        ⮫쪮 ६ p WCC386 ।, ᫥
       樨 ⠫ 㬮砭   맮  wcc386.

  WCGMEMORY
        ६  p  ᯮ짮,  ⮡ 訢
         ,  ᯮ㥬 ஬ ꥪ⭮  -
       p  ࠡ祩 .

       ਬ:     $ export "WCGMEMORY=?"

        ⢮  㪠뢠 "?",  ⮣  -
       ⭮  㤥  ᮮ  ᪮쪮    ᯮ짮,
       ⮡ ஢ .

         ⠪ ᯮ짮,  ⮡ ஢ -
        ꥪ⭮  p,  ⮡ ।  䨪-
        ꥬ   ࠡ祩 .

       ਬ:     $ export "WCGMEMORY=128"

        ⢮  - nnn, ⮣ 筮 nnn K  -
       짮.    ਬ,  128   訢.  ᫨
        祬 nnnK 㯭, ⮣ p 㤥 p p-
         ᮮ饭  ⠫쭮 訡.  ᫨    祬  nnnK
       㯭, ⮣ ⮫쪮 nnnK 㤥 ᯮ짮.

         稭,  祬   ᮡ  
       .   饬,  祬   㯭  
       ꥪ⭮ ,  ⥬  ⨬   㤥 -
       .   ࠧ,   ᮭ ஢  ࠧ-
       묨 ꥬ   ꥪ⭮   ந-
        ࠧ (  ࠢ) ꥪ  .  ᫨  
        ॡ ᯥ, ⮡   ᠬ १ (
       ,  ) ந   ࠧ p, ⮣
           ᯮ짮    ᮡ.  ⮡ ஢
           ᮭ     ࠧ묨

                                - 403 -

       䨣ﬨ ,   ࠭஢,  ६
       p WCGMEMORY ⠭ 筮   p.

  WPP
        ६  p    ᯮ짮,  ⮡ 㪠뢠
       筮 ᯮ㥬 樨  16-pp來 p ++.

               export "WPP=-1 -2 ..."

        樨 ࠡ뢠 । ﬨ,  ।묨    -
        ப. 騩 ਬ । 樨  㬮砭
        "d1" ( ⫠ ଠ      ப  
       ꥪ  䠩)  ox (஢  ᨬ ᫮ -
       ⨬権 ).

       ਬ:     $ export "WPP=-d1 -ox"

        ⮫쪮 ६ p  WPP  ।,  ᫥
       樨 ⠫ 㬮砭   맮  wpp.

  WPP386
        ६ p    ᯮ짮,  ⮡  㪠뢠
       筮 ᯮ㥬 樨  32-pp來 p ++.

               export "WPP386=-1 -2 ..."

        樨  ࠡ뢠  । ﬨ,  ।묨  -
        ப. 騩 ਬ । 樨  㬮砭
         "d1"  (  ⫠  ଠ   ப 
       ꥪ 䠩)  ox (஢  ᨬ ᫮  -
       ⨬権 ).

       ਬ:     $ export "WPP386=-d1 -ox"

        ⮫쪮 ६ p WPP386 ।, ᫥
       樨 ⠫ 㬮砭   맮  wpp386.

  WVIDEO
        ६  p    ᯮ짮,  ⮡ 㪠뢠
       筮 ᯮ㥬 樨 VIDEO.

               export "WVIDEO=-1 -2 ..."

        樨 ࠡ뢠 । ﬨ,  ।묨    -

                                - 404 -

        ப. 騩 ਬ । 樨  㬮砭
        noinvoke ( 믮 䠩 profile.dbg)  "reg=10"  (-
       ࠭  10 ஢ ॣ஢  ⫠).

       ਬ:     $ export "WVIDEO= -noinvoke  -reg=10"

        ⮫쪮 WVIDEO ६ p ।,  ᫥-
        樨 ⠫ 㬮砭   맮  wvideo.

  WVIDEO_PATH
        ६ p ᯮ wvideo, ⮡ 室 䠩
       প VIDEO.  䠩    ⥣਩.

       1.  䠩 VIDEO (䠩  䨪ᮬ ".dbg").

       2.  誨 VIDEO (䠩  䨪ᮬ ".trp").

       3.  ᨭ⠪᪮  VIDEO (䠩   䨪ᮬ
          ".prs").

       4.  help VIDEO (䠩  䨪ᮬ ".hlp").

       5.   ᨬ쭮 ⫠筮 ଠ樨 VIDEO (䠩  -
          䨪ᮬ ".sym").

               export "WVIDEO_PATH=path:path..."

        㬮砭,  VIDEO   䠩  ⠫ /etc/wvi-
       deo,  ⠪   室   ⠫  p
       p p WVIDEO_PATH.


       B. WATCOM C ᪨ 饭

        p  ᯨ᮪    ।०   ᮮ饭 
  訡,  ந WATCOM C p. ᪨ ᮮ-
  饭 뤠  室 ࠭樨  믮.  饭, -
    ᫥ ࠧ,  ᮤঠ 뫪  %s,  %d   %u.  
  ।⠢  ப,    ⠢ p WATCOM C,
  ⮡  ᮮ饭  訡  . %d  %u ।⠢-
   ப ; %s  ப, 筮 ᨬ쭮 .

       ᬮ ᫥  ணࠬ,   "err.",  
  ᮤন 訡.

                                - 405 -


  # include <stdio.h>

  void main()
      {
         int i;
         float i;

         i = 383;
         x = 13143.0;
         printf("Integer value is %d\n", i);
         printf("Floating-point value is %f\n", x);

       ᫨  p㥬  ணࠬ,  ᫥騥 ᮮ饭  
    ࠭.

       err.c(6):  Error!   E1034: Symbol 'i' already defined
       err.c(9):  Error!   E1011: Symbol 'x' has not been declared
       err-c: 12  lines,   included  191, 0 warnings,  2 errors

       ᪨ ᮮ饭   ᫥饩 ଠ樨:

       1)  㥬 䠩,

       2)  ப ᮤঠ饩 訡 ( 㣫 ᪮),

       3)  ᮮ饭, 

       4)  騩 ࠪ 訡.

        㯮⮬  ਬ,  ࢠ 訡 ந諠  ப 6
  䠩 "err.c."    訡  1034  (  ᮮ⢥騬  
  p) ஢.   訡 ந諠  ப 9 䠩
  "err.c".   訡 1011 ( ᮮ⢥騬  p) -
  ஢.

       騥 ࠧ ᮤঠ  ᯨ᮪ ᮮ饭.  饭
  run-time (ᮮ饭,  ⮡ࠦ  室 믮 pp)  
    ᮮ饭, 易  .

       B.1. ।०騥 ᮮ饭 ஢ 1

  W100      Parameter %d contains inconsistent levels of indirection
         㭪 ,  - ⨯ char * *,   ।

                                - 406 -

         pp char *.

  W101      Non-portable pointer conversion
          ᮮ饭 뤠 直 ࠧ,   ८ࠧ뢠
         ⫨   ⠭  㪠⥫.

  W102      Type mismatch
          ᮮ饭 뤠   祭    㭪樨  
         祭,   ⨯ - 㪠⥫,    - 㪠뢠 
         ࠧ  ꥪ⮢.

  W103      Parameter count does not agree with previous definition
             筮 ⢮ ࠬ஢  ᫨-
          讥 ⢮ ࠬ஢  饭  㭪樨. -
           㭪 । 饩 ६ ᫮ ࠬ-
         ஢, ⮣   ஢  ।०,  
           㭪樮쭮   ⨯, ⮡
         ᯮ짮 ",...", ⮡ 㪠  㭪 ⢨⥫쭮
          ६ ᫮ ࠬ஢.

  W104      Inconsistent levels of indirection
          ந室  祭     ,  
             ࠭   ஢ pp 祬
         㣮 ࠭. ਬ, char * * 祭  char *.

         襭: ࠢ ஢  pp    ᯮ
         void *.

  W105      Assignment found in boolean expression
         祭 ⠭ 뫮 㦥    㫥  ࠦ.
         ਬ:  "if (var = 0)".  H ⭮,    
         ᯮ짮 "=="  ஢  ࠢ⢮.

  W106      Constant out of range truncated
          ᮮ饭 뤠,  ᫨ ⠭   
          32   ᫨ ⠭  -      ⨬
         祭,    祭  ६.

  W107      Missing return value for function '%s'
         㭪 뫠   ⨯  㭪樨,   
               㭪樨.   -
             ⨯  㭪樨  void.

  W108      Duplicate typedef already defined

                                - 407 -

         㡫 typedef    ANSI C.  ।०
         뤠  ஢  ᪠묨 ७ﬨ.  
          㤠 㡫 p typedef.

  Wl10      'fortran' pragma not defined
          ᯮ짮 祢 ᫮ fortran  襩 ணࠬ, 
          । #pragma  pp.

  W111      Meaningless use of an expression
         ப ᮤন ࠦ, ஥   祣 -
         .  ਬ "i = (1,5);", p "1,"  -
         .   ᮮ饭 ⠪   ࠢ, -
         ஥  ᯮ. ࠢ  ࠦ
         ⮡     >=,  <,  <=  ᯮ.
         ,  ࠦ "signeg",   "unsigned".

  W112      Pointer truncated
          㪠⥫ ।  㭪樨,   
         㪠⥫,    㪠⥫ 祭   㪠-
         ⥫.

  W113      Pointer type mismatch
            㪠⥫, p  㪠뢠  ࠧ
         ꥪ,   㪠⥫ - ࠧ筮 pp,   
         ࠧ 䨪.

  Wl14      Missing ';'
          ய᪠   ⮩ ";" p ।   -
         । ࠢ ⮩ 䨣୮ ᪮ ")".

  W115      &array may not produce intended result
          p "&array" ⫨祭  ⨯ "array".  ।-
         ,     p char buffer [80].  ࠦ-
          (&buffer + 3) 㤥 pᬠp  (buffer  +  3  *
         size of (buffer)),  p (buffer + 3 * 80),   (buffer
         + 3 * 1),    ⥬  設⢮    .
         p  "&"  ॡ  祭  -
         .

  W116      Attempt to return address of auto variable
          ।०  筮  㪠뢠    쥧  訡
         ணࠬ஢.   㭪 p蠥,  -
           ⥪  ⮯६ ᢮.   -
          㤥 뢠 쭥訬  饭ﬨ    㭪樨

                                - 408 -

         - ࢨ묨 ணࠬ ⭮ 뢠.  -
         ⥫쭮,   㪠뢠 祭    
         ࠧ襭 ०,  祬  ணࠬ   -
               .

  W117    '##' tokens  did  not  generate  a  single   token   (rest
          discarded)
           ᥬ (થ)  ⠢  ,  ᯮ
         ##,    ନ஢ ப,   -
           筠 ᥬ (થ).

  W118      Label '%s' has been defined but not referenced
          । ,    뢠   -
         ⨫ (gate). ,   ய⨫ 祢 ᫮ "ca-
         se"   ᯮ짮  ᫨ ⨯  p
           switch. ᫨ , ⮣  ⪠  㤠-
         .

  W119      Address of static. function '%s' has been taken
          ।०  㪠뢠  ⥭樠 ஡
          ணࠬ - p.

  W120      Using result of a cast operator as an lvalue is not
            standard C
          ਢ ⨯  뤠 饥 ࠦ (-
          ६)  ⠭ ANSI C.  , ⮡ ᯥ-
          ᮢ⨬   ᠭ  㯭 ANSI 
         p,  ᫨  ࠦ  뫮  騬  ࠦ
         (lvalue)  樨 ਢ,     ਢ  
         뢠  ८ࠧ, p ࠡ뢠 -
           饥 ࠦ ( ६)   뤠
          ।०.

  W121      Text following pre-processor directives  is  not
            standard C
         ந ⥪   ᫥ ४⨢ ९-
         . 쪮 ਨ  ᫥ ४⨢ ९-
         .

       B.2. ।०騥 ᮮ饭 ஢ 2

  W200      '%s' has been referenced but never assigned a value
          ᯮ짮  ६  ࠦ  ।⥫쭮
         祭 祭  ⮩ ६.

                                - 409 -


  W201      Unreachable code
              㤥  믮,  ⮬  
             ணࠬ  ⮬ .

  W202     Symbol '%s' has been defined, but not referenced
            뫪   ६. -
           ⮩ ६  㤠.  ᫨ ६  -
         ࠬ    㭪樨,   饭  ⮩ 㭪樨 
         ⠪  祭  ⮣ pp 㤠.

           ,    ⨬  稭  
         ࠭ ६.    । 뤠 ⮣
         ᮮ饭 १ ᯮ짮 #pragma off.

  W203      Symbol '%s' has not been declared
          ᯮ짮   ࠦ ९.  p
         ਭ,   ᨬ  祭 0  த p.
          ⮣ ᨬ  ॡ #define,    
          뫨  䠩,  ᮤন #define  -
          ᨬ.

       B.3. ।०騥 ᮮ饭 ஢ 3

  W300      Nested comment found in comment started on line %u
          ᪥  ,  㦥 "/  *"    砫
         㣮 ਩.   ਨ   
         ANSI C.   "* /"  ।饣 -
         .

  W301      No prototype found for '%s'
         뫪  㭪   襩  ணࠬ,      
          p ⨯  ⮩ 㭪樨.

  W302      Expression is only useful for its side effects
           ࠦ, ஥ 㤥 ஢ ।०-
           "Meaningless  use of an expression" ("᫥ -
         짮 ࠦ"),   ᪫祭 ⮣,   ⠪
         ᮤন  䥪, ⨯ ++, --,  饭  㭪-
         樨.

                                - 410 -


       B.4. 饭  訡

  E1000     BREAK must appear in while, do, for or switch statement
          襭      饭   ண-
         ࠬ.    ய⨫ 뢠 䨣 ᪮ 
         pp while, do, for  switch.

  E1001     CASE must appear in switch statement
         ⪠ case 뫠     switch.

  E1002     CONTINUE must appear in while, do or for statement
          continue      pp while,  do
          for.    ᫨誮  ")"  pp
         while, do  for  ஬ continue.

  E1003     DEFAULT must appear in switch statement
         ⪠  㬮砭 뫠      switch.
               ᫨誮  ")"  砫 pp
         switch  ⪮  㬮砭.

  E1004     Misplaced '}' or missing earlier '{'.
         ⥫쭠 "}" 뫠 ,      ᮣ-
         ᮢ   ࠭ "{".

  E1005     Misplaced #endif directive
         ४⨢ #endif      ppp 㯯
         #if  । p⨢ #else, ᫨ ᫥ .

  El006     Misplaced #else directive
         ४⨢ #else       ९pp p㯯
         #if  ᫥  ᥬ p⨢ #endif, ᫨  -
         .

  E1007    Misplaced #endif directive
         ४⨢ ९pp #endif 뫠   ᮮ⢥-
         饩 ४⨢ #if.     譨 #endif   -
         ⨫ ४⨢ #if ࠭  䠩.

  E1008    Only 1 DEFAULT per switch allowed
                ⪨  㬮砭  -
          switch.

                                - 411 -


  E1009    Expecting '%s' but found'%s'
         訡 ᨭ⠪ 뫠 㦥.  ᥬ,  ⮡ࠦ 
         ᮮ饭,    । ஡.

  E1010    Type mismatch
          ⠭ 㪠⥫,   㪠⥫  㪠뢠 
           ᠬ ⨯.  㣨 ஢,  ࠦ -
           ᮢ⨬묨  祭.

  E1011    Symbol '%s' has not been declared
         p 襫 ᨬ,     ।⥫쭮 -
         .    뢠  㪢  㣮,  祬
         ,      㦭  䠩  
         (header file),  ᮤন 㦭 .

  E1012    Expression is not a function
         p 襫 ࠦ, ஥ 룫廊  -
         饭  㭪樨,    ।  㭪.

  E1013     Constant variable cannot be modified
         H ࠦ  ,   ६,
          뫠   祢 ᫮ "const".

  E1014     Left operand must be an 'lvalue'
         ࠭ ᫥   "="   ६   -
           ,     祭 祭 
         .

  E1015     '%s' is already defined as a variable
          ஡   㭪  ⥬  ᠬ   p-
           ६.

  E1016     Expecting identifier
         ᥬ (થ)  ᫥  pp  "- >"  "."  
          䨪,      pp  
         ꥤ   ஢  ࠭,  ।騬
         pp "- >"  ".".

  E1017     Label '%s' already defined
          ⪨  㭪樨   㭨.


                                - 412 -

  E1018     Label '%s' not defined in function
          ⨫ 뫠  ,    ।
           㭪樨.   室   ஢ 
          㪢 ⪨  㭪樨.

  E1019     Tag '%s' already defined
           ⬥⮪ pp, ꥤ  p᫨ ⨯
           㭨.

  El020     Dimension cannot be 0
         ୮ ᨢ   ⫨筠  .

  E1021     Dimensions of multi-dimension array must be specified
          ࠧ p ᨢ  ।. -
         ⢥ ᪫祭 - ࢠ ࠧ୮,   -
           "[]".
                                - 413 -

  E1022    Missing or misspelled data type near '%s'
         p 襫 䨪,    ஥ ⨯ 
           "typedef'. ஢ 䨪,   訡 -
           㪢.

  E1023    Storage class of parameter must be register or unspecified
         ⢥  ,  塞   -
          - ॣ (register).

  E1024    Declared symbol '%s' is not in parameter list
         ⮢,   䨪   ᯨ᪥  ࠬ஢
         ᮮ⢥  p⠢塞       砫
         㭪樨  뢠饩 䨣୮ ᪮ "(".

  E1025    Parameter '%s' already declared
            ࠬ 㦥 ࠡ⠫.

  E1026    Invalid declarator
         訡 ᨭ⠪ ந諠  ᨭ⠪᪮   -
         .

  E1027    Invalid storage class for function
         ᫨     㭪樨,     static
          extern.

  E1028    Variable '%s' cannot be void
             ६ void.

  E1029    Expression must be 'pointer to ...'
         ⪠   ࠧ묥뢠  (*) ६  ࠦ-
         ,     㪠⥫.

  E1030    Cannot take the address of an rvalue
           ⮫쪮   祩   ६.

  E1031     Name '%s' not found in struct/union %s
          䨪       -
           pp  ꥤ.  ஢,   
         뢠  㪢 ࠢ쭮,     㪠뢠  
         ࠢ pp  ꥤ.

  E1032     Expression for '.' must be a 'structure' or 'union'
         p ⮫   p殬  "p"".""_",
          ࠦ  ⨯ ꥤ  pp.

                                - 414 -


  E1033     Expression for '- >' must be 'pointer to struct or union'
         p ⮫  p殬 "ࠦ  ""->""field_na-
         me",   ࠦ   㪠⥫  ⨯ ꥤ 
         pp.

  E1034     Symbol '%s' already defined
          ᨬ 㦥 ।.

  E1035     Static function '%s' has not been defined
         ⨯    ᪮ 㭪樨,   ।
          ⮩ ᪮ 㭪樨     䠩.

  E1036     Right operand of '%s' is a pointer
         ࠢ ࠭ "+="  "-="    㪠⥫.  ࠢ
         ࠭ "-"    㪠⥫ p ,  -
          ࠭ ⠪ 㪠⥫.

  E1037     Type cast must be a scalar type
              ਢ  ⨯  ࠦ  ⠪,  ⮡  
         pp, ꥤ, ᨢ  㭪樥.

  E1038     Expecting label for gate statement
          ⨫ ॡ  ⪨.

  E1039     Duplicate case value '%d' found
          祭    ४⥫ case 
          㭨쭮.

  E1040     Field width too large
         ᨬ쭠 pp襭 ਭ  - 16 ⮢.

  E1041     Field width of 0 with symbol not allowed
         ⮢     ࠩ     ࠧ.

  E1042     Field width must be positive
             ⥫ ਭ .

  E1043     Invalid type specified for bit field
          塞   ⮢     -
          p char, short  int.

  E1044     Variable '%s' has incomplete type
          । pp  ꥤ  .

                                - 415 -


  E1045     Subscript on non-array
           ࠭ "[]"   ᨢ.

  E1046     Incomplete comment
         p  室 * /, ⮡ ⬥  .

  E1047     Argument for # must be a macro parm
         p㬥  p  "#"   ய-
         .

  E1048     Unknown preprocessing directive '#%s'
         ⮫㫨  ⭮ ४⨢ ९pp ࠡ-
         . ஢ ࠢ쭮   㪢.

  E1049     Invalid #include directive
           訡 ᨭ⠪ ⮫㫨  ४⨢ #include.

  E1050     Not enough parameters given for macro '%s'
           ᯥ稫 筮 ⢮ ࠬ஢  -
          ப.

  E1051     Not expecting a return value for function '%s'
          㭪   void.   -
         ,   ⨯ 㭪樨.

  E1052     Expression has void type
          ஡  ᯮ짮  祭  ࠦ  void 
         㣮 ࠦ.

  E1053     Cannot take the address of a bit field
          쪨 㥬  - .    
          ⮢ .

  E1054     Expression must be constant
         p  ﭭ ࠦ.  ᮮ饭 
         ந室  室 ᪮ 樠樨, ᫨  ஡-
          樠஢ 㪠⥫ ⨯ ࠦ .

  E1055     Unable to open '%s'
         , 㪠  ४⨢ #include  .  ⮢-
         ,     䠩 뢠  㪢 ࠢ쭮,  
          ᮮ⢥騩   䠩  砥    ᯨ᮪
         ⮢, ।  ६ p INCLUDE  樨

                                - 416 -

         "i="   ப.

  E1056     Too many parameters given for macro '%s'
          㪠 ᫨誮 讥 ⢮ ࠬ஢  ।-
          ப.

  E1057     Modifiers disagree with previous definition of'%s'
            祬  ।  ⨯  -
           㭪樨,   ࠧ 䨪 -
         .

  E1058     Cannot use typedef '%s' as a variable
          typedef 뫮 ,    ࠭  -
         .  ᫨  ஡ ᯮ짮 ਢ ⨯, 㤮-
         ,   㣫 ᪮  ⨯,  -
          訡   㪢.

  E1059     Invalid storage class for non-local variable
         ६    -       ।-
          ᮬ  auto  register.

  E1060     Invalid type
         ⨬  ᫥ 祢 ᫮ ।
           ⨯:  constant,  volatile,  signed,  unsigned,
         char, int, show, long, float and double.

  E1061     Expecting data or function declaration, but found'%s'
         p   砫   㭪樮쭮 -
         .  ᫨  ⮫쪮 筮 p諨 १ 㭪,  ⮣
             ᫨誮  讥 ⢮ p뢠 䨣
         ᪮.

  E1062     Inconsistent return type for function '%s'
          ⨯  ⮩  ᠬ 㭪樨  ᮣᮢ뢠.

  E1063     Missing operand
         ࠭ ॡ   ࠦ.

  E1064     Out of memory
         p 襫  , ࠭ ଠ ⭮⥫쭮
         p㥬 䠩.  ஡ 㬥  ᫮  
           / ࠧ p㥬 䠩.  H 砩 -
         㦭 䠩 .


                                - 417 -

          p WATCOM   16 pp鸞,   "/d2" -
          ᯮ짮 p  . ஡ -
         ஢  樥 "/d1".

  E1065     Invalid character constant
          ᮮ饭  뤠   ࠢ쭮 ନ஢ ᨬ-
         쭮 ⠭.

  E1066     Cannot perform operation with pointer to void
            ᯮ짮 "pointer to void"  ࠬ +,
         -, ++, -, + =  -=.

  E1067     Cannot take  address  of  variable  with   storage   class
            'register'
         ᫨      쭮  ६,  
            register  auto.

  E1068     Variable '%s' already initialized
          ६ 㦥 ᪨ 樠஢.

  E1069     Ending " missing for string literal
         p   室    ⮡ -
          ࠫ ப.

  E1070     Data for aggregate type must be enclosed in curly braces
          ᨢ, pp  ꥤ ᪨ 樠-
         ,     祭      ᪮
         "{}".

  E1071     Type of parameter %d does not match previous definition
          । ࠬ  ᮢ⨬    ⨯  
         ⮩ 㭪樨 . 騩 ਬ  ஡, -
           ,    ᫥⥫쭮  
         室  ࠢ쭮 浪.

          ਬ:

              /* ᪮p ᫥饩 ப 㤥
                  ࠭ 訡 */

              /* struct foo; */

          void fnl (struct foo *);


                                - 418 -

          struct foo {
              int     a,b;
          };

          void fn1(struct foo *bar)
          {
              fn2(bar);
          }

         ஡   ࠢ ⥬ 㯮冷祭 ᫥-
         ⥫쭮,   ன ꥪ     (⥬
         ६饭  ᠭ  fro   । ࢮ
         뫪   祭 ).   㤥
         ࠭஢,   ࠧ  foo ।
          ᮮ⢥饩 譥  .

  E1072     Storage class disagrees with previous definition of'%s'
         ।饥 ।  㪠 ६   -
          static.  饥 ।     
         static  extern.

  3 Invalid option '%s'
         㪠   ᯮ p.

  Invalid optimization option '%s'
           - ࠢ쭠  ⨬樨.

  Invalid memory model '%s'
                "ms",  "mm",  "mc",
         "ml",  "mh" or "mf" 롨p ᮮ⢥⢥ Small, Medium,
         Compact, Large, Huge or Flat  .

  Missing semicolon at end of declaration
         ⢨ 窨    ⮩ ";"    p ।
          ⮩ "(".

  Missing ')'
         p 㦨    䠩  । 宦 ࠢ
         ⮩ ᪮ ")", ⮡  ⥪ 㭪.

  Invalid type for switch expression
          ࠦ ४⥫ switch   楫.

  Expression must be integral

                                - 419 -

          ࠦ ॡ.

  Expression must be arithmetic
         ࠭ pp "*",  "/"  "%"   p䬥-
         .   㭠p   ⠪   p䬥-
         .

  Expression must be scalar type
         ୮ ࠦ ॡ.

  E1082      Statement required after label
         । 몠 C ॡ  ᫥ ⪨.  
         ᯮ짮  null,   ⮨ ⮫쪮  窨
          ⮩ (";").

  E1083      Statement required after 'do'
          ॡ  祢묨 ᫮ do  while.

  E1084      Statement required after 'case'
         । 몠  C ॡ  ᫥ ⪨ case.  
          ᯮ짮  null,  ⮨ ⮫쪮 
         窨  ⮩ (";").

  E1085      Statement required after 'default'
         । 몠 C ॡ  ᫥ ⪨ "default".
             ᯮ짮  㫥 ,   ⮨
         ⮫쪮  窨  ⮩ (";").

  E1086      Expression too complicated, split it up and try again
         ࠦ ᮤন  ᫨誮  讥 ⢮ ஢ -
          㣫 ᪮.    ࠦ      
          ࠦ.

  E1087      Missing matching #endif directive
         H #endif,  ⮡  ppp p⨢  #if,
         #ifdef  #ifndef).

  E1088      Invalid macro definition, missing)
         ࠢ 㣫 ᪮ ")" ॡ      㭪樨
         ம।.

  E1089      Missing) for expansion of '%s' macro
         p ⮫  殬 䠩  ᮡp  ࠬ-
         ஢   㭪樨 ப. ࠢ 㣫 ᪮

                                - 420 -

         ")" ॡ,  ⮡ ⬥  ࠬ஢  
         ப.

  E1090      Invalid conversion
         pp  ꥤ   ८ࠧ    -
         . float  double    pࠧ  㪠⥫
          㪠⥫    pp  float  double.

  E1091     %s
          -  ᮮ饭 짮⥫,  ᣥ஢  ४⨢
         ९pp #error.

  E1092     Cannot define an array of functions
             ᨢ 㪠⥫  㭪,    ᨢ
         㭪権.

  E1093     Function cannot return an array
         㭪       ᨢ.    
         㪠⥫  ᨢ.

  E1094     Function cannot return a function
             㭪.    㪠-
         ⥫  㭪樨.

  E1095     Cannot take address   of   local   variable   in  static
          initialization
              auto ६    -
         樨.

  E1096     Inconsistent use of return statements
         p 襫  ,   頥 -
         祭   ,    頥 祭 
         ⮩  ᠬ 㭪樨.   ,   -
         頥 祭   祭, । ⮡ 
         ⨢稢  㣨 ஬   㭪樨.

  E1097     Missing ? or misplaced.
         p 㦨 訡 ᨭ⠪, 易  -
         ࠬ ":" "?".    㦤  㣫 ᪮ p
         p ࠦ,  ⮡  ஢ ࠢ-
         .

  E1098     Maximum struct or union size is 64K
          pp   ꥤ ࠭稢 64 ,  ⮡

                                - 421 -

         p  ।⠢ ᬥ饭 童  ॣ    16
         ⠬.

  E1099    Statement must be inside function Probable cause : missing
         p 㦨  ⨯  for,  while,  switch,  
         ...,     㭪樨.    
         ᫨誮 讥 ⢮  ⥫  䨣  ᪮
         "}"    ய⨫ 뢠 䨣 ᪮ "{" -
           㭪樨.

  E1100     Definition of macro   '%s'  not  identical  to  previous
          definition
         ᫨ ப ।  祬  ࠧ,  ।-
             .  ᫨   ८।
         ப,  ⮡  p㣮 ।,   -
         짮 #undef   ०,  祬   ।
            ।.

  E1101     Cannot #undef _LINE_, _FILE_,  _DATE_,  _TIME_, _STDC_ or
          'defined'
         樠 p __LINE__,  __FILE__, __DATE__, __TIME__,
         and __STDC__,   䨪p "defined",    㤠-
          p⨢ #undef.

  E1102     Cannot #define the name 'defined'
            । ப 뢠 "defined".

  E1103     ## must not be at start or end of replacement tokens
           ᥬ (થ)   ஭ pp  ##
         (⠢ ᥬ (થ)).

  E1104     Type cast not allowed in #if or #elif expression
         ਢ ⨯    ࠦ ९.

  E1105     'sizeof not allowed in #if or #elif expression
          sizeof    ࠦ ९.

  E1106     Cannot compare a struct or union
         pp  ꥤ   ࠢ   "=="  
         "I=".   ࠢ  童 pp  ꥤ-
         ,  ⮡ ।  ࠢ⢮    ࠢ⢮.  ᫨
         pp    ꥤ  㯠 (   -
         ⨩ (hole)   楫  ࠢ),  ⮣    
         ࠢ  pp, ᯮ memcmp.

                                - 422 -


  E1107     Enumerator list cannot be empty
             ࠩ   䨪   ᯨ᪥
         enum.

  E1108     Invalid floating-point constant
         - 冷 ⠭  饩 ⮩   ନ
         ࠢ쭮.

  E1109     Cannot take sizeof a bit field
          쪨 ꥪ  pp, p   
         - char (ᨬ).

  E1110     Cannot initialize variable with storage class of extern
           extern ᯮ, ⮡ 뢠 ६
             䠪᪨  । -  p㣮  
         ணࠬ.

  E1111     Invalid storage class for parameter
         ⢥  , 塞  ࠬ - regis-
         ter.

  E1l12     Initializer list cannot be empty
         ᮪ 樠樨    ࠩ   -
          㭪.

  E1113     Expression has incomplete type
          ⪠   pp  ꥤ, 
         ।  ⭮,   ᨢ,  祩 ࠧ  -
         ⥭.

  E1114     Struct or union cannot contain itself
             pp  ꥤ, ᮤঠ -
          ᥡ.    㪠⥫  pp,  㪠-
         뢠  ᢮ ࠧ.  ஢   ⢨  "*"  
         .

  E1115     Incomplete enum declaration
         ⬥⪠ (tag) ᫥ ।⥫쭮  ।﫠.

  E1116     An id list not allowed except for function definition
         㭪樮 ⨯  ᮤঠ ଠ ⨯.

  E1117     Must use  'va_start'  macro inside function with variable

                                - 423 -

            parameters
         ப va_start  ᯮ   ⠭ 㯠 
         ࠬࠬ  㭪樨,    ६ ᫮  -
         ஢. 㭪 ।  ६ ᫮ ࠬ஢,
          ᫥ ࠬ  㭪樨  "...".

  E1118     ***FATAL*** %s
         ⠫쭠 訡 뫠 㦥  室 樨 ꥪ⭮
         .  訡 ⮡ࠦ  ᮮ饭.

  E1119     Internal compiler error %d
          訡  ⮫㫨   p WATCOM C.  ,
         ᮮ । ७  訡 p  
          㣨  ஡ ⭮⥫쭮 p㥬
         ணࠬ p WATCOM, ⮡   p ஡.

  E1120     Parameter number %d - invalid register in #pragma
          ॣ    ᮤp 祭  ࠬ-
         .

  E1121     Procedure '%s' has invalid return register in #pragma
          ॣ   ᮮ⢥ ࠧ १
         饭 㭪樥.

  E1122     illegal register modified by '%s' #pragma
          16-pp來 p WATCOM C: pp BP, CS, DS,
          SS   p     .  -
         p  BP,  CS,    SS    p  
         让 .

          32-pp來 p WATCOM C:  pp  EBP,  CS,
         DS,  ES  SS   p   ᪮ -
         .  p BP, CS, DS  SS   p 
           . p BP, CS  SS   -
         p   让 .

  E1123     File must contain at least one external definition
          䠩  ᮤঠ  ࠩ   
         ꥪ, (६   㭪).  ᮮ饭 뤠-
          ⮫쪮  ண ANSI ० (-za).

  E1124     Out of macro space
         p 襫   p ࠭ ம।.


                                - 424 -

  E1125     Keyboard interrupt detected
         ஢ ࢠ CTRL/C  Ctrl/Break.

  E1126     Array, struct or union cannot be placed in a register
         쪮 ᪠ ꥪ  㪠뢠  ᮬ  regis-
         ter.

  E1127     Type required in parameter list
         ᫨  ࠬ  㭪樮쭮 ।  -
         ⨯ ।  ⨯,  ⮣  ࠬ  
         㪠 ⨯.

  E1128     Enum constant too large
          ⠭  ᮮ⢥⢮  int  unsigned.

  E1129     Type does not agree with previous definition of'%s'
            祬  । ६    㭪-
         樨,   ᮣ.

  E1130     Duplicate name '%s' not allowed in struct or union
             pp  ꥤ   㭨-
         .

  E1131     Duplicate macro parameter '%s'
         ࠬ, ।  ம।,   㭨-
         .

  E1132     Unable to open work file
         p ஡ 뢠   ࠡ稩  䠩    
         "_wrkN_.tmp",  N -  0  9.  ᮮ饭 㤥 뤠-
         , ᫨   䠩 㦥 .

  E1133     Write error on work file
          訡  ⮫㫨 p  ଠ樨  ࠡ稩 䠩.
           p.

  E1134     Read error on work file
          訡 ⮫㫨,   ଠ  ࠡ祣
         䠩.

  E1135     Seek error on work file
          訡 ⮫㫨 p ᪥ 樨  ࠡ祬 䠩.

  E1136     Token too long truncated

                                - 425 -

         ᥬ (થ)    祬 510 ⮢  .

  E1137     Out of enum space
         p 襫  pp⢠ ।, ⮡ -
         ࠭ ଠ ⭮⥫쭮    p᫨  ⠭
         ।  襩 ணࠬ.

  E1138     Filename required on command line
          䠩  ஢  㪠뢠   
         ப.

  E1139     Command line contains more than one file to compile
            祬   䠩  p  㪠-
              ப.  p  ஢
         ⮫쪮  䠩 ६.    ᯮ짮 ண-
         ࠬ-ࠩ p   "cc", ⮡ -
         ஢  䠩  .

  E1140     Unrecognized database engine '%s'
          ᮮ饭  ਬ ⮫쪮  ᨨ p,  -
         ঠ饣  প SQL. ࠢ 祭, -
            ப.

  E1141     Unrecognized SQL language level '%s'
          ᮮ饭 ਬ ⮫쪮  ᨨ  p,  -
         ঠ饣  প SQL.  ࠢ 祭, 㪠-
            ப.

  E1142     Too many bytes specified in #pragma
          ७  ࠭祭 ᫠ ⮢  p
         ,  ஥  । ᥢਥ  (p-
         ). ஡ 童 㭪     
         㭪権.

  E1143     Cannot resolve  linkage   conventions  for  routine  '%s'
          #pragma
         p   ஢ ࠢ    㪠-
          ணࠬ - 䫨⮢ ॣ஢.  ॣ,
         ᯮ㥬 ࠬࠬ ᥢ.

  E1144     Symbol '%s' in pragma must be global
         p    ᥢ  뫠 ⮫쪮
           ६  㭪.   뫠 
         ࠬ    ६,  ⮫쪮 ।  

                                - 426 -

         ࠬ  ᥢ p ஢.

  E1145     Internal compiler  limit   exceeded,  break  module  into
          smaller pieces
         p  ࠡ뢠 65535 quadruples,  65535 -
         ,  65535 㭪⮢  ⠡ 䨪஢  ࠫ
         ப. ᫨  ॢ蠥    ࠭祭, ணࠬ-
             ࠧ  訥 ࠣ   p 
           室  ࠡ⪨ p.

  E1146     Invalid initializer for integer data type
          ⨯  (int  long)  樠஢ -
         묨 ࠦﬨ  ࠦﬨ ,  騬   
         ᠬ ࠧ  樠p㥬 ⨯ 楫 .

  E1147     Too many errors: compilation aborted
         p ⠭ ஢,   ᫮ ᣥ-
         ஢  訡 ॢ蠥 ࠭祭.  ࠭祭 ᫠
         訡   ⠭ 樥 "-e". ࠭祭 ᫠
         訡  㬮砭 p 20.

  E1151     Parameter count does not agree with previous definition
            筮 ⢮   ᫨誮  讥
         ⢮ ࠬ஢ p 饭  㭪樨.  ᫨ 㭪
         । 饩 ६ ᫮ ࠬ஢, ⮣ 
         ⨫ ",..."  㭪樮쭮 ⨯.

  El152     Segment name required
          ᥣ  㪠뢠  ଥ ࠫ쭮 ப 
         p⨢ _segname().

  E1153     Invalid based declaration
         p   ᯮ   ⨬   -
           _based.  .  "ᠭ 몠 WATCOM C"  ᠭ
          ⨬   _based.

  E1154     Variable for based declaration must be of type segment
            㪠⥫  ஢  ⮩
         ६ ⨯ _segment.

  E1155     Duplicate external symbol %s
         㡫஢ 譨 ᨬ  ⢮,   -
         । ᨬ쭮  ᥪ  8 ᨬ.


                                - 427 -

  E1156     Assembler error: '%s'
         訡 뫠  㦥  ஥  ᥬ஬.  饭
         㪠뢠 㦥 訡.

  E1157     Variable must be 'huge'
         ६  ᨢ,   ॡ  祬 64  -
           p  16 ⠬        
         "huge".

  E1158     Too many parm sets
         誮  ஢ ॣ஢    ࠬ஢  㪠  
         ᥢਨ (p).

  E1159   Attempt to access far memory with  all  segment  registers
          disabled in '%s'
         p     㯭 ᥣ ॣ஢,  ⮡
           㦭    .

  E1160     I/O error reading '%s': %s
         訡 /뢮  뫠 㦥 p  ⥭
         室 䠩. ᨬ  ⥬ 稭 ⮡ࠦ 
         ᮮ饭 "%s".

       B.5. ଠ樮 饭

  I2000     Not enough memory to fully optimize procedure '%s'
         p   筮 , ⮡  -
         ஢ 㪠 楤.

  I2001     Not enough memory to maintain full peephole
          ᮮ饭  ᮮ饭 12000.  뢮, ⮫쪮
         ᫨  ஢  ।० 訩  ࠢ 4.  ᭮
         祭 ⮣ ᮮ饭 -  ,    pᮢ  
         p  筮 ⠪  ꥪ⭮ ,   
          ᠬ 室 䠩   ࠧ  -
         p.       ᬮ ந 筮 ⠪ 
         ꥪ  p p p, ᫨ 㯭 -
           筮   ᠬ.

  饭  訡  p 믮 pp

  1. Assertion failed: %s file %s line %d
          ᮮ饭  ᥣ,   ⢥ত, ஥
          ᤥ  襩 ணࠬ,  p.

                                - 428 -


  2. Stack Overflow !
          ணࠬ  ⠥  ᯮ짮    pp⢠
         ⥪  祬 㯭.  ᫨  ,    ணࠬ
         ࠢ쭠,   㢥稢 ࠧ ⥪, ᯮ -
          "stack=nnnn",    ணࠬ.  -
           ⠪ । 樥 "N",  ᫨  ᯮ
         pp "cc".

  3. Floating-point support not loaded
          맢   㭪権 printf  ଠ⮬ "%e", "%f", 
         "%g",    । 祭  饩 ⮩. -
         p  뫪  ६ "_fltused_"  直  ࠧ,
           । 祭  饩 ⮩  㭪樨. 
         祭 䠧 ,   "_fltused_" 뢠,  -
         ⥫ pp pp  饩 ⮩
          ⠪ ਭᥭ   ਪ ணࠬ. , 
         砥  ⮫쪮 pp pp   饩
         ⮩.

  4. * * * NULL assignment detected
          ᮮ饭  ⮡ࠦ,  ᫨    32 ⮢
         ᥣ  襩 ணࠬ . ஢ઠ 믮-
           p p ⥬   ணࠬ 室  -
          ⥬.    砥  ᮮ饭   ,  
         -  室 믮 襩 ணࠬ,    -
          﫠.

         ⮡  p稭,       ਪ
         ணࠬ    ⫠筮  ଠ樥   ᯮ짮 VIDEO,
         ⮡ ஫஢  믮. 砫, 믮 ਪ-
          ணࠬ  VIDEO   襭. ᫥ 
         16 ⮢ ᥣ  ("examine  _nullarea")    
           "஡",  ⮡  ᫥騥 16 ⮢.  
         祭,    ࠢ 011, . १㧨
         ਪ ணࠬ, ⠭ ⬥⪨ ᮢ  塞
         祩 ,   믮. VIDEO 㤥 ⠭-
         ,  㪠 祩   祭.

       B.6. 祭 errno   

       騥 訡   ஢ ⥪ p -
   .    訡 ᮮ⢥ ⨯ 訡 ।-
    errno.h.

                                - 429 -


  EOK (0)
          訡

  EPERM (1)
           ࠧ襭

  ENOENT (2)
          ⠪ 䠩  ⠫

          䠩  ⠫    .

  ESRCH (3)
          ⠪  

  EINTR (4)
         ࢠ 饭  㭪樨

  EIO (5)
         訡 /뢮

  ENXIO (6)
          ⠪ ன⢠  

  E2BIG (7)
         ᮪ p㬥⮢ ᫨誮 让

         ᮪ p㬥⮢, ।  㭪 spawn, exec. .. 
         ⥬ 㭪,  ॢ蠥 ࠭祭,   QNX,
          ଠ । ॢ蠥 64 .

  ENOEXEC (8)
         訡 ଠ Exec

         ᯮ塞 䠩  ⨬ ଠ.

  EBADF (9)
         宩 ⥫ 䠩

         ⥫ 䠩   ⨬ 祭 ⥫ 䠩
            ᮮ⢥ ⮬ 䠩.

  ECHILD (10)
          ஦ ᮢ

                                - 430 -


  EAGAIN (11)
          㯥; ⠩ ᭮

  ENOMEM (12)
          筮 

         筮 㯭  ,  ⮡  믮  㪠
         .

  EACCES (13)
          ⪫

            ॡ㥬 ( p쭮) 㯠  䠩.

  EFAULT (14)
         宩 

  ENOTBLK (15)
         ॡ 筮 ன⢮

  EBUSY (16)
          

  EEXIST (17)
          

          ⪠  ᮧ  䠩   䫠 O_EXCL (᪫-
         ⥫),  䠩 㦥 .

  EXDEV (18)
         p쭠 

          ⪠ २뢠 䠩  p㣮 ன⢮.

  ENODEV (19)
          ⠪ ன⢠

  ENOTDIR (20)
          ⠫

  EISDIR (21)
          ⠫


                                - 431 -

  EINVAL (22)
         ⨬ p㬥

         ⨬ 祭  ।﫮    p㬥⮢
         㭪樨.

  ENFILE (23)
         誮 讥 ⢮ 䠩  ⥬

           FILE 室  ᯮ짮, ⠪  
         䠩   뢠.

  EMFILE (24)
         誮 讥 ⢮  䠩

            㯭 ⥫ 䠩, ⠪  
           䠩.

  ENOTTY (25)
         ᮮ⢥  ࠢ /뢮

  ETXTBSY (26)
         ⮢ 䠩 

  EFBIG (27)
          ᫨誮 让

  ENOSPC (28)
          ⠫   p⢥

          ⠫      ன⢥,  -
          砥   .

  ESPIPE (29)
         㤠 

  EROFS (30)
          ⥬  "⮫쪮  ⥭"

  EMLINK (31)
         誮  痢

  EPIPE (32)
         Hp襭  (p)

                                - 432 -


  EDOM (33)
         ⥬᪨ p㬥   func

         p㬥  ⥬᪮ 㭪樨     ⨬  
         㭪樨.

  ERANGE (34)
          ᫨誮 让

          ⥬᪮ 㭪樨        ।⠢
         (᫨誮 쪨,  ᫨誮 让 ).

  ENOMSG (35)
          ᮮ饭 ⥫쭮 ⨯

  EIDRM (36)
          䨪

  ECHRNG (37)
            

  EL2NSYNC (38)
         p 2  ᨭ஭஢

  EL3HLT (39)
         p 3 ⠭

  EL3RST (40)
         p 3 

  ELNRNG (41)
          裡  

  EUNATCH (42)
         ࠩ ⮪  ᮥ

  ENOCSI (43)
          㯭  CSI

  EL2HLT (44)
         ⠭ p 2


                                - 433 -
  EDEADLK (45)
          㯨 樨 pᮢ

         㯨  ᮢ      ⭮⥫쭮
         ஢ 䠩.

  ENOLCK (46)
          㯭 ஢ ()

  ELOOP (62)
         誮 讥  ⢮ ஢ ᨬ᪨ 痢 
         䨪ᮢ

  ENAMETOOLONG (78)
          䠩 ᫨誮 

       B.6.1 訡 饤㯭 ⥪

  ELIBACC (83)
          㯠  饤㯭 ⥪

  ELIBBAD (84)
         맮 ࠧ襭 饤㯭 ⥪

  ELIBSCN (85)
         ᥪ ".lib"  "a.out" pp襭

  ELIBMAX (86)
         ⪠   ᫨誮 訬 ᫮ ⥪

  ELIBEXEC (87)
         ⪠  饤㯭 ⥪

  ENOSYS (89)
         㭪  믮

  ENOTEMPTY (93)
         ⠫  ⮩

  EOPNOTSUPP (103)
           p

  ESTALE (122)
         ⥭樠쭮 ⠭ 訡 /뢮


                                - 434 -

       .6.2. Hp騩   pp뢠 /뢮

  EWOULDBLOCK (11)
          㤥 ஢

  EINPROGRESS (236)
          ⥯  ⢨

  EALREADY (16)
          㦥  ⢨

       .6.3.  IPC/Network - 訡 p㬥⮢

  ENOTSOCK (238)
          ᮪   ᮪

  EDESTADDRREQ (239)
         ॡ  p

  EMSGSIZE (240)
         饭 ᫨誮 

  EPROTOTYPE (241)
         ⮪ ࠢ쭮 ⨯  ᮪

  ENOPROTOOPT (242)
         ⮪  㯥

  EPROTONOSUPPORT (243)
         ⮪  p

  ESOCKTNOSUPPORT (244)
          ᮪  p

  EPFNOSUPPORT (246)
         ⢮ ⮪  p

  EAFNOSUPPORT (247)
         ⢮ ᮢ  p ᥬ⢮ ⮪

  EADDRINUSE (248)
          㦥  ᯮ짮


                                - 435 -
  EADDRNOTAVAIL (249)
            訢 

       .6.4.  IPC/Network - 訡 p権

  ENETDOWN (250)
          - ⪫祭 (down)

  ENETUNREACH (251)
          㯭

  ENETRESET (252)
         ⪠ ᮥ  p 

  ECONNABORTED (253)
         ਩ ४饭 ࠡ ᮥ, 맢 pp-
         묨 p稭

  ECONNRESET (254)
          ᮥ peer (p)

  ENOBUFS (255)
          㯭 ࠭⢠ 

  EISCONN (256)
          㦥 ᮥ

  ENOTCONN (257)
           ᮥ

  ESHUTDOWN (258)
           뫠 ᫥  ᮪

  ETOOMANYREFS (259)
         誮 讥 ⢮ 뫮:   p

  ETIMEDOUT (260)
          pp稫 p

  ECONNREFUSED (261)
          ⪠

  EHOSTDOWN (264)
           - ⪠


                                - 436 -

  EHOSTUNREACH (265)
           ()   

       B.6.5 ᪨  QNX

  ENOREMOTE (1000)
          믮  쭮 

  ENONDP (1001)
         㦥 ᫮ pp (8087...), ⮡ 믮

  EBADFSYS (1002)
         p㦥 p襭 䠩 ⥬

  EN032BIT (1003)
         ᯮ짮 32-pp來  楫 ᫠

  ENOVPE (1004)
         p業⠦  㯥  㠫쭮 

  ENONETQ (1005)
         p ⠭  p manager-to-net ௥ 㤠

  ENONETMAN (1006)
              㪠  㧫

  EVIDBUF2SML (1007)
          । ᫨誮 쪨 p

  EVIDBUF2BIG (1008)
          । ᫨誮 让 p

  EMORE (1009)
         H室  ᫠ ᮮ饭

  ECTRLTERM (1010)
         pp   ࠢ ନ

  ENOLIC (1011)
          業

       B.7. 饭  ⥬᪨ 訡 p 믮

       騥 訡  ஢ ⥬᪨ 㭪-

                                - 437 -

    ⥪ p 믮 .   訡 ᮮ⢥-
   ⨯ ᪫⥫ 権, ।  math.h  -
   㭪樥 matherr,  ⥬᪠ 訡 ந室.

  DOMAIN
         訡 .
         p㬥  㭪樨 -   p 㭪樨.

  OVERFLOW
         訡 ९.
          㭪樨 ᫨誮 让.

  PLOSS
         筠   祭
         ந諠 筠  祭 .

  SING
         p p㬥
         p㬥 㭪樨  宥 祭 (pp, log(0.0)).

  TLOSS
           祭
         p諠   祭. p㬥 㭪樨  ᫨-
          让, ⮡ ந 稬 १.

  UNDERFLOW
         訡 
          ᫨誮 쪨  ।⠢.

       C. WATCOM C ++ ᪨ 饭

        p  ᯨ᮪    ।०   ᮮ饭 
  訡, ந p WATCOM C++. ᪨ -
  饭 뤠  室 ࠭樨  믮.  饭,  -
  ᫥  ᫥ ࠧ,  ᮤঠ 뫪  %N,  %S, %T, %s,
  %d  %u.   ।⠢ ப,   p
  WATCOM C++ ⠪,  ⮡  ᮮ饭  訡  . %d
   %u ।⠢ ப ;  %N,  %  S, % T  % s ப, 筮
  ᨬ쭮 .

       ᬮ ᫥ ணࠬ, "err.cpp", ᮤঠ 訡.

  # include <stdio.h>


                                - 438 -

  void main()
    {
      int 1;
      float 1;

      i = 383;
      x =13143.0;
      printf("Integer value is %d\n", i);
      printf("Floatinq-point value is %f\n", x);
    }

       ᫨   㥬  ணࠬ,  ᫥騥 ᮮ饭 
    p

  File: err.cpp
  (6,12): Error! E042:symbol 'it' already defined
  'i' declared at: (5,9)
  (9,5): Error! E029: symbol 'x' has not been declared
  err.cpp: 12 lines, included 174, no warnings, 2 errors

  ᪨ ᮮ饭   ᫥饩 ଠ樨:

       1.  㥬 䠩,

       2.  ப  ⮫ ப, ᮤঠ饩 訡 ( 㣫
          ᪮),

       3.  ᮮ饭, 

       4.  騩 ࠪ 訡.

          ਬ,  p  訡  ந諠  ப 6 䠩
  err.cpp.   訡 042 ( ᮮ⢥騬 ) p.
   訡 ந諠  ப 9 䠩 err.cpp.   訡 -
  p 029 ( ᮮ⢥騬 ).
       騥 ࠧ ᮤঠ  ᯨ᮪ ⠪ ᮮ饭.  -
  饭 Run-time (ᮮ饭,  ⮡ࠦ   室  믮)  
    ᮮ饭, 易  .

        ᮮ饭 ᮤঠ 뫪  ARM.  "஢ p㪮-
  ⢮  C ++." ᠭ Margaret A. Ellis  Bjarne Stroustrup
    Addison-Wesley (ISBN 0-201-51459-1).

       .1. ᪨ ᮮ饭

                                - 439 -


  000       internal compiler error
         ᫨  ᮮ饭 ,   p -
         ।⢥  p WATCOM.

  001       assignment of constant found in boolean expression
         祭 ⠭ 뫮 㦥    㫥  ࠦ.
         ਬ: "if(var = 0)". H ⭮,   ᯮ-
          "=="  ஢  ࠢ⢮.

  002       constant out of range,- truncated
          ᮮ饭  뤠,  ᫨  ⠭   ।⠢-
           32 pp鸞  ᫨ ⠭ -    -
         ⨬  祭,     祭  ६-
         .

         ਬ.   int a = 12345678901234567890;

  003       missing return value
         㭪 뫠    㭪樮 ⨯ ,  
               㭪樨.   -
             ⨯   void.

          ਬ:

              int foo (int a)
              {
                  int b = a + a;
              }

          ᮮ饭 㤥 뤠   㭪樨.

  004       base class 'TOT' does not have a virtual destructor
         㠫 pp          ᭮묨
         ᠬ.  p 㦨,  ᭮   
         㠫쭮 pp,  ⠪  㤠 㪠⥫ p-
           ᭮   㤥 㭪樮஢  ࠢ쭮
           ⥫⢠.

          ਬ:

               struct Base {
                   -Base();
               };

                                - 440 -

               struct Derived : Base {
                   virtual -Derived();
               };

         筮 ⠥ 襩 ࠪ⨪  ppp  -
           㠫  pp   ,  ᯮ㥬
          ᭮  ᮢ,   㠫 p-
         p.

  005       pointer or reference truncated
         ࠦ ᮤন ।  祭  㪠⥫    㣮
         祭  㪠⥫  襣 ࠧ.    뢠
         ᯥ䨪p _near  _far (  ,    
         㪠⥫      㪠⥫).  ⥫ 㭪権 
         ⠪  ࠧ ⫨  㪠⥫     ।-
           .   ᮮ饭 㪠뢠,  -
          ଠ p, ⠪  ஢  ⥫쭮.

          ਬ:

               extern int __far *foo();
               int __far *p_far = foo();
               int __near *p_near = p_far; // 祭

  006       syntax error; probable cause : missing ','
         p 襫  祭  ࠦ  ( ) 
         室 ᨭ⠪᪮ ,    த p.
         p 㦨,      த p, ᫨
          p⢮ 窠  ⮩,  ⠪   ⢮-
          窠  ⮩.

  007       "&array " tray not produce intended result
          p "&ᨢ" ⫨祭  ⨯ "ᨢ".  ।-
         ,      char buffer[80].  ࠦ-
          (&buffer + 3) 㤥 業  (buffer + 3 * sizeof
         (buffer)),   ⭮ (buffer + 3 * 80),   (buffer
         + 3 * 1),   設⢮ .   "&"
          ॡ  祭  ᨢ.

  008     returning address  of  function  argument  or  of  auto or
          register variable
          ।०  筮  㪠뢠    쥧  訡
         ணࠬ஢.   㭪 p蠥 , -
           ⥪   ६, ᢮.  -

                                - 441 -

          㤥 p뢠 쭥訬 饭ﬨ   㭪樨
         - ࢨ묨 ணࠬ ⭮ 뢠.  -
         ⥫쭮,  ,   p 㪠뢠 祭  ,
          ࠧ ०, 祬  ணࠬ  -
          뫠    ᪮p .

          ਬ:

               int *foo()
               {
                   int k =123;
                   return &k;        // k   p
               }

  009     '##' tokens  did  not  generate  a  single   token   (rest
          discarded)
           ᥬ (થ)  ⠢  ,  ᯮ
         ##,    ନ஢ ப,   -
           筠 ᥬ (થ).

  010       asm directive ignored
         ४⨢ asm (ਬ, asm ("mov r0,1");) - -७ᨬ
         .  p WATCOM C++ ࠡ뢠  ४-
         ⨢ asm  p.

  011       all members are private
          ᮮ饭 ।० ணࠬ,    㤥 ᯮ-
         ᮡ ᯮ짮 ᮤঠ ,  ⮬   p-
             訡  (  ,  饭  
          private).

          ਬ. -

               class Private {
                  int a;
                  Private ();
                  ~Private ();
                  Private (const Private&);
               };

  012       template argument cannot be type '%T'
         p㬥 蠡    த ⨯ (ਬ,  tem-
         piate < class T>), 㪠⥫,  楫᫥ ⨯.  -
          ॡ  ࠦ,   ஢  -

                                - 442 -

          樨.

  013       unreachable code
              㤥  믮,  ⮬  
               ணࠬ  p饣  ࠢ
         ⮬ .

          ਬ:

                void fro(int *p)
             {
               *p = 4;
               return;
               *p = 6;
             }

          ᫥  return   ⨣.

  014        no reference to symbol '%S'
         H 뫮 뫮   ६.    -
         ६  㤠.  ᫨ ६  -  p㬥  
         㭪樨,  饭  㭪樨  ⠪  祭
          ⮣ p㬥 㤠.

           ,    ⨬  稭  
         ࠭  ⮩ ६.    । 뤠
         ⮣ ᮮ饭 १ ᯮ짮 #pragma off  (뢠-
         ),   ,   p뢠 -
           ᥡ.

  015        nested comment found in comment started on line %u
          ᪥  , p p㦨 "/ *" 
         砫 㣮 .   ਨ  -
           ANSI C. ,  "* /"  ।饣
         .

  016        template argument list cannot be empty
         ⮩ ᯨ᮪  ࠬ஢ 蠡 㤥 ਢ  蠡,
           । ⮫쪮    㭪.

  017        label '%s' has not been referenced by a goto
         祭 ⪠  맢  ᯮ.  ।०-
           ᭮ ஢.


                                - 443 -

         ਬ:

                int foo(int a, int b)
                {
                un_refed:
                    return a + b;
                }

  018        no reference to anonymous union member '%S'
              童   ᭮ 㤠
          类 䥪.

  019         BREAK may only appear in a for, do,  while,  or  switch
            statement
          break    饭     ணࠬ.
           ய⨫ 뢠 䨣 ᪮ "{" 
         pp while, do, switch  for.

         ਬ:
                     int foo(int a, int b)
                     {
                         break;             //  p
                         return a+b;
                     }

  020         CASE may only appear in a switch statement
         ⪠ case 뫠     case.

         ਬ:
                 int foo(int a, int b)
                 {
                     case 4:            //  p
                     return a+b;
                         }

  021       CONTINUE may   only  appear  in  a  for,  do,  or  while
            statement
          continue      pp while,  for
          do.     ᫨誮  "{"  pp
         while, do  for  ஬ continue.

         ਬ:
                 int foo(int a, int b)
                 {

                                - 444 -

                     continue;         //  p
                     return a+b;
                 }

  022         DEFAULT may only appear in a switch statement
         ⪠   㬮砭 뫠     switch.
            ᫨誮  "}"  砫 switch  
         ⪮ default.

         ਬ:
               int foo(int a, int b)
               {
               default:          //  p
               return a+b;
               }

  023       misplaced '11 or missing earlier '11'
         ⥫쭠 "}"  뫠  ,    ᮣ 
          ࠭ "{"

  024       misplaced #elif directive
         ४⨢ #elif       ppp 㯯
         #if  । ४⨢ #else, ᫨ ᫥ ।⠢.

         ਬ:
               int a;
               #else
               int c;
               #elif IN_IF
               int b;
               #endif

         #else, #elif,  #endif  饭 ⮬   
          #if ᮮ⢥饩 .

  025       misplaced #else directive
         ४⨢ #else      ppp  p㯯
         #if    ᫥  ᥬ ४⨢ #elif,  ᫨  -
         .

          ਬ:
                  int a;
                  #else
                  int c;

                                - 445 -

                  #elif IN_IF
                  int b;
                  #endif

         pp #else, #elif  #endif  饭, ⮬  
           #if ᮮ⢥饣 .

  026       misplaced #endif directive
         ४⨢ ९pp #endif 뫠   ᮮ⢥-
         饩 ४⨢ #if.      #endif   -
         ⨫ ४⨢ #if ࠭  䠩.

         ਬ:
               int a;
               #else
               int c;
               #elif IN_IF
               int b;
               #endif

         pp #else, #elif  #endif  饭, ⮬  
          ᮮ⢥饣  #if.

  027       only one DEFAULT per switch statement is allowed
              祬   default  
         ४⥫.

         ਬ:
               int translate( int a )
               {
                   switch( a )  {
                   case 1 :
                       a = 8;
                       break;
                   default :
                       a = 9;
                       break;
                   default :      //  p
                       a = 10;
                       break;
                  }
                  return a;
                  }


                                - 446 -

  028       expecting '%s" but found'%s'
         訡 ᨭ⠪ 뫠 㦥.  ᥬ,  ⮡ࠦ 
         ᮮ饭,    । 訡.

  029       symbol '%N' has not been declared
         p 襫 ᨬ,     ।⥫쭮 -
         .    뢠  㪢  -㣮  祬
         ,   㦭  䠩  ᮤঠ騩
         㦭 .

         ਬ:   int a = b;  //  b   

  030       left expression must be a function or a function pointer
         p 襫 ࠦ, ஥ 룫廊  -
         饭  㭪樨,   ।  㭪.

         ਬ:
               int a;
               int b = a (12);

  031       operand must be an 'lvalue'
         ࠭ ᫥    "="   ६  祩-
          ,  p   祭.

         ਬ:
               void foo (int a)
               {
                      (a + 1) = 7;
                      int b = ++ (a + 6) ;
                }

              㭪樨 訡,  ⠪  "騥
         ࠦ" ("lvalues")  ⠬     -
         .

  032       label '%s' already defined
          ⪨  㭪樨   㭨.

         ਬ:
               void bar(int *p)
               {
               label:
                   *p = 0;
               label:

                                - 447 -

                   return;
               }

          ⪠ 饭.

  033       label '%s' is not defined in function
          gata 뫠  ,    ।  
         㭪樨.   室   ஢  
         㪢 ⪨  㭪樨.

         ਬ:
               void bar(int *p)
               {
                   *p = 0;
                   goto label;
               }

         ⪠ 뢠  goto  ।.

  034       dimension cannot be zero
         ୮ ᨢ   ⫨筮  .

         ਬ:
               int array[0];         //   pp蠥

  035       dimension cannot be negative
         ୮ ᨢ   ⥫쭠.
                                - 448 -

         ਬ:

               int array[-1];      //   pp蠥

  036       dimensions of multi-dimension array must be specified
          ࠧ  ᨢ ⭮ pp  ।-
         . ⢥ ᪫祭 - ࢠ ࠧ୮,  -
             "[]".

         ਬ:   int array [ ] [ ] ;     //   pp蠥

  037       invalid storage class for function
         ᫨     㭪樨,     static
          extern.

         ਬ:
               auto void foo ()
               {
               }

  038       expression must be 'pointer to ...'
         ⪠   ࠧ묥뢠  (*) ६  ࠦ-
         , ஥    㪠⥫.

         ਬ:
               int a;
               int b = *a;

  039       cannot take address a far rvalue
            ⮫쪮  祩   ६.

         ਬ:
               char c;
               char *p1 = & & c;       //   pp蠥
               char *p2 = & (c+1);    //    pp蠥

  040       expression for '.' must be a class, struct or union
         p ⮫  p殬 "ࠦ"".""field_name",
          "ࠦ"  ⨯ , pp  ꥤ.

         ਬ:
               struct S
               {
                   int a;

                                - 449 -

               } ;
               int &fun () ;
               int a = fun (),a;

  041      expression for '- >' must be pointer to class,  struct  or
           union
         p ⮫  p殬 "ࠦ""-  >""field_na-
         me"   ࠦ  㪠⥫  ⨯ ,  pp 
         ꥤ.

         ਬ:
               structs
               {
                   int a;
               } ;
               int *fun();
               int a = fun()->a;

  042       symbol '%S' already defined
          ᨬ 㦥 ।.

         ਬ:
               chara = 2;
               chara = 2;     //   pp襭

  043       static function '%S' has not been defined
         H ⨯  ᪮ 㭪樨,   । 
         ᪮ 㭪樨  뫮   䠩.

         ਬ:
               static int fun(void);
               int k = fun();
               //   "fun"   p   pp

  044       expecting label for goto statement
          goto ॡ  ⪨.

         ਬ:
               int fun (void)
               {
                   goto;
               }


                                - 450 -
  045       duplicate case value '%s' found
          祭   case   㭨.

         ਬ:
               int fun(int a)
               {
                   switch(a) {
                     case 1:
                       return 7;
                     case 2:
                       return 9;
                     case 1:          //  㡫  pp
                       return 7;
                  }
                  return 79;
               }

  046       bit-field width is too large
         ᨬ쭠 pp襭  ਭ  ⮢    16    
         16-pp來 p  32   32-pp來  -
         p.

         ਬ:
               struct S
               {
                   unsigned bit-field :48;   //  ᫨誮 
               };

  047       width of a named bit-field must not be zero
          ⮢     ࠩ    
           ࠧ.

         ਬ:
               struct S
               {
                   unsigned bit-field :10;
                   unsigned :0;      //  p쭮
                   unsigned
                   unsigned h Sol    //  訡,  
               };

  048       bit-field width must be positive
             ⥫ ਭ ⮢ .


                                - 451 -
         ਬ:
               struct S
               {
                   unsigned bit-field :-10;    //  訡
               };

  049       bit-field base type must be an integral type
          pp襭  ⮢      -
          char, short  int.

         ਬ:
               struct S
               {
                   float bit-field : 10;    //   楫
               };

  050       subscript on non-array
           ࠭ "[]"   ᨢ  㪠⥫.

         ਬ:
               int array [10];
               int i1 = array[0];    // p쭮
               int i2 = 0[array];    //  ⮦
               int i3 = 0[1];        //  p

  051       incomplete comment
         p  室 * ⬥騩  .

  052       argument for # must be a macro parm
         p㬥  p  "#"     -
         ࠬ஬.

  053       unknown preprocessing directive '#%s'
         ⭠ ४⨢ ppp. ஢   -
         .

         ਬ:     #i-goofed     //   p

  054       invalid #include directive
           訡 ᨭ⠪ ⮫㫨  ४⨢ #include.

         ਬ:     #include        //   㪠  䠩

  055       not enough parameters given for macro
            ᯥ稫 筮 ⢮ ࠬ஢  -

                                - 452 -

          ப.

         ਬ:
               #define mac (a, b) a+b
               int i= mac(123);        //  㦭 2 pp

  056       not expecting a return value
          㭪   void 㭪.  -
          ,   ⨯ 㭪樨.

         ਬ:
               void fun()
               {
                   return 14;  //   p頥 祭
               }

  057       cannot take address of a bit-field
          쪨 㥬  - .    
          ⮢ .

         ਬ:
               struct S
               {   int bits :6;'
                   int bitfield :10;
               };
               S var;
               void* p = &var,bitfield;    //  p

  058       expression must be constant
         p  p-⠭.   ᮮ饭 
         뢮  室 ᪮ 樠樨, ᫨  ஡
         樠஢ 㪠⥫ ⨯ ࠦ .

  059       unable to open '%s'
          㪠  ४⨢ #include   .  ⮢-
            㪢,    䠩 ᠭ ࠢ쭮,   
         ᮮ⢥騩   䠩 祭   ᯨ᮪  -
         ⮢,  ।   p⨢ INCLUDE  ६ p
         INCLUDE   樨 "i="   ப.

  060       too many parameters given for macro '%s'
            ᫨誮  讥  ⢮ ࠬ஢  
         ப.


                                - 453 -

         ਬ:
               # define mac (a,b) a+b
               int i = mac (1,2,3);     // 㦭 ⮫쪮 2 pp

  061       cannot use _based or _far16 pointers in this context
         ᯮ짮 㪠⥫ _based  _far16 頥  -
          throw   catch.

         ਬ:
               extern int __based(__segname("myseg")) *pi;
               void bad()
               {
                   try {
                       throw pi;
                   } catch(int __far16 *p16) {
                       *p16 = 87;
                   }
               {

          ࠦ  throw  ⠪     catch 뢠 뢮
         ⮩ 訡.

  062       only one type is allowed in declaration specifiers
         쪮   ⨯  pp蠥    ࢮ  .
         筠 稭 ⮣ ᮮ饭 -  窠   -
         ⮩ (';') ᫥ । .

         ਬ:
               class C
               {
               public:
                   C();
               }                        // 㦭 ";"

               int foo ()  {return 7;}

  063       out of memory
         p 襫  , ⮡ ࠭ ଠ ⭮-
         ⥫쭮 p㥬 䠩. ஡ 㬥 ᫮ -
           / ࠧ p㥬 䠩.   -
         砩 㦭  (header) 䠩.

  064       invalid character constant
          ᮮ饭  뤠  p ࠢ쭮 ନ஢ ᨬ-

                                - 454 -

         쭮 ⠭.

         ਬ:     char c = '12345';

  065       taking address of variable with storage class 'register'
             ॣ஢ ६  C ++ (  
         ANSI C).  ᫨   ⮣,   筨 㤥
         ஢, ᯮ p ,   -
           register  auto.

         ਬ:
               extern int foo(char*);
               int bar()
               {
                   register char c = 'c';
                   return foo(&c);
               }

  066       'delete' expression size is not allowed
         C ++    ࠧ,  ⮬  ࠧ  㤠塞 ࠦ
           ॡ  ࠢ쭮 ࠭ ᨢ.

  067       ending " missing for string literal
         p   室   ,  ⮡ -
          p ࠫ.

         ਬ:     char *a = "no_ending_quote;

  068       invalid option '%s'
            ᯮ p.

  069       invalid optimization option '%s'
           - ⭠  ⨬樨.

  070       invalid memory model '%s'
                "ms",  "mm",  "mc",
         "ml",  "mh" or "mf",  ᮮ⢥   Small,
         Medium, Compact, Large, Huge  Flat.

  071       expression must be integral
          ࠦ ॡ.

         ਬ:
               int foo (int a, float b, int *p)

                                - 455 -

               {
                   switch(a) {
                     case 1.3:        //  楫
                       return p[b];   //   楫
                     case 2:
                       b <<= 2;       // ᤢ  ⮫쪮 楫
                     default:
                       return b;
                  }
               }

  072       expression must be arithmetic.
         䬥᪨ 樨, ⨯ "/"  " * ", ॡ 䬥-
         ᪨ ࠭ p 砥,   뫠 p-
         p㦥  ᫨ ࠭   pp   䬥-
         ᪨ ࠭.

         ਬ:
               class C
               {
               public:
                   int c;
               };
               C cv;
               int i= cv / 2;

  073       statement required after label
         । 몠 C ॡ  ᫥ ⪨.  
         ᯮ짮 null ,   ⮨ ⮫쪮  窨
          ⮩ (";").

         ਬ:
               extern int bar(int);
               void foo(int a)
               {
                   if() goto ending;
                   bar(a);
               ending:                  // 㦥 pp
               following
               }

  074       statement required after 'do'
          ॡ  祢묨 ᫮ while  do.


                                - 456 -

  075       statement required after 'case'
         । 몠  C ॡ  ᫥ ⪨ case.  
          ᯮ짮  null,  ⮨ ⮫쪮 
         窨  ⮩ (";")."

         ਬ:
               int foo(int a)
               {
                   switch(a) {
                     default:
                       return 7;
                     case 1:          //  㦥 pp
                   }
                   return 18;
               }

  076       statement required after 'default'
         । 몠 C ॡ  ᫥ ⪨  㬮-
         .    ᯮ짮  null,   ⮨
         ⮫쪮  窨  ⮩ (";").

         ਬ:
               int foo(int a)
               {
                   switch(a) {
                     case 7:
                       return 7;
                     default:      //  㦥 pp
                   }
                   return 18;
               }

  077       missing matching #endif directive
          ய⨫ #endif,  ⮡  #ifdef, #if  #ifn-
         def ४⨢ ९pp ࠡ⪨.

         ਬ:
               #if 1
               int a;
               // 㦭 #endif

  078       invalid macro definition, missing)
         ࠢ 㣫 ᪮ ")" ॡ  ⠪  ம।-
         .

                                - 457 -


         ਬ:     #define bad_mac( a, b

  079       missing ) for expansion of'%s' macro
         p ⮫  殬 䠩  ᮡp  p㬥-
         ⮢   㭪樨 ப. ࠢ 㣫 ᪮
         ")" ॡ,  ⮡ ⬥  ᯨ᪠  p㬥⮢  
          ப.

         ਬ:
               #define mac(a, b) a+b
               int d = mac(1, 2

  080       %s
          -  ᮮ饭  짮⥫  ᣥ஢   ४⨢
         ।⥫쭮 ࠡ⪨ #error.

         ਬ:     #error my very own error message

  081       cannot define an array of functions
            ᨢ 㪠⥫  㭪,     ᨢ
         㭪権.

         ਬ:
               typedef int TD(float);
               TD array [12];

  082       function cannot return an array
         㭪     ᨢ.      
         㪠⥫  ᨢ.

         ਬ:
               typedef int ARR[10];
               ARR fun(float);

  083       function cannot return a function
             㭪.    㪠-
         ⥫  㭪樨.

         ਬ;
               typedef int TD();
               TD fun(float);


                                - 458 -
  084       function templates can only have type arguments
         p㬥-蠡 㭪樨   ⮫쪮 த ⨯  (-
         ਬ, template < class T>).  - ࠭祭  몥 C++,
         ஥   p  ⮬᪨  ⠭
         㭪樨, 室 ⮫쪮  ⨯ p㬥⮢ 饭.

  085       maximum class size has been exceeded
         16-pp來 p ࠭稢  ࠧ  pp  
         ꥤ 稭 64  ⠪, ⮡ p  ।-
         ⠢ ᬥ饭 童  16-pp來 ॣ.    訡
         ⠪  ந室 ᫨ ࠧ  p蠥 ࠧ -
          ᫠  .

         ਬ:
               struct S
               {
                   char arrl [0xfffe];
                   char arr2 [xfffe];
                   char arr3[0xfffe];
                   char arr4 [0xfffffffe];
               };

  086       definition of   macro   '%s'  not  identical  to  previous
            definition
         ᫨ ப ।  祬  ࠧ,  ।-
            .  ᫨    ८।
         ப, ⮡  p㣮 ।,   #un-
         def  ०, 祬 ।   ।.

         ਬ:
               #define CON 123
               #define CON 124 // ⫨筮  p饣

  087       cannot #undef   __LINE__,  __FILE__,  __DATE__,  __TIME__,
           __STDC__ or 'defined'
         樠 ப __LINE__, __FILE__, __DATE__, __TI-
         ME__  __STDC__  䨪 "defined",   㤠-
          ४⨢ #undef.

         ਬ:
               #undef __LINE__
               #undef __FILE__
               #undef __DATE__
               #undef __TIME__
               #undef __STDC__

                                - 459 -


  088       cannot #define the name 'defined'
            । ப 뢠 "defined".

         ਬ:     #define defined 896

  089       ## must not be at start or end of replacement tokens
            ᥬ      p  pp "##"
         (⠢ ᥬ).

         ਬ:     #define badmac (a, b) ## a ## b

  090       invalid floating-point constant
          冷  ⠭  饩 ⮩  ନ஢
         ࠢ쭮.

         ਬ:     float f = 123.9E+Q;

  091       'sizeof' is not allowed for a bit-field
          쪨 ꥪ pp p   p訢
         - char.

         ਬ:
               struct S
               { int a;
                 int b :10;
               } v;
               int k = sizeof (v.b) ;

  092       function '%S' has internal linkage because it is 'inline'
         ஥ 㭪       㭪  ex-
         tern.    -  ⮬ 䠪    讥
         ⢮ 맮 ⮩  ᠬ 㭪樨  ࠧ .
         p   ࠭஢  ⮫쪮   -
          ᯮ஢ "p"  㭪樨.

         ਬ:     extern inline fun() (return 19;)

  093       must use 'va_start' macro inside  function  with  variable
          arguments
         ப va-start ᯮ  ⠭  㯠  
         ࠬࠬ   㭪樨,    ६ ᫮ -
         ஢.  㭪 ।    ६  ᫮
         ࠬ஢,  ᫥ ࠬ  㭪樨  "...".

                                - 460 -


         ਬ:     #include <stdarg.h>
               int foo(int a, int b)
               {
                   va-list args;
                   va-start(args, a);
                   va-end(args);
                   return b;
               }

  094       ***FATAL** * %s
         ⠫쭠 訡 뫠 㦥  室 樨 ꥪ⭮
         .  訡 ⮡ࠦ  ᮮ饭.

  095       internal compiler error %d
          訡  ⮫㫨  p.  ,  ᮮ
         뢮 ७  訡 p   㣨
           ஡  ⭮⥫쭮  㥬 ணࠬ
         p WATCOM, ⮡   p ஡.

  096       argument number %d - invalid register in #pragma
          ॣ   ᮤp 祭  ⮣ -
         ࠬ.

  097       procedure '%s' has invalid return register in #pragma
          ॣ   ᮮ⢥ ࠧ १
         頥 㭪樥.

  098       illegal register modifed by '%s' #pragma
          16-pp來 p WATCOM C/C++: pp BP, CS,
         DS  SS       . p
         BP, CS  SS       .

          32-pp來  p  WATCOM C/C++:  pp BP,
         CS,  DS, S  SS      ᪮ -
         .  p BP, CS, DS  SS     
          .  p BP,  CS  SS     
           .

  099       file must contain at least one external definition
          䠩  ᮤঠ  ࠩ   
         ꥪ, (६   㭪).  ᮮ饭 뤠-
          ⮫쪮  p ண ANSI (-za).


                                - 461 -

  100       out of macro space
         p 襫   p ࠭ ம।.

  101       keyboard interrupt detected
         ஢ ࢠ Ctrl/C  Ctrl/Break.

  102       duplicate macro parameter '%s'
         ࠬ, ।  ம।,   㭨-
         .

         ਬ:     #define badmac (a, b, a) a ## b

  103       unable to open work file: error code = %d
         p ஡  뢠    ࠡ稩  䠩  
         "_wrkN_.tmp "  N -  0  9.   ᮮ饭 㤥 -
         , ᫨   䠩 㦥 .

  104       write error on work file : error code = %d
          訡 ⮫㫨 p  ଠ樨  ࠡ稩  䠩.
           p.

  105       read error on work file : error code = %d
         訡 ⥭ ଠ樨  ࠡ祣 䠩.

  106       token too long; truncated
         ᥬ    510 ⮢  .

  107       filename required on command line
          p㥬  䠩    㪠뢠    
         ப.

  108       command line contains more than one file to compile
            祬       p
         䠩,  㪠   ப. p  -
         ஢ ⮫쪮  䠩 ६.    ᯮ-
           ணࠬ -pp "p  " cc,
         ⮡ ஢ ᪮쪮 䠩  .

  109       virtual member functions are not allowed in an union
         쪮 ꥤ (union)  ᯮ짮  ᮧ
         ૥  .  p  㠫쭮  ଠ樨
         㭪権  (  ᯮᮡ)    믮 ᫨
          ᯮ ૥.


                                - 462 -

         ਬ:
               struct S1{int f(int);};
               struct S2{int f(int);};
               union un { S1 s1;
                          S2 s2; .
                          virtual int vf(int);
                        };

  110       union cannot be used as a base class
          ࠭祭  ।頥  pp⮢  C++  ⮣,
         ⮡ pᬠp ꥤ (union)    -
         樨 (ନ஢ ).  ᫨  室,  -
         㫨p ꥤ     ⮣  䥪.

          ਬ:
               union U { int a; int b; };
               class S : public U { int s; };

  111       union cannot have a base class
          ࠭祭  ।頥  pp⮢  C++  ⮣,
           pᬠp ꥤ (union)   -
         樨 (ନ஢ ).  ᫨  室,  -
         㫨p ꥤ       ᫥  ᭮
           筮.

          ਬ:
               class S { public: int s; };
               union U : public S { int a; int b; };

  112 cannot inherit an undefined base class
         ॡ   ⨯  ""      ,
           ᯮ ᫥ ⮬,    ᫥
               ᮤঠ    ᭮
         ᮢ.

         ਬ:
               class Undefined;
               class C : public Undefined {
                   int c;
               };

  113       a repeated direct base class will cause ambiguities
           p饭  .   ࠭祭 -
          p ᪥ 訡 ணࠬ஢. ७ ᭮-

                                - 463 -

               㣮   ᫨  ७
         ॡ.

         ਬ:
               class Dup
               {
                   int d;
               };
               class C : public Dup, public Dup
               {
                   int c;
               };

  114       templates may only be declared in file scope
          饥 ६, 蠡  ⮫쪮    -
            (⥪) 䠩.   ⮥ ࠭祭
         롨ࠫ   襩 ᢮   訬  -
         ࠭祭ﬨ.

  115       linkages may only be declared in file scope
         騩 筨 訡  C p室  ᯮ짮 -
         ⨯  㭪樨.   ࠭祭 ⠥ ।-
          ⠪ 訡.

  116       unknown linkage '%s'
         쪮  "C"  "C ++" ᯥ稢 WATCOM C ++

         ਬ:     extern "APL" void AplFunc ( int* ) ;

  117       too many storage class specifiers
          ᮮ饭 - १  㡫஢  ।饣  
              p쭮  .   
          ⮫쪮   ᫥ ᮢ :  extern, sta-
         tic, auto, register  typedef

         ਬ:     extern typedef int (*fn) ( void ) ;

  118       a nameless declaration is not allowed
           ᯮ짮 ⨯  .

         ਬ:     static int;

  119       illegal combination of type specifiers
         ࠢ ᪠ ⨯ p㦥.   p﫮 -

                                - 464 -

         祢 ᫮ "scalar"  ⠪  饭.

         ਬ:
               short short x;
               short long y;

  120 illegal combination of type qualifiers
         p㦥 ७ ᯥ䨪 ⨯.  -
         p  ஢ ७  ண      -
         ࠢ .

         ਬ:
               const const x;
               struct S {
                   int virtual virtual fn();
               };

  121       syntax error
         p ++ ᯮᮡ ஢  ⥪  稭-
         騩  ⮬ ,     ᮮ饭.   C++
         筮 ᫮ ⠪,   p 㤭 ࠢ 
         訡 ᠬ⥫쭮.

  122       parser stack corrupted
         ⠪᪨  ++ 㦨 ७  ஡-
         ,   筮 㪠뢠  ஡ p. -
         , ᮮ  ।⢥ p WATCOM.

  123       template declarations cannot be nested within each other
          饥 ६, 蠡    ⮫쪮  -
           (⥪) 䠩.  ஬  ⮣,  
         蠡  稢 ०, 祬 㣮 蠡 
          .

  124       expression is too complicated
         ࠦ ᮤন  ᫨誮  讥 ⢮ ஢ -
          㣫 ᪮.  ࠦ    
         ࠦ.

  125       invalid redefinition of the typedef name '%S'
         ८।  typedef pp蠥, ⮫쪮 ᫨  -
         ८।  typedef  ᥡ.  㣮 ८।-
          饭.   㤠 p p typedef.


                                - 465 -

         ਬ:
               typedef int TD;
               typedef float TD;      // p

  126       class '%T' has already been defined
          ᮮ饭  筮  ᫥  ।  ᮢ 
         ⮩  ᠬ  .  饭  ᨬ 
         ⮣   । .

         ਬ:
               class C {
               };
               class C {
               };

  127       'sizeof' is not allowed for an undefined type
         ᫨ ⨯  ।,  p     ᪮쪮
          让.

         ਬ:
               class C;
               int x = sizeof ( C ) ;

  128       initializer for variable '%S' may not execute
         ६   樠஢,   믮-
           樨, 祭  ᮮ饭.  C++ 뢠-
           ࠭祭, ⮡ । ᯮ짮 -
         樠஢ ६.

         ਬ:
               int foo ( int a )
               {
                   switch ( a ) {
                     case 1 :
                       int b = 2;
                       return b;
                     default :          // b p᪠
                       return b + 5;
                     }
               }

  129       division by zero in a constant expression
             pp蠥  ࠦ - ⠭. -
         祭 ࠦ   ᯮ짮  ⮩ 訡.

                                - 466 -


         ਬ:
               int foo ( int a )
               {
                   switch ( a ) {
                     case 4 / 0 :     // p
                       return a;
                   }
                   return a + 2;
               }

  130       arithmetic overflow in a constant expression
           楫 祭       ।⠢.
         祭 ࠦ   ᯮ짮  ⮩ 訡.

         ਬ:
               int foo( int a )
               {
                   switch( a ) {
                     case 0x7FFF * 0x7FFF * 0x7FFF:  // p
                       return a;
                   }
                   return a + 2;
               }

  131       not enough memory to fully optimize procedure '%s'
          楤      ⨬஢  
         㯭 ꥬ . ஢ , , 㤥
         믮 ࠢ쭮.    ᮮ饭    ଠ樮
         (.e: 㯠  ).

  132       not enough memory to maintain full peephole
         । ⨬樨        ᯮᮡ
         ࠭        祭 ⨬樨.  
         㭪樨  㠫쭮 ⨬஢   ⨬
           㤥 ᯮᮡ ᮢ⭮ ᯮ짮  㭪権,  ᫨
          ᮮ饭 . ஢  㤥, ,
         믮 ࠢ쭮.  ᮮ饭  ଠ樮 (
         , 㯠  ).

  133       too many errors: compilation aborted.
         WATCOM C ++ p ⠭ ࠭祭 ᫠ 뤠-
          ᮮ饭  訡. ᫨ ᫮ ⠪ ᮮ饭 -
         ⨣  㯮⮣ ࠭祭 㯮⮥ ᮮ饭 -

                                - 467 -

         .  ࠭祭   १  -
          ப "ie".

  134       too many parm sets
         ⥫쭮 ᠭ । ࠬ஢ 뫮    
         ⥪   ᯮ⥫쭮  ᥢp  (aux  pragma).
         쪮  ᠭ । ࠬ஢ ᪠.


  135    'friend', 'virtual' or 'inline' modifiers may only be used
          on function
          ᮮ饭  㪠뢠    ,    ஡ 
         ࠭ ꥪ  ६ inline.  ᯥ䨪-
           ᯮ짮 ⮫쪮  㭪樮 
          ।.

  136       more than one calling convention has been specified .
         㭪        祬  䨪 #pragma
         ⭮騩  .  ꥤ ᥢਨ      
         ਬ    ࠧ.

  137       pure member function constant must be '0'
         ⠭     "0"  ⮣, ⮡ -
         p WATCOM C++ ਭ  pure (⮩) 㠫쭮
         㭪樨-童 (member).  ᮮ饭 ⠪ , -
           ⪠ 樠  । .
          砥 ᪨ p殢 ,  樠  
          믮  । .

         ਬ:
               class C
               {
               public:
                    virtual int goop( void ) = 91; //   0
               for pure
               };

  138       a 'based' modifier has been repeated
         ७ 䨪 "based" 㦥.   ᥬ-
         ⨪    ꥤ  ⠪ 䨪஢,  ⮬  
         pp蠥.

         ਬ:
               char *ptr;

                                - 468 -

               char __based( void ) __based( ptr ) *a;

  139 enumeration variable is not assigned a constant from its enume-
          ration
          C++ ( ⨢ C), enums ।⠢ 祭
         ⪨ ⨯.   ࠧ,  p  㤥 ⮬-
         ᪨ ८ࠧ뢠 祭 楫 ᫠    p᫨
         ⨯.

         ਬ:
               enum Days { sun, mod, tues, wed, thur, fri, sat };
               enum Days day = 2;

  140     bit-field declaration cannot have a storage class specifier
         ⮢  (  設⢮ 童 - members)  -
           ᯥ䨪     .  -
          ᯥ䨪  , ⮡ ࠢ .

         ਬ:
               class C
               {
               public:
                   extern unsigned bitf :10;
               };

  141       bit-field declaration must have a base type specified
         ⮢    ᯮ짮 ⨯ 楫 ᫠  㬮-
         砭. 뢠 ⨯ int, ⮡ ࠢ .

         ਬ:
               class C
               {
               public:
                   bitf :10;
               };

  142       illegal qualification of a bit-field declaration
         ⮢     ⮫쪮  const  vola-
         tile. 筥 (p䨪)  friend  .

         ਬ:
               struct S {
                   friend int bit1 :10;
                   inline int bit2 :10;

                                - 469 -

                   virtual int bit 3 :10;
               };

             ⮢  p.

  143       duplicate base qualifier
         p 襫 ७  ᯥ䨪஢  -
          protected  virtual.

         ਬ:
               struct Base { int b; };
               struct Derived : public public Base { int d; };

  144       only one access speciifier is allowed
         p 襫  祬   ᯥ䨪  㯠  
         ᭮ .   p   롨 
         , 㤠 ⥫ ᯥ䨪 㯠, ⮡ -
         ࠢ .

         ਬ:
               struct Base { int b; };
               struct Derived : public protected Base { int d; };

  145       unexpected type qualifier found
         䨪 ⨯    ᯥ䨪 volatile 
         const.  뢠   ࠦ ⮬,  -
          ࠧ ꥪ-⠭.

  146       unexpected storage class specifier found
         䨪 ⨯    ᯥ䨪  -
          auto  static.   뢠   ࠦ -
         ⮬,   p ᪨ ꥪ.

  147       access to '%S' is not allowed because it is ambiguous
           p稭  ⮩ 訡   C++.  -
         :  童    祭 ⮬,     ᠬ
           ᯮ짮   ࠧ .  ᫨ 
           oꥤ   ᫥,   
         ⮬  㤥 祭.

         ਬ:
               struct s1 { int s; };
               struct S2 { int s; };
               struct Der : public S1, public S2

                                - 470 -

               {
                   void foo() { s = 2; };  // s ⭮
               };

          p稭:  童   祭 -  -
         ⭮  ᫥.  ᫨  㭠᫥  p㠫쭮
          ࠧ묨 ᠬ,  ⥬ ꥤ  -
           ᫥,     ⮬ 童 ⮨ ।
         襭 -   童      .  ᯮ
           "::",  ⮡ 㪠   童  
         p頩  童,  ᯮ p㣮 㪠⥫   
         뫪.

         ਬ:
               struct Top { int t; };
               struct Mid : public Top { int m; };
               struct Bot : public Top, public Mid
               {
                   void foo() { t = 2; };   // t is ambiguous
               };

  148       access to private member '%S' is not allowed
          㪠 童 頥 ࠦ,  ஥    
         ࠧ襭    童 ⮣ .

         ਬ:
               struct Top { int t; };
               class Bot : private Top
               {
                   int foo() { return t; };   // t is private
               };
               Bat b;
               int k = b.foo();   // foo is private

  149       access to protected member '%S' is not allowed
          㪠  童  頥 ࠦ,  ஥  
         ࠧ襭   饭 童 ⮣ . -
         p ⠪ ॡ,  ⮡  饭 童 頫
         १ p ,  ⮡ ࠭஢,  易-
          ᭮   㤥 ⭮ .   - -
         쭮    몥 C++,  ஥  -
          WATCOM C++  ਭ    C++.  . -
          11.5  "p p㪮⢥  "   -
          饭 㯠.

                                - 471 -


         ਬ:
               struct Top { int t; };
               struct Mid : public Top { int m; };
               class Bot : protected Mid
               {
               protected:
                   int foo() { return t; };// t cannot be
               accessed
               };
               Bot b;
               int k = b.foo();            // foo 饭

  150       operation does not allow both operands to be pointers
            ᢥ    ,  뢠  
         訡. ਬ ⮩ 訡   㪠⥫.

         ਬ:
               void fn ()
               {
               char *p, *q;
               p += q;
               }

  151       operand is neither a pointer nor an arithmetic type
         ਬ ⮩  訡 㢥稢 ,     -
         pp㦠 ஢.

         ਬ:
               struct S { } x;
               void fn ()
               {
                   ++X;
               }

  152       left operand is neither a pointer nor an arithmetic type
         ਬ ⮩ 訡 ஡  "1"   ,  
            pp㦠 ஢.

         ਬ:
               struct S { } x;
               void fn ()
               {
                   x = x + 1;

                                - 472 -

               }

  153       right operand is neither a pointer nor an arithmetic type
         ਬ ⮩  訡 ஡  "1"  ,  
            pp㦠 ஢.

         ਬ:
               struct S { } x;
               void fn ()
               {
                   x = 1 + x;
               }

  154       cannot subtract a pointer from an arithmetic operand
         ࠭ ⠭ ⭮ pᯮ   ࠢ쭮  -
         浪.

         ਬ:
               int fn( char *p )
               {
                   return( 10 - p ) ;
               }

  155       left expression must be arithmetic .
         । 樨  㬭 ॡ,  ⮡ 
         ࠭ 뫨 䬥᪨ ⨯.

         ਬ:
               struct S { } x;
               void fn()
               {
                    x = x * 1;
               }

  156       right expression must be arithmetic
         । 樨  㬭 ॡ,  ⮡ 
         ࠭ 뫨 䬥᪨ ⨯.

         ਬ:
               struct S { } x;
               void fn ()
               {
                    x = 1 * x;
               }

                                - 473 -


  157       left expression must be integral
         ।    ࠬ  㫨஢
         pp鸞 ॡ, ⮡  ࠭ 뫨 楫᫥ -
         .

         ਬ:
               struct S { } x;
               void fn ()
               {
                    x = x ^ 1;
               }

  158       right expression must be integral
         ।    ࠬ  㫨஢
         pp鸞 ॡ, ⮡  ࠭ 뫨 楫᫥ -
         .

         ਬ:
               struct S { } x;
               void fn()
               {
                    x = 1 ^ x;
               }

  159       cannot assign a pointer value to an arithmetic item
         祭 㪠⥫ 㦭 ਢ   ⨯  ०,
         祬 p 祭.

         ਬ:
               void fn( char *p )
               {
                    int a;

                    a = pi
               }

  160       attempt to destruct a far object when data model is near
         pp   ਬ  ꥪ⠬,   -
              far,      㬮砭 
          - near.

         ਬ:
               struct Obj

                                - 474 -

               {   char *p;
                   ~obj () ;
               };

               Obj far obj;

         ᫥ ப 뢠 뢮 ⮩  訡,    
          - small ( "-ms"),  ⠪     -
          - near.

  161       attempt to call member function for far object  when  the
          data model is near
         㭪樨-童   뢠  ꥪ⮢,  -
         ࠭   far,      㬮砭 
          - near.

         ਬ;
               struct Obj
               {   char * p;
                   int foo ();
               } ; .

               Obj far obj;
               int integer = obj.foo();

         ᫥ ப  뢠  뢮 ⮩ 訡,   
          - small ( "-ms"),  ⠪     -
          - near.

  162       template type argument cannot have a default argument
          饥 ६,   C++    p㬥⠬  ⨯
         蠡  (template)    ⨯  㬮砭.    
         ᨭ⠪,  ⮡ ࠦ  ७  ᥬ⨪ -
           ⮣.

  163    attempt to 'delete' a far object when the data model is near
            ᯮ짮, ⮡ ᢮ ꥪ,
           ࠭     far,     
         㬮砭   - near.

         ਬ:
               struct Obj
               {   char *p;
               };

                                - 475 -


               void foo( Obj far *p)
               {
                   delete p;
               }

          ᫥ ப 뢠 뢮  ⮩  訡,  
            - small ( "-ms"),   ⠪   
           - near.

  164       first operand is not a class, struct or union
          offsetof  믮 ⮫쪮  ⨯,  
           童.  ᫥   㣮 ⨯.

         ਬ:
               #include <stddef.h>

               int fn( void )
               {
                   return offsetof( double, sign );
               }

  165       syntax error; class template cannot be processed
         -蠡 (template) ᮤন ᡠp 䨣
         ᪮.  ।    ࠡ뢠    ⮩
         ଥ.

  166       cannot convert right pointer to type of left operand
          C++      ८ࠧ  易
         㪠⥫ .  ਢ ॡ.

         ਬ:
               class C1;
               class C2;
               void fun( Cl* pal, C2* pc2 )
               {
                   pc2 = pal;
               }

  167       left operand must be an 'lvalue'
          ࠭   ࠦ,  ஥   -
         ⨬ ᫥  祭. ਬ ࠢ 
         ࠦ  ⠭  १ 設⢠ -
         ஢.

                                - 476 -


         ਬ:
               int 1, j;
               void fn ()
               {
                   ( i - 1 ) = j;
                   1 = j;
               }

  168       static members are not allowed in an union
         ꥤ  ᯮ짮 ⮫쪮  ࣠樨 -
           C++.   ꥤ  ,  ᫨  㦤-
           ᪮ 童 易  ꥤ.

         ਬ:
               union U
               {
                   static int a;
                   int b;
                   int c;
               };

  169       invalid storage class for a member
                   ᮬ  auto,
         extern  register.

         ਬ:
               class C
               {
                   auto int a;       //  㪠뢠 auto
               };

  170       declaration is too complicated
          ᮤন  ᫨誮  讥  ⢮ ஢
          ( ,  pointer, array,  ⨯ 㭪権). -
             ᠭ ⨯ (typedef), 稢-
         饣  ᫥ .

         ਬ:     int ************p;

         pp:
               // pp   . . .
               typedef int ****PDT;
               typedef PDT ****PD2;

                                - 477 -

               PD2 ****p;

  171       exception declaration is too complicated
          ᪫⥫쭮   樨   (exception)  ᮤন
         ᫨誮  ஢  ( ,  pointer,  ar-
         ray,  ⨯ 㭪権).     
         ⨯ (typedef), 稢騬 ᫥ .

  172       floating-point constant too large to represent
         p WATCOM  C  ++    ।⠢ ⠭ 
         饩 ⮩ ⮬,  稭 ⥫쭮 -
          ᫨誮 .

         ਬ:     float f = 1.2e78965;

  173       floating-point constant too small to represent
         p WATCOM C ++    ।⠢  ⠭  
         饩 ⮩ ⮬,  稭 p⥫쭮 -
          ᫨誮 .

         ਬ:     float f = 1.2e-78965;

  174       class template '%S' cannot be overloaded
          -蠡     㭨쭮  ᥩ ணࠬ
         C++ .  ஬ ⮣,  蠡    ⢮ 
         㣨 蠡  ⮣  ᠬ .

  175       range of enum constants cannot be represented
         ᫨  楫᫥ ⨯    ࠭ ⠪,  ⮡
         ।⠢   祭 ᫥,    祭 
           ᯮ짮  ᣥ஢ .  -
            p᫨ 祭 ᯮ㥬  -
          enum.

         ਬ:
               enum E
               {   el = OXFFFFFFFF
                   e2 = -1
               };

  176       '%S" cannot be in the same scope as a class template
          蠡      㭨쭮  ᥩ ணࠬ
         C++.  H     㣮  ᯮ짮  ⮣
           ⮩  ᠬ     蠡 .
                                - 478 -


  177       invalid storage class in file scope
           ⥪ 䠩      au-
         to  register.

         ਬ:     auto int a;

  178       const object must be initialized
         ﭭ ꥪ   ,  ⮬   
         樠஢ । ᯮ짮.

         ਬ:     const int a;

  179       declaration cannot be in the same scope as class template
          '%S'
          蠡    㭨쭮   ᥩ  ணࠬ
         C++.  㣮 ᯮ짮 ⮣    
          ⮩  ᠬ     蠡 .

  180       template arguments must be named
         㭪-童  蠡 (template)   ।
            p ,   p㬥 蠡-
          .

  181       class template '%S' is already defined
             p  p ᨬ  
         ⮣ 筮   p ।饬.

  182       invalid storage class for an argument
          p㬥          extern,
         static,  typedef

         ਬ:
               int foo ( extern int a )
               {
                  return a;
               }

  183       unions cannot have members with constructors
         ꥤ  ᯮ짮 ⮫쪮  p樨 -
           C++. 襭 童 ꥤ  p-
         p 砫 ,     ᠬ ࠣ    -
         pp .


                                - 479 -

         ਬ:
               class C
               { C();
               };
               union U
               {
                   int a;
                   C c;      //  pp
               };

  184       statement is too complicated
          ᮤন ᫨誮   権.  -
            ⤥ .

  185       '%s' is not the name of a class
         ࠢ ࠭  "::"    뫠  
         ⨯ .  ᪮    ᫥ 㣮 "::",
             .

  186       attempt to modify a constant value
         䨪 ﭭ  祭    pp蠥.  ᫨ 
          ᤥ , p   㡨p ⠭ p-
         p ⮣ ⨯.

          ਬ:
               static int const con = 12;
               void foo()
               {
                   con = 13;            // 訡
                   *(int*)&con = 13;    // p쭮
               }

  187       'offsetof' is not allowed for a bit-field
         ⮢     ⮣  ᬥ饭,  ⮬  
           뫠  ࠦ offsetof.

          ਬ:
               #include <stddef.h>
               struct S
               {
                   unsigned b1 :10;
                   unsigned b2 :15;
                   unsigned b3 :11;
               } ;

                                - 480 -

               int k = offsetof( S, b2 );

  188       base class is inherited with private access
          ।० 㪠뢠  ,   ᭮   
         ࢮ砫쭮      ⨢ p-
         p.  ஬ ⮣,     ।  ⠪,  
         㬮砭    ⮣  ᭮   ᢮  ⭮
         ᫥.   ᯥ䨪 㯠  "private"  
         "public", ⮡ ।  ᮮ饭  ᨬ 
         㦭 㯠.

  189      overloaded function  cannot be selected for arguments used
          in call
         H ८ࠧ  뫨 ,  ᪮ p㬥
         㭪樨    㭪  ࠢ ᫮ p㬥⮢  뫨
         㯭.

          ਬ:
               class C1;
               class C2;
               int foo( Cl* );
               int foo( C2* );
               int k = foo( 5 );

  190       base operator operands must be "__segment :> pointer"
          "base" (:>) ॡ,  ⮡  ࠭   ⨯
         _segment  ࠢ  㪠⥫.

          ਬ:
               char _based( void ) *pcb;
               char __far *pcf = pcb;       // 㦥 pp ":>"

         ਬ ⨯ ᯮ짮:

          ਬ:
               const __segment mySegAbs = 0x4000;
               char __based( void ) *c_bv = 24;
               char __far *c_fp_1 = mySegAbs :> c_bv;
               char __far *c_fp_2 = __segname ( "_DATA" ) :> c_bv;

  191       expression must be a pointer or a zero constant
          ᫮ ࠦ,  ᫨  ஭  ":"  -  㪠⥫,
         ⮣  㣠 ஭  ⠪  㪠⥫  㫥-
          ⠭⮩.

                                - 481 -


          ਬ:
               extern int a;
               int *p = ( a > 7 ) ? &a : 12;

  192       left expression cannot be a pointer to 'void' or to a
          function
         ࠦ ॡ,  ⮡ ࠧ  ⠡஢  㪠⥫
          ⥭.  ⥫  void  㭪   㢥-
         稢,  ⮬   ࠧ ।  void 
         㭪権.

          ਬ:
               void *p;
               void *q = p + 2;

  193       right expression cannot be a pointer to 'void' or to a
          function
         ࠦ ॡ,  ⮡  ࠧ  ⠡஢ 㪠⥫
          ⥭.  ⥫  void  㭪   㢥-
         稢,  ⮬   ࠧ ।  void 
         㭪権.

          ਬ:
               void *p;
               void *q = 2 + p;

  194      expression cannot be a pointer to 'void' or to a function
         ࠦ ॡ,  ⮡  ࠧ  ⠡஢ 㪠⥫
          ⥭.  ⥫  void  㭪   㢥-
         稢,  ⮬   ࠧ ।  void 
         㭪権.

          ਬ:
               void *p;
               void *q = ++p;

  195       'sizeof' is not allowed for a function k
         㭪    ࠧ ।   ᯥ䨪樥
         몠 ++.

          ਬ:
               void *p();
               unsigned size = sizeof( p );

                                - 482 -


  196       'sizeof' is not allowed for a type 'void'
          Void    p ।   ᯥ䨪-
         樥 몠 ++.

          ਬ:
               void *p;
               unsigned size = sizeof( *p );

  197       The type cannot be defined in this context
             ।  p ⥪.  ਬ,
          ⨯   ।  ᯨ᪥  p㬥⮢,  
         ࠦ, 䨪 ८ࠧ 㭪樨  ࠩ-
          catch.

          ਬ:
               extern int goop () ;
               int foo()
               {
                   try {
                        return goop () ;
                   } catch( struct s { int s; } ) {
                       return 2;
                   }
               }

  198       expression cannot be used as a class template parameter
         p   ᯮᮡ ࠢ ࠦ   室
         ࠭樨  ⠪,     ࠭稢 ᫮ ࠦ,
           ᯮ짮  ࠬ஢ 蠡 (templa-
         te). ⢥  ⨯  ࠦ,    ᯮ짮-
           ࠬ஢ 蠡 - ﭭ 楫 ࠦ 
         .    ᨬ    譥 뢠 
           童 ᪮ .

  199       premature end-of-file encountered during compilation
         p   ⥫ 室 ⥪  ⮩ -
         ⪥.     - ⢨ 㣫 ᪮
         "()"  ⢨ ⥫ 䨣 ᪮ "{}".

  200      duplicate case value '%s'  after  conversion  to  type  of
          switch express
         뫮   祭 case.    ,   
         祭  case    ८ࠧ뢠    ⨯  ࠦ

                                - 483 -

         switch. ⠭,    p砫쭮 ࠧ
          ८ࠧ뢠    ᠬ 祭.

          ਬ:
               enum E { e1, e2 };
               void foo( short a )
               {
                   switch( a ) {
                     case 1:
                     case 0x10001 :   // pp  1  short
                       break;
                   }
              }

  201       declaration statement cannot follow an if statement
           ⥪ ᮧ  設⢠ ࠢ-
          . - ⮣,      
          ,    p樨.

          ਬ:
               void foo( int a )
               {
                   if ( a ) int b = 14;
               }

  202       declaration statement cannot follow an else statement
           ⥪ ᮧ  設⢠ ࠢ-
          . - ⮣,      
              p樨.

          ਬ:
               void foo( int a )
               {
                   if( a ) {
                       int c = 15;         // 㯠 
                   } else
                       int b = 14;         //  
               }

  203       declaration statement cannot follow a switch statement
             (⥪), ᮧ 
         設⢠ ࠢ .  - ⮣,   
              ,     p-
         樨.

                                - 484 -


          ਬ:
               void foo( int a )
               {
                   switch ( a ) int b = 14;
               }

  204       'this' pointer is not defined
         祭 "this"   ᯮ짮 ⮫쪮   -
          㭪権-童.

          ਬ:
               void *fn()
               {
                   return this;
               }

  205       declaration statement cannot follow a while statement
             (⥪), ᮧ 
         設⢠ ࠢ .  - ⮣,   
              ,     p-
         樨.

          ਬ:
               void foo ( int a )
               {
                   while ( a ) int b = 14;
               }

  206       declaration statement cannot follow a do statement
             (⥪), ᮧ 
         設⢠ ࠢ .  - ⮣,   
              ,     p-
         樨.

          ਬ:
               void foo( int a )
               {
                   do int b = 14 ;
               }

  207       declaration statement cannot follow a for statement
             (⥪), ᮧ 
         設⢠ ࠢ .  - ⮣,   

                                - 485 -

                 ⠪ p樨.
          for  砫    pp蠥  ᯮ짮
          㣮 横 for, ⠪    ⨬  C++:

          ਬ:
               void fn( int **a )
               {
                   for( int i= 0; i < 10; ++i )
                       for( int j = 0; j < 10; ++j )
                           a[i][j]  = i + j;
               }

          騩 ਬ, ,  訡 .

          ਬ:
               void foo ( int a )
               {
                   for( ; a<10; ) int b = 14;
               }

  208      pointer to virtual base class  converted  to  pointer  to
          derived class
         ᪮ ⭮⥫쭠  㠫쭮   -
          १    뢮,    ८ࠧ  祭
         ᭮.  ࠭ ++  ᮮ 訡  -
          ⨯ ८ࠧ.

          ਬ:
               struct VBase { int v; };
               struct Der : virtual public VBase { int d; };
               extern VBase *pv;
               Der *pd = (Der *)pv;

  209       cannot use far pointer in this context
         쪮 㪠⥫  near  ⢨ throw,  ᫨ -
            - near.

          ਬ:
               extern int __far *p;
               void foo()
               {
                   throw p;
               }


                                - 486 -

          ᯮ   small ( "-ms"), ࠦ-
          throw   訡筮.  筮, ⮫쪮
         㪠⥫  near   ।   catch 
            - near.

  210       returning reference to function argument or to  auto  or
          register variable
           ᪮ 쭮 ६ 㤥 ࠧ襭
           ᫥  㭪樮쭮 .   뫪
         䠪᪨  뢠饩 pp   祭
         ,   .

          ਬ:
               class C
               {
                   char *p;
               public :
                   C ( ) ;
                   ~C ( ) ;
               } ;

               C& foo()
               {
                   C auto_var;
                   return auto_var;       //  pp蠥
               }

  212       function arguments cannot be of type 'void'
         稥  祬  p㬥 void  pp蠥. -
         樠 砩  p㬥 void 㪠뢠,  㭪
          ਭ ࠬ஢.

          ਬ:
               void fn1 ( void )                 // p쭮
               {
               }
               void fn2 ( void, void, void )     // 訡!
               {
               }

  213      class template requires more parameters for instantiation
          -蠡  ᫨誮   p⠢
         ࠬ஢,  ⠪      ⠭ ࠢ-
         .

                                - 487 -


  214      class template requires less parameters for instantiation
          -蠡  ᫨誮  p⠢
         ࠬ஢,  ⠪      ⠭ ࠢ-
         .

  215       no declared 'operator new' has arguments that match
         H  "operator  new",  ᮮ⢥騩  ࠦ  new.
         ᯥ  ࠢ  ࠬ  ᯥ樠  㭪権  
         "operator new",  । ᨭ⠪ᮬ ࠧ饭.

          ਬ:
               #include <stddef.h>

               struct s {
                   void *operator new( size_t, char );
               };

               void fn ()
               {
                   S *p = new ( ' a' ) S ;
               }

  216       could not find constructor to perform initialization
          ⨯        ਢ  ⨯ 
         㭪.  ⠪ ⨯ - void.

          ਬ:
               void fn ()
               {
                   void () ;
               }

  217       'offsetof' is not allowed for a static member
         ᪨ 童      ᬥ饭   童
         .  ᫨  ॡ,  ᯮ  ᪮
         童.

          ਬ:
               #include <stddef.h>
               class C
               {
               public:
                   static int stat;

                                - 488 -

                   int memb;
               };

               int size_1 = offsetof( C, stat );   //  pp蠥
               int size_2 = offsetof( C, memb );   // p쭮

  218       cannot define an array of 'void'
           ⨯ void   ࠧ      -
         祭 ⨯ void,   ᨢ void.

          ਬ:    void array [24];

  219       cannot define an array of references
         뫪  ꥪ,  -  ᯮᮡ ᮧ 䥪⨢
         ᥢ  㣮 .  ᨢ 뫮  -
         饥 ६    몥 C++.

          ਬ:    int& array [24];

  220       cannot define a reference to 'void'
         H ᮧ 뫪  "void" ⮬,    -
          ६ "void", ⮡ ᯥ 樠 뫪.

          ਬ:    void& ref;

  221       cannot define a reference to another reference
         뫪  ꥪ,  -  ᯮᮡ ᮧ 䥪⨢
         ᥢ  㣮 .   뫪  㣮 뫪
          饥 ६  pp蠥  몥 ++.

          ਬ:    int & & ref;

  222       cannot define a pointer to a reference
         뫪  ꥪ,  -  ᯮᮡ ᮧ 䥪⨢
         ᥢ    㣮 .   㪠⥫  뫪 
         饥 ६  pp蠥  몥 ++.

          ਬ:    char& *ptr;

  223       cannot initialize array with 'operator new'
         樠 ᨢ  ᮧ    pp "new"
           믮 ⮫쪮  pp    㬮砭.
          ᯮ짮 㣨 pp  p㬥⠬
          饥 ६  pp蠥  몥 ++.

                                - 489 -


          ਬ:
               struct S
               {
                   S( int ) ;
               };
               S *p = new S [10] ( 12 ) ;

  224       '%N' is a variable of type 'void'
         ६    ⨯ void.  void  ᯮ짮-
          ⮫쪮  ࠭祭 ⥫⢠,  ⮬  
           ࠧ.  ਬ,  㭪  void  
         㭪   祭. ⥫  void ᯮ-
           த 㪠⥫,     ࠧ묥뢠.

  225       cannot define a member pointer to a reference
         뫪  ꥪ,  -  ᯮᮡ ᮧ 䥪⨢
         ᥢ  㣮 .   童  -  㪠⥫  
         뫪  饥 ६  pp蠥  몥 C++.

          ਬ:
               struct S
               {
                   S();
                   int &ref;
               };

               int& S::* p;

  226       function '%S' is not distinct
          㭪  筮 ⫨稬  㣨 㭪権
         ⮣  ᠬ .  砥,   ॣ㧪 㭪-
         樨 騥 ⨯ p㬥⮢ 㭪樨  .

          ਬ:
               struct S {
                   int s;
               };
               extern int foo( S* );
               extern int foo( S* const );   //  筮
                                                ⫨稬

  227       overloaded function is ambiguous  for  arguments used in
          call

                                - 490 -

         p       롮  뢠
         㭪樨.

          ਬ:
               extern int foo( char ) ;
               extern int foo( short ) ;
               int k = foo( 4 ) ;

  228       declared 'operator new' is ambiguous for arguments used
         p      롮    "operator
         new".

          ਬ:
               #include <stdlib.h>
               struct Der
               {
                   int s[2];
                   void* operator new( size_t, char );
                   void* operator new( size_t, short );
               };
               Der *p = new(10) Der;

  229       function '%S' has already been defined
         ।塞 㭪 㦥 ।  㣮 .  -
           㭪樮 ⥫ ,    ⮫쪮
          ।  p⭮ 㭪樨.

          ਬ:
               int foo( int s ) ( return s; )
               int foo( int s ) ( return s; )      // p

  230       expression on left is an array
         ࠦ ᨢ ᯮ  ⥪,  ⮫쪮 㪠-
         ⥫ .

          ਬ:
               void fn( void *p )
               {
                   int a[10] ;
                   a = 0;
                   a = p;
                   a++;
               }


                                - 491 -

  231       user-defined conversion has a return type
         ।塞 짮⥫ ८ࠧ    -
           ⨯ .   p ।塞 짮-
         ⥫ ८ࠧ  p㬥    -
         塞 짮⥫ ८ࠧ.

          ਬ:
               struct S {
                   int operator int();   //         ⨯
                                            
               };

  232       user-defined conversion must be a function
          , 뢠饥 ।塞 짮⥫ ८-
         ࠧ,    ᯮ짮  ⮫쪮,  ⮡ 
         㭪樨.

          ਬ:
               int operator char = 9;  //   ⮫쪮 operator
               char be a function.

  233       user-defined conversion has an argument list
         ।塞 짮⥫  ८ࠧ      
         ᯨ᪠ p㬥⮢. ᪮ ।塞 짮⥫ -
         ࠧ    ⮫쪮 -᪨ 㭪樨-童,
             p㬥.

          ਬ:
               struct S {
                  operator int( S& );   //    p㬥⮢
               };

  234       destructor has a return type
         pp    ⨯  (  void).  -
         pp  - ᯥ樠쭠 㭪-童,   ன  ॡ
          筮  ଥ ᥬ 㣨 㭪 童.  -
           ࠧ ॠ  ࠧ ᯮ-
            p頥 祭.

          ਬ:.
               struct S {
                   void* ~S ();
               };


                                - 492 -

  235       destructor must be a function
         ⨫   ⨫줮 (~) १ࢨ   㭪-
         権  - pp.   p   ᯮ짮
         ⨫  pp.

          ਬ:
               struct S {;
                   int ~S;    // p
               };

  236       destructor has an argument list
         pp    ᯨ᪠ p㬥⮢. ᪮ -
         pp      ⮫쪮  ᪨ 㭪樨-童,
            p㬥 .

          ਬ:
               struct S {,
                   ~ S ( S& );
               }

  237       '%N' must be a function
         ⨫  "operator" ppp   㭪権
         "operator".    p     ᯮ짮 ⨫
          "operator".

          ਬ:
               struct S {
                   int operator+;    // p
               };

  238       '%N' is not a function
         p 㦨 ,    ⥫  㭪樨.  
         ᮮ饭  - १ 宦  㭪樨.  
             ,  ⨯ p᪠ ":"  ।
         ।  ᮢ,  p᪠ "=" । 樠-
         樥  १ 樠  䨣p ᪮.

          ਬ:
               struct D B { int i; };

  239       nested type 'class %s' has not been declared
                 ॡ  ᯮ짮
           pp  "::".   "A::B::C" ॡ,
         ⮡ "A"  ⨯ ,   "B"      

                                - 493 -

         ⥪ "A".

          ਬ:
               struct B {
                   static int b;
               };
               struct A : public B {
               };
               int A::B::b = 2;     // "B"    "A"

          ।騩 ਬ 饭; ᫥騩 ⨬

          ਬ:
               struct A {
                   struct B {
                        static int b;
                   };
               };
               int A::B::b = 2;   // B   A

  240       'enum %s' has not been declared
         ࠡ⠭ 뫪  enum  뫠 㤮⢮७.   -
         騥 ⥪ pᬮp  ᪠  "enum".  -
           p    .

          ਬ:
               struct D {
                   int i;
                   enum E { e1, e2, e3 };
               };
               enum E enum_var;    // E  

  241       'class %s' has not been declared
          "A::B::C" ॡ,  ⮡ "A"  ⨯ ,  
         "B"      ⥪ "A".  뫪  "A"
            㤮⢮७.   ꥬ騥 ⥪  뫨
         pᬮp  ᪠  .   p-
             .

          ਬ:
               struct A{ int a; };
               int b ;
               int c = B::A::b;


                                - 494 -

  242       only one initializer argument allowed for a scalar type
          (,)  㭪樮쭮 ਢ ⨯ ࠡ뢠
          ⮩  ᯨ᪥ p㬥⮢.  ᫨ ࠦ  -
         ⮩ ⥫쭮,  ᯮ 㣫 ᪮ 騥 -
           ⮩.

          ਬ:
               void fn ()
               {
                   int a;
                   a = int ( 1, 2 ) ;      // 訡!
                   a = int ( ( 1, 2 ) ) ;  // p쭮
               }

  243       default arguments are not part of a function's type
          ᮮ饭 㪠뢠  ,    뫮 ,
         ஥  ॡ,  ⮡  p㬥  㬮砭 뫨 
         ⨯ 㭪樨.   㭪樨   typedef ⠪ 
         㪠⥫    㭪樨    p㬥⠬  㬮砭 - ਬ
         ࠢ .

          ਬ:
               typedef int TD ( int, int a = 14 ) ;
               int (*p) ( int, int a = 14 ) = 0;

  244       missing default arguments
         ய᪨   ᫥⥫쭮  ࠬ஢    㬮砭 
           몥 C++.

          ਬ:    void fn ( int = 1, int, int = 3 );

  245       overloaded operator cannot have default arguments
         pp饭 pp㦠  ஢   ࠬ-
         ஢  㬮砭  ⠭  ᢮⢮,  饥  
         ⮬,  p ()   뢠 ⮫-
          p묨 ࠬ. 襭 ࠬ஢  㬮砭
          p  "+" 㭪樮஢  㭠p
          "+".

          ਬ:
               class C
               {
               public:
                   C operator +( int a = 10 );

                                - 495 -

               };

  246       left expression is not a pointer to a constant object
         H  㪠⥫  ﭭ ⨯  㪠⥫  
          ﭭ ⨯.    ﭭ ꥪ -
          १  ﭭ 㪠⥫. ᯮ ਢ
         ⨯, ᫨  ᮫⭮ 室.

          ਬ:
               char* fun( const char* p )
               {
                   char* q;
                   q = p;
                   return q;
               }

  247       cannot redefine default argument for '%S'
         ࠬ  㬮砭  । ⮫쪮  ࠧ  
         ணࠬ ᨬ  ⮣, 筮  祭 ࠬ-
           㬮砭.

          ਬ:
               static int foo( int a = 10 );
               static int foo( int a = 10 )
               {
                   return a+a;
               }

  248     using default  arguments  would be overload ambiguous with
          '%S'
         p   筮  ⢮  ࠬ஢ 
         㬮砭,  ⮡  㭪  ⠫  ⫨稬    㣮
         㭪樨 ⮣  ᠬ .

          ਬ:
               void fn( int ) ;
               void fn( int, int = 1 );        // 訡!

         맮 㭪樨 fn   ࠬ஬ 祭 ⮬, 
           ᮮ⢥⢮  ࢮ "fn"  ࠬ஢  
         㬮砭  ன "fn"  ࠬ஬  㬮砭.

  249      using default  arguments  would be overload ambiguous with
          '%S'

                                - 496 -

         p   筮  ⢮  ࠬ஢ 
         㬮砭,  ⮡  㭪  ⠫  ⫨稬    㣮
         㭪樨 ⮣  ᠬ .

          ਬ:
               void fn( int, int = 1 );
               void fn( int, char = 'a' );      // 訡!

         맮 㭪樨 fn   ࠬ஬ 祭 ⮬, 
           ᮮ⢥⢮  ࢮ "fn"  ࠬ஢  
         㬮砭  ன "fn"  ࠬ஬  㬮砭.

  250       missing default argument for '%S'
          C++ pp蠥  p㬥  㬮砭  ࠢ
         p㬥⠬   㭪樨  ᫥⥫ -
         .  ᮮ饭 㪠뢠  ,    ᨫ
         ⮫쪮 ᫨  p㬥  㬮砭 ।⥫쭮 -
           ᫥饣 p㬥.

          ਬ:
               void fn1 ( int , int );
               void fn1 ( int , int = 3 );
               void fn1 ( int = 2, int );     // p쭮

               void fn2 ( int , int );
               void fn2( int = 2, int );       // 訡!

  251       enum references must have an identifiier
           ᯮᮡ 뫠   enum. ᫨  -
         p᫨ ⨯ , p⭠ 稭 ⮣ ᮮ饭
         - 騩 䨪.

          ਬ:
               enum ( X, Y, Z );             //  enum
               void fn()
               {
                   enum *p;
               }

  252       class declaration has not been seen for '%s'
         pp ᯮ짮   ⥪,      -
         .


                                - 497 -
          ਬ:
               class C;
               void fun ( C* p )
               {
                   p->~S () ;
               }

  253       a "::" qualifier cannot be used in this context
         ⠢ 䨪  ⥪  pp  
          㭪権 童 㧥 ᮢ.  p WATCOM
         C++ ⠪ ᪠ ,    ᮡ⢥-
           ᮬ,  ⮡    ६  
          । .

          ਬ:
               struct S {
                   void S::foo( void )
               }
               {
               };

  254       '%S' has not been declared as a member
          । 童 ,  祭   
         㦥  ,   ।.

          ਬ:
               class C
               {
               public:
                   int c;
                   int goop();
               };
               int C::x = 1;
               C::not-decled() { }

  255      default argument expression cannot use  function  argument
          '%S'
         p㬥  㬮砭  業   -
         .   冷 業  p㬥⮢ ।, -
         p    ஢  p㬥  㬮砭,
            㣨 p㬥⮢.

          ਬ:
               void goop( int d )
               {

                                - 498 -

                   struct s
               }
                     int foo( int c, int b = d )   //  㯠 
                                                        "d"
                           {
                                return b + c.
                           };
                    {;
               }

  256     default argument expression cannot use local variable '%S'
         p㬥  㬮砭  業   -
         .   쭠 ६  ᥣ 㯭  
         ⥪ (pp,  樠, 騥  -
           - 䠩),  p  ஢  p-
           㬮砭,     ६.

          ਬ:
               void goop( void )
               {
                   int a;
                   struct s
                   {
                       int foo( int c, int b = a )  //  㯠
                                                        "a"
                           {
                                return b + c.
                           };
                   };
               }

  257       access declarations may only be 'public' or 'protected'
          㯠  ᯮ,  ⮡  pp  .
         p ⭮ 㯠 ᯮ, ⮬   ஢-
          㯠,   ண   - pp -
         .

          ਬ:
               class Base
               {
                   int pri;
               protected:
                   int pro;
               public:

                                - 499 -

                   int pub;
               };
               class Derived : public Base
               }
                   private: Base::pri;
               };

  258      cannot declare  both  a  function and variable of the same
          name ('%N')
         㭪樨   pp㦥  C ++,      
         pp㦥  ⢨ ६ ⮣   ᠬ  .
         筮,     ६  ⮩  ᠬ -
          (⥪)    pp㦠 㭪権 ⮣  
         ᠬ .

          ਬ:
               int foo();
               int foo;
               struct S {
                   int bad();
                   int bad;
               };

  259      class in  access  declaration ('%T') must be a direct base
          class
          㯠  ਬ ⮫쪮  p (-
         ।⢥)  ᠬ.

          ਬ:
               struct B  {
                   int f;
               };
               struct C : B {
                   int g;
               };
               struct D : private C {
                   B::f;
               };

          ⮬ ਬ, "C" - אַ   "D",  "B" - -
            "C",  "B"  אַ   "D".

  260       overloaded functions ('%N') do not have the same access
         ᫨   㯠  뫠     pp㦠

                                - 500 -

         㭪権, ⮣       ᠬ . 
         ᫥⢨ ⢨ ⨯   㯠.

          ਬ:
               class C
               {
                   static int foo( int );      // 
               public:
                   static int foo( float );    // 騩
               };

               class B : private C
               {
               public: C::foo;
               };

  261       cannot grant access to '%N'
         p         童 
           㯠.  㯠  ᯮ-
           ⮫쪮,  ⮡  ⠭   
         ᫥.

          ਬ:
               class Base
               {
               public:
                   int pub;
               protected:
                   int pro;
               };
               class Der : private Base
               {
               public: Base::pub;          // p쭮
               public: Base::pro;          //  
               };

  262       cannot reduce access to '%N'
         p         童 
           㯠.  㯠  ᯮ-
           ⮫쪮,  ⮡  ⠭   
         ᫥.

          ਬ:
               class Base

                                - 501 -

               {
               public:
                   int pub;
               protected:
                   int pro;
               };
               class Der : public Base
               {
                   protected: Base::pub;       //  
                   protected: Base::pro;       // p쭮
               };

  263       nested class 'TON' has not been defined
         饥 ﭨ 몠 C++ ন  ⨯.  
         ᮦ,  砥,   ࠡ騥   
          ࠡ  .

          ਬ:
               struct S {
                   struct T *link;
               };

           ਬ,    "T" 㤥 ᮮ  -
             .    ࠢ
         ᫥騬 ᯮᮡ.

          ਬ:
               struct T;             // p  T
               struct S {
                   struct T *link;
               };

  264      user-defined conversion   must   be  a  non-static  member
          function
         ।塞 짮⥫  ८ࠧ   -   ᯥ樠쭠
         㭪-童,    ८ࠧ뢠 -
          ( )  ந쭮 ⨯.  ⮡  , 
                ࠧ ,  ⮬  
           ᪮ 㭪樥-童.

          ਬ:
               struct S
               {
                   static operator int ();

                                - 502 -

               };

  265       destructor must be a non-static member function
         pp,  ᯥ樠쭠 㭪-童,   㤥 -
              ⪨  ,  ⢥  
         ⮣ . ⮡  ,      -
         ࠧ ⮣ ,  ⮬       ᪠
         㭪-童.

          ਬ:
               struct S
               {
                   static ~S();
               };

  266       '%N' must be a non-static member function
         㭪 operator, 㪠  ᮮ饭,    -
         ᪮  㭪樥-童.    筮 砥,   㭪-
         - ࠡ뢠 ᯥ樠 ᯮᮡ  -
         p.

          ਬ:
               class C
               {
               public:
                   static operator =( C&, int );
               };

  267       '%N' must have one argument
         㭪-, 㪠    ᮮ饭   ⮫쪮
          p㬥.  ⨯ operator - ⠪ ਬ ⮬,
            㭠p ஬.

          ਬ:
               class C
               {
               public: int c;
               };
               C& operator~( const C&, int );

  268       '%N' must have two arguments
         㭪-, 㪠    ᮮ饭,    
         p㬥.  ,   +=,  ਬ-
         ஬ ⮣, ⮬    p ஬.

                                - 503 -


          ਬ:
               class C
               {
               public: int c;
               };
               C& operator += ( const C& );

  269       '%N' must have either one argument or two arguments
         㭪-, 㪠   ᮮ饭,    
           p㬥.  ,   +, 
         ਬ஬ ⮣,  ⮬    㭠p  p
         ஬.

          ਬ:
               class C
               {
               public: int c;
               };
               C& operator+( const C&, int, float );

  270       'operator new' must have at least one argument
         㭪-童 "operator new"       ࠩ  
          p㬥  ࠧ 뤥塞 .  騥 p-
         㬥 -   ணࠬ. ⥫ ࠬ -
           㪠뢠    ࠦ १ ᨭ⠪ ࠧ-
         .

          ਬ:
               #include <stddef,h>

               struct S {
                   void * operator new( size-t, char );
               };

               void fn ()
               }
                  S *p = new ('a') S;
               }

  271       'operator delete' must have a return type of'void'
          C++ ॡ, ⮡ "operator delete"  ⨯ 
         void.


                                - 504 -

          ਬ:
               class C
               {
               public:
                  int c;
                  C*.operator delete( void* );
               };

  272       'operator new' must have a return type of'void *'
          C++  ॡ,  ⮡  "operator new"  ⨯ 
         void.

          ਬ:
               #include <stddef.h>
               class C
               {
               public:
                   int c;
                   C* operator new( size_t size );
               };

  273       the first argument  of  operator new' must be an integral
          'size t'
         C ++  ॡ,  ⮡  p㬥  "operator new"
          楫 "size_t".  ।  "size_t "    -
         , ᯮ ⠭ 䠩  <stddef.h>.

          ਬ:     void *operator new( unsigned size );

  274       the first argument of operator delete' must be 'void *'
          C++ ॡ, ⮡  p㬥  "perator dele-
         te"  ⨯ void *.

          ਬ:
               class C;
               void operator delete( C* );

  275       the second argument   of'operator  delete'  must  be  an
          integral 'size_t'
          C++ ॡ, ⮡ p p㬥  "perator dele-
         te"  楫 ⨯ "size_t". -p㬥⭠ ଠ "opera-
         tor  delete"  易⥫쭠    ।⠢ ⮫쪮
           .  ।    "size_t"  
         , ᯮ ⠭ 䠩  <stddef.h>.

                                - 505 -


          ਬ:
               struct S {
                   void operator delete( void *, unsigned );
               };

  276      the second  argument of'operator ++' or 'operator --' must
          be 'int'
          C++ ॡ,  ⮡ ன p㬥   "++"
          ⨯ int.  -p㬥⭠ p  "++" ᯮ-
           ॣ㧪 䨪᭮  "++". 䨪-
           "-"   pp㦥 筮.

          ਬ:
               class C {
               public:
                   long cv;
               };
               C& operator ++( C&, unsigned );

  277       the return type of'operator  ->'  must  allow  the  '->'
          operator to be applied
          ࠭祭 - १ ८ࠧ, ஥ -
         p 믮,   -> pp㦠. ८ࠧ-
          砥 pp  p  ⠪,  ⮡  맢
           "->" ⭮騬  १  ->.

          ਬ:
               struct S {
                   int a;
                   S *operator -> ();
               };

               vois fn( S &q )
               {
                   q->a = 1; // ⠭ (q.operator ->()) -> 1;
               }

  278       '%N' must take at least one argument of a class/enum or a
          reference class/enum
         pp㦠   । ⮫쪮   -
         ᮢ    ᫥.    ࠩ   p㬥 
          ⨯   enum, ⮡ p C++ ⫨砫 
           ஥ ஢.

                                - 506 -


          ਬ:
               class C {
               public:
                   long cv;
               };
               C& operator ++( unsigned. int );

  279       too many initiflizers
         p 㦨 譨 樠.

          ਬ:    int a[3] = { 1, 2, 3, 4, };

  280       too many initializers for character string
         p ࠫ, ᯮ㥬 p 樠樨 ᨬ쭮
         ᨢ,  p⠢ p騩 ᨬ null.  ᫨ ᫮
         ⮢ ᨢ 筮,  ⮡ ਭ ᨬ  -
         p襭, 뢮  ᮮ饭.

          ਬ:
               char ac[3] = " abc " ;

  281       expecting '%s' but found expression
          ᮮ饭  뢮,      ᪮  
         㭪樨,  ⮫㫨  p.

          ਬ:
               int b[3] = 3 ;

  282       anonymous union  member  '%N'  cannot  be declared in this
          class'
          童         ⥬   
         ᮤঠ騩  .

          ਬ:
               struct S {
                   union {
                       int S;       // 訡 !
                       char b;
                   };
               };

  283       unexpected '%s' during initialization
          ᮮ饭  뢮,    ⮫㫨  묨

                                - 507 -

         ᪮   㭪樨  室 樠樨.

          ਬ:     int e = { { 1 };

  284       nested type 'TON' cannot be declared in this class
          ⨯        ⥬  ᠬ 
          ᮤঠ騩  .

          ਬ:
               struct S {
                   typedef int S;      // 訡 !
               };

  285       enumerator '%N' cannot be declared in this class
         Enumerator      ⥬  ᠬ   
         ᮤঠ騩  .

          ਬ:
               struct S {
                   enum E {
                       S,         // 訡 !
                       T
                   };
               }

  286       static member '%N' cannot be declared in this class
         ᪨ 童      ⥬  ᠬ  -
           ᮤঠ騩  .

          ਬ:
               struct S {
                   static int S;        // 訡 !
               };

  287       a constructor cannot have a return type
         pp     ⨯  ( void).  -
         pp  ᯥ樠쭠 㭪-童,  ன  ॡ-
           筮  ଥ ᥬ 㣨 㭪-童.  
          ࠧ ॠ  ࠧ  ᯮ짮-
            祭 .

          ਬ:
               class C {
               public:

                                - 508 -

                   C& C( int );
               };

  288       a constructor cannot be a static member
         pp  ᯥ樠쭠 㭪-童,    -
         ࠡ⠭   pp頥   ࠧ .  ⮡
          ,             ࠧ
         , ⠪     -᪠ 㭪-童.

          ਬ:
               class C {
               public:
                   static C( int );
               };

  289       invalid copy constructor (causes infinite recursion)
          pp   ।  p㬥⮬  뫪.
          뫪,  pp ॡ  ᯮ 
         pp  ⮢ ᢮ p㬥.    ᮦ,
          㤥 맮 ᠬ ᥡ, ⠪   -  p-
         p!   - 稭  ॡ ࠬ 뫪  
         pp.

          ਬ:
               struct S {
                   S( S & );       //  pp
               };

  290       a constructor cannot be declared 'const' or 'volatile'
         Constructor   ᯮᮡ 㭪樮஢   -
         ࠧ ᮢ ᨬ  ⮣    const  
         volatile.

          ਬ:
               class C {
               public:
                   C( int ) const;
                   C( float ) volatile;
               };



                                - 509 -

             WATCOM C ++ ᪨ 饭


  291       a constructor cannot be 'virtual'
         㠫 㭪樨  뢠  ꥪ ०, 祬 
         ᪮pp.   ⮩ 稭, 㠫 pp 
         pp蠥   몥 C++.  孨  ᨬ㫨p -
         쭮 pp ⭠,   ⠪ ⮤ 뢠-
           "p p㪮⢥  ++" p. 263.

          ਬ:
               class C {
               public:
                    virtual C( int );
               };

  292       types do not match in simple type destructor
         pp ⮣ ⨯ 㯥   "pp襭"  
         ⨯.  pp    䥪.  ⨯
           , ⮡ pp  .

          ਬ:
               void foo( int *p )
               {
                   p->int::~double ();
               }

  293       overloaded operator is ambiguous for operands used
         p WATCOM  C++  믮  뢠騩  -
         騩 ଠ 孨,  ⮡ p  
           ८ࠧ   ਬ ⭮⥫쭮 -
         ॣ㧪 pp.  - ⮣,  WATCOM C++  㦨
         筮,        p㦨 p㣨
         p C++.   筠 筮, -
          p㦨 WATCOM C++,  砥 , 騥 -
         pp  묨 ࠬࠬ  ।塞 짮-
          ८ࠧ.
                               - 510 -

         ਬ:

                struct S {
                    S (int);
                    operator int ();
                    int a;
                };

                int fn ( int b, int i, S s )
                }
                    return b ? i : s; //      i     : s.operator
                int()
                                      //   S(i) : s
                }

           ਬ,  "i"  "s"   ਢ   饬
         ⨯.   ᮦ,    ⨯, ⠪  -
         p   ,    ,  -
         筮.

  294        feature not implemented
         p  ন  .

  295        invalid friend declaration
          ᮮ饭 㪠뢠,   p 襫 譨 ᯥ-
         䨪  ⨯ auto,  float  const  
         friend.

           ਬ:

                class C
                {
                    friend float;
                };

  296        friend declarations may only be declared in a class
          ᮮ饭 㪠뢠,    friend 뫮 
            (⥪)  ( ,  । -
         ). Friends ()   ⮫쪮  ⨯ ᮢ.

          ਬ:
               extern void foo();
               friend void foo();


                               - 511 -

  297       friend declaration does not specify a class or function
           㭪     friend.

          ਬ:
               struct T {
                   friend int;    //     㭪
               declaration
               };

  298       class friend declarations cannot   contain   a   class
          definition
          p㣠    ।  . 
         ࠭祭, ॡ㥬  몥 C++.

          ਬ:
               struct S {
                   friend struct X {
                      int f;
                   };
               };

  299       '%T' has already been declared as a friend
         , 㪠  ᮮ饭,  㦥       .
          ⥫쭮  friend.

          ਬ:
               class S;
               class T {
                   friend class S;
                   int tv;
                   friend class S;
               };

  300       function '%S' has already been declared as a friend
         㭪, 㪠  ᮮ饭,  㦥 뫠   fri-
         end ().  譥 .

          ਬ:
               extern void foo ();
               class T {
                   friend void foo () ;
                   int tv;
                   friend void foo ();
               };

                               - 512 -


  301       'friend', 'virtual' or 'inline' modifiers are not part of
          a function's type
          ᮮ饭 㪠뢠,    䨪  -
         ࠢ쭮   . ᫨  p㬥-
         ,      ਭ,  ⮬  䨪
          ਬ ⮫쪮  㭪,     -
           .

         ਬ:     typedef friend (*PF) ( void );

  302       cannot assign right expression to element on left
          ᮮ饭 㪠뢠,   祭   믮-
         .  筮   祭 ⨯   䬥-
         ᪮ ⨯.

          ਬ:
               struct S
               {   int sv;
               };
               S s;
               int foo()
               {
                   int k; '
                   k = s;
                   return k; '
               }

  303       constructor is ambiguous for operands used
         ࠭, p⠢  pp,   p 㭨-
          pp.

          ਬ:
               struct S {
                   S (int);
                   S (char);
               };
               S x = S(1.0);

  304       'class %s' has not been defined
            । । pp  ,
         "::" ᫨ 㪠⥫ 童  .


                               - 513 -
          ਬ:
               struct s;
               int S::* p;       // p쭮
               int S::a = 1;     // 訡 !

  305       all bit-fields in a union must be named
          -  ࠭祭  몥 C++.     ᠬ 䥪 
         ⨣  묨 ⮢묨 ﬨ.

          ਬ:
               Union U
               {   unsigned bitt :10;
                   unsigned :6;
               };

  306       cannot convert expression to type of cast
         ਢ ⠥  ८ࠧ뢠  ࠦ   
         易 ⨯.  p    ⮫ 㪠-
          ਢ.

          ਬ:
               struct T {
               };

               void fn ()
               {
                   T y = (T) 0.
               };

  307       conversion ambiguity: [expression] to [cast type]
         ਢ pp㧪 pp.  ࠭, p⠢-
          pp,  ࠫ 㭨 pp.

          ਬ:
               struct S {
                   S (int);
                   S (char);
               };
               void fn ()
               {
                   S x = (S) 1.0;
               }

  308       an anonymous class without a declarator is useless.
            ᯮᮡ 뫠   ⨯  ⮬  -

                               - 514 -

         .  H㦭 p⠢     ६,
         ᯮ饩   ᢮ ⨯.

          ਬ:
               struct {
                   int a;
                   int b;
               };

  309       a global anonymous union must be declared 'static'
          - ࠭祭  몥 C++.      㭨-
             ꥤ,  㤭  p-
         p C++ ⢨ ࠢ ॠ 譥 -
           ꥤ.

          ਬ:

               static union {
                   int a;
                   int b;
               };

  310       an anonymous union cannot have storage class specifiers in
          this context

          ꥤ,   ⠡ ,  -
           ᪨.  㣮   ⠪ p-
         p襭.

          ਬ:
               class S
               {
               protected:
                   static union
                   {   int iv;
                       unsigned us;
                   };
               };

  311       union contains a 'protected' member
         ꥤ    饭 童,  ⮬  -
              ᮬ.

          ਬ:

                               - 515 -

               static union
               {
                   int iv;
               protected:
                   unsigned sv;
               } US

  312       anonymous union contains a private member '%S'
          ꥤ        㭪樨-童   
         Mends,  ⮬       童,  ⠪ 
                .

          ਬ:
               static union
               {
                   int iv;
               private:
                   unsigned sv;
               };

  313       anonymous union contains a function member '%S'
          ꥤ     㭪権-童.   -
         ࠭祭  몥 C++.

          ਬ:
               static union
               {
                   int iv;
                   void foo();      // 訡
                   unsigned sv;
               };

  314       anonymous union contains a typedefmember '%S'
          ꥤ     ⨯.   -
         ࠭祭  몥 C++.

          ਬ:
               static union
               {
                   int iv;
                   unsigned sv;
                   typedef float F;
                   F fv;
               };

                               - 516 -


  315       anonymous union contains an enumeration member '%S'
          ꥤ      p᫨  童.
          - ࠭祭  몥 C++.

          ਬ:
               static union
               {
                   int iv;
                   enum choice ( good, bad, indifferent );
                   choice c;
                   unsigned sv;
               };

316       anonymous  union  member '%s' is not distinct in enclosing
          scope

              ꥤ p⠢  ᢮ 童
            ꥬ饩    ,      
          䫨⮢  㣨   ⮩ .

          ਬ:

               int iv;
               unsigned sv;
               static union
               {
                   int iv;
                   unsigned sv;
               };

  317       unions cannot have members with destructors
         ꥤ  ᯮ짮 ⮫쪮  ࣠樨 -
           C++. 襭 童 ꥤ  pp
         砫 ,    ᠬ ࠣ    p-
         ⠭ .

          ਬ:
               struct S {
                   int sv1, sv2, sv3;
               };
               struct T {
                   ~T ();
               };

                               - 517 -

               static union
               {
                   S su;
                   T tu;
               };

  318     unions cannot  have  members  with user-defined assignment
          operators
         ꥤ  ᯮ짮 ⮫쪮  ࣠樨 -
            C++.  襭 童 ꥤ  
         祭 砫 ,    ᠬ ࠣ  
           祭 .

          ਬ:
               struct S };
                   int sv1, sv2, sv3; '
               };
               struct T }
                   int tv;
                   operator = ( int );
                   operator = ( float );
               };
               static union
               {
                   S su;
                   T tu;
          subtle restrictions.
                } u;

  319       an anonymous union member cannot have any friends
          ꥤ    friends ("㧥"). 
         - ࠭祭  몥 C++.

          ਬ:
               struct S {
                   int sv1, sv2, sv3;
               };
               static union
               {
                   S su1;
                   S su2;
                   friend class S;.
               };


                               - 518 -

  320      specific versions  of template classes can only be defined
          in file scope
          饥 ६, ᯥ᪨ ᨨ 蠡 ᮢ -
             ⮫쪮   (⥪) 䠩.  
         ⮥ ࠭祭 롨ࠫ        襩
         ᢮.

          ਬ:
               template <class G> class S {
                   G x;
               };

               struct Q {
                   struct S<int> {
                      int x;
                   };
               };

               void foo ()
               {
                   struct S<double> {
                       double x;
                   };
               }

  321      an anonymous  union  in a function may only be 'static' or
          'auto'
         饥 ।  몠 ++  ⮫쪮 "auto" -
          ꥤ.  p WATCOM C++   -
         ᪨   ꥤ.   㣮   
         .

  322       static data members are not allowed in a local class
         ᪨ 童      쭮 ,
         ⮬    ᯮᮡ 뢠 ᪨  童  
         ( ⥪) 䠩.

          ਬ:
               int foo()
               {
                   struct local {
                       static int s;
                   };


                               - 519 -

                   local lv;
                   lv.s = 3;
                   return lv,s;
               }

  323     conversion ambiguity:  (return value J to (return type  of
          function)
         ਢ 맢 pp㧪 pp.  ࠭,  p-
         ⠢  pp,   ࠫ 㭨  -
         pp.

          ਬ:
               struct S {
                   S(int);
                   S(char);
               };

               S fn ()
               {
                   return 1.0;
               }

  324       conversion of return value is impossible
          ⠥  ८ࠧ뢠 ࠦ   -
         易 ⨯. p   p⠢  -
         祭  㪠 ⨯ .

          ਬ:
               struct T {
               };
               T fn()
               {
                   return 0;
               }

  325       function cannot return a pointer based on __self
         㭪   p 㪠⥫ ᭮  __self

          ਬ:     void __based(__self) *fn( unsigned );

  326      defining '%S' is not possible because its type has unknown
          size
         ⮡ । ६,   ⥭  pp,
         ⮡ ࠢ쭮 ⢮   १ࢨ஢.

                               - 520 -


          ਬ:
               class S;
               S sv;

  327       a typedef cannot be initialized
         樠 typedef ᫥  몥 C++.

         ਬ:      typedef int INT = 15;

  328     storage class of '%S' conflicts with previous declaration
          ᨬ  室    ⨢稨   ।騬
          ⭮⥫쭮  .    
          ᪨  譨.

  329       modifiers of '%S' conflict with previous declaration
          ᨬ 室    ⨢稨    ।騬
           ⥫쭮 䨪஢.  ࠢ ணࠬ,
         ᯮ   ᠬ 䨪   .

  330       a function cannot be initialized
         㭪    樠஢  ᨭ⠪ᮬ 樠-
         樨, ।祭  ६.  㭪樨 - -
         ⢥ ᯮᮡ । 㭪樨.

  331     access permission  of  nested  class  '%T'  conflicts with
          previous declaration
         p 㯠   p⨢p p騬 -
         .

          ਬ:
               struct S {
                   struct N;     // public
               private:
                   struct N {    // private
                   };
               };

  332       *** FATAL *** internal error in front end
         ᫨    ᮮ饭,  ᮮ  ⮬ p WAT-
         COM.

  333     cannot convert argument  to  type  specified  in  function
          prototype

                               - 521 -

         H pp p㬥  ⨯,  㪠  p-
         ⨯ 㭪樨.

          ਬ:
               extern int foo( int& );
               extern int m;
               extern int n;
               int k = foo ( m + n );

          ⮬ ਬ,  祭 "m+n"   ८ࠧ뢠 
         뫪 (   ८ࠧ뢠  ﭭ 뫪),
            ᫥饬 ਬ.

          ਬ:
               extern int foo( const int& );
               extern int m;
               extern int n;
               int k = foo ( m + n );

  334     conversion ambiguity:  [argument]  to  [argument  type  in
          prototype]
         p㬥   饭    㭪樨     ८ࠧ,
         ᪮   祬  pp  ।-
          짮⥫ ८ࠧ,    ᯮ짮-
         , ⮡ ८ࠧ뢠 p㬥.

          ਬ:
               struct S;
               struct T
               {
                   T( S& )
               };
               struct S
               {
               operator T ();
               };
               S s;
               extern int foo( T );
               int k = foo( s );      // ᭮

           ਬ,  p㬥 "s"     pp  
         pp   "T" ⠪  ८ࠧ 짮-
            "S".


                               - 522 -

  335       cannot be based on based pointer '%S'
          㪠⥫      ஢  㣮 
         㪠⥫.

          ਬ:
               __segment s;
               void __based(s) *p;
               void __based(p) *q;

  336       declaration specifiers are required to declare '%N'
         p 㦨,      ।⠢  㭪-
         .  쪮  㭪樮      뢠
         ᯥ䨪 .  訡 ⠪ , 
            typedef.

          ਬ:     X;
                    Typedef int;

  337       nested functions are not allowed
          C++        㭪 뢠 
          㣠. ⢥ ᯮᮡ ⨣ ࠭祭 
         ⮣  o    ⮬,  ⮡  ।   
         ஥묨 㭪ﬨ-童.

          ਬ:
               struct S
               {
                   void foo()
                   {
                       static int nested-fun();
                   }
               };

  338       cannot define a based reference
         뫪 C++ 뫪   ஢  祬 㣮.  -
         䨪  __based  ᯮ짮 ⮫쪮  㪠⥫-
         .

          ਬ:
               __segment s;
               void fn ( int __based(s) & x ) ;

  339       conversion ambiguity conversion to common pointer type
         뫠 ᤥ ⪠ ८ࠧ  饬 ᭮ -

                               - 523 -

           ࠧ 㪠⥫.  ८ࠧ 㪠⥫  
          믮,  ⮬  ⨯  㪠뢠  -
          ᭮    室 ⨯.

  340       cannot construct object from argument(s)
           ᮮ⢥饣 pp  p⠢
          p㬥⮢.

  341       number of arguments for function '%S' is incorrect
         ᫮ p㬥⮢  p  饭   㭪樨  ᮮ⢥
         ,    pp㦠 㭪樨.

          ਬ:
               extern int foo( int, int );
               int k = foo ( 1, 2, 3 );

           ਬ,  㭪 뫠 ,     
         p㬥. p 맮 ᯮ짮 p.

  342       private base class accessed to convert cast expression
         ८ࠧ, 饥  ᫥,  ॡ
         㯠  ⭮ ᭮ .  ஢ઠ 㯠  
          ᯥ, ⮬  ८ࠧ  pp蠥.

          ਬ:
               struct Priv
               {
                   int p;
               };
               struct Der : private Priv
               {
                   int d;
               };

               extern Der *pd;
               Priv *pp = (Priv*)pd;

  343       private base class accessed to convert return expression
         ८ࠧ, 饥   ᫥  ॡ
         㯠  ⭮ ᭮ .  ஢ઠ 㯠  
          ᯥ, ⮬  ८ࠧ  pp蠥.

          ਬ:
               struct Priv

                               - 524 -

               {
                   int p;
               };
               struct Der : private Priv
               {
                   int d;
               };

               Priv *foo( Der *p )
               {
                   return p;
               }

  344       cannot subtract pointers to different objects
         ⠭ 㪠⥫  믮 ⮫쪮    ꥪ⮢
          ⨯.

          ਬ:
               #include <stdlib.h>
               size_t diff( float *fp, int *ip )
               {
                   return fp - ip;
               }

           ਬ,  ᮮ饭 p室  ⪨  
         㪠⥫   楫 ꥪ  㪠⥫  ꥪ  -
         饩 窮.

  345      private base class accessed to convert to  common  pointer
          type
         ८ࠧ, 饥    ᫥,  ॡ
         㯠  ⭮ ᭮ . ஢ઠ 㯠  -
          ᯥ譮, ⮬  ८ࠧ  pp蠥.

          ਬ:
               struct Priv
               {
                   int p;
               };
               struct Der : private Priv
               {
                   int d;
               };


                               - 525 -

               int foo( Der *pd, Priv *pp )
               {
                   return pd == pp;
               }

  346      protected base class accessed to convert cast expression
         ८ࠧ, 饥    ᫥,  ॡ
         㯠  ⭮ ᭮ . ஢ઠ 㯠  -
          ᯥ譮, ⮬  ८ࠧ  pp蠥.

          ਬ:
               struct Prot
               {
                   int p;
               };
               struct Der : protected Prot
               {
                   int d;
               };

               extern Der *pd;
               Prot *pp = (Prot*)pd;

  347      protected base class accessed to convert return expression
         ८ࠧ, 饥    ᫥,  ॡ
         㯠  ⭮ ᭮ . ஢ઠ 㯠  -
          ᯥ譮, ⮬  ८ࠧ  pp蠥.

          ਬ:
               struct Prot
               {
                   int p;
               };
               struct Der : protected Prot
               {
                   int d;
               };

               Prot *foo( Der *p )
               {
               return p;
               }

  348       cannot define a member pointer  with  a  memory   model

                               - 526 -

          modifier
         ⥫ 童 뢠,       .
         - ⮣ 㪠⥫ 童   ᨬ  ᮮp-
           .

          ਬ:
               struct S;
                   int near S::*mp;

  349     protected base class accessed to convert to common pointer
          type
         ८ࠧ, 饥    ᫥,  ॡ
         㯠  饭 ᭮ .  ஢ઠ 㯠 
         뫠 ᯥ譮, ⮬  ८ࠧ  pp蠥.

          ਬ:
               struct Prot
               {
                   int p;
               };
               struct Der : protected Prot
               {
                   int d;
               };

               int foo( Der *pd, Prot *pp )
               {
                   return pd == pp;
               }

  350       non-type parameter supplied for a type argument
         ࠬ  ⨯ (pp,    ﭭ ࠦ),
         p⠢  ࠬ ⨯  template  (蠡).  
         ᯮ짮 ⨯.

  351       type parameter supplied for a non-type argument
         ࠬ ⨯ (pp, int) p⠢  p㬥 -蠡-
           ⨯.    ﭭ ࠦ  ᯮ-
         .

  352       cannot access enclosing function's auto variable '%S'
         㭪-童 쭮      -
         ᪨  ६ ꥬ饩 㭪樨.


                               - 527 -

          ਬ:
               void goop ( void )
               {
                   int a;
                   struct S
                   {
                       int foo( int c, int b )
                           {
                               return b + c + a;
                           };
                   };
               }

  353     cannot initialize pointer to non-constant with  a  pointer
          to constant
         ⥫   -ﭭ ⨯   樠஢
         㪠⥫  ﭭ ⨯,  ⮬   㤥  -
          ﭭ   १ -ﭭ 㪠-
         ⥫  .

          ਬ:
               extern const int *pic;
               extern int *pi = pic;

  354       unsigned or pointer expression is always >=0
          ࠦ 㤥 ᥣ ⨭, ⮬   -
          ᥣ ࠡ뢠  稭    ,  
         㤥 ᥣ   ࠢ .

          ਬ:
               extern unsigned j;
               unsigned i = ( j >= 0 );      // always 1
               extern char *p;
               unsigned k = ( 0 <= p );      // ᥣ 1

  355       unsigned or pointer expression is never < 0
          ࠦ 㤥 ᥣ "",  ⮬   -
           ᥣ  ࠡ뢠  稭  ,  
         㤥 ᥣ   ࠢ .

          ਬ:
               exter.n unsigned j;
               unsigned i = ( j < 0 );      // ᥣ 0
               extern char *p;

                               - 528 -

               unsigned k = ( 0 >= p );    // always 0

  356       a type cannot be used in this context
          ᮮ饭  뤠,    ⨯ ᯮ  -
         ⥪,   -⨯  ᯮ짮.

          ਬ:
               struct S {
                   typedef int T;
               };

               void fn ( S *p )
               {
                   p->T = 1;
               }

  357       a virtual function may only be declared in a class
         㠫 㭪樨    ⮫쪮  -
         .   訡   १⮬ p饭 -
         p "C::"  㠫쭮 㭪樨.

          ਬ:
               virtual void foo();
               struct S
               {
                   int f;
                   virtual void bar();
               };
               virtual void bar()
               {
                   f = 9;
               }

  358       '%T' referenced as a union
          ,  ।    pp, 뢠
          ꥤ ( ,  ꥤ S).

          ਬ:
               struct S
               {
                   int s1,s2;
               };
               union S var;


                               - 529 -

  359       'union %T' referenced as a class
          ,  ।    ꥤ,  뢠  
         pp   ( ,  S).

          ਬ:
               union S
               {
                   int s1, s2;
               };
               struct S var;

  360       annot define a pointer to an array of unknown dimension
         ⥫  ᨢ ⭮ ࠧ୮  饥 -
           pp蠥  몥 C++.   - ⭠ ᮢ-
           C,    뫮 ᤥ,  ⮡   ॣ㧪
         㭪権.

          ਬ:     int ( * p) [] ;

  361       function members must be inline in a local class
         㭪樨-童  ᮢ   ஥, ⮬
          C++    㭪樮 ।.

          ਬ:
               void foo ()
               {
                   struct S
                   {
                       int bar ();
                   };
               }

  362     a local class can only have its containing function  as  a
          friend
            ⮫쪮 뢠  ᮤঠ
           㭪権.   ।  㭪, -
           뫠  ⨯ 쭮 .

          ਬ:
               extern void ext();
               void foo()
               {
                    class S
                    {

                               - 530 -

                        int s;
                    public:
                        friend void ext ();
                        int q;
                    };
               }

  363       local class cannot have '%S' as a friend
         ⢥ ,      
         Mend -    ᮡ⢥  .

          ਬ:
               struct ext
               {
                   goop();
               };
               void foo()
               {
                   class S
                   {
                       int s;
                   public:
                       friend class ext;
                       int q;
                   };
               }

  364       adjacent = =, !=, > =, < =, >, < operators
          ᮮ饭 ।० ⭮⥫쭮    ⮣,
              ⮣  祣  ।砫. -
         ࠦ ⨯ "a> b> c" 業  p樮  
         1  0  ⥬ ࠢ  c 㣮 ६.

          ਬ:
               extern int a;
               extern int b;
               extern int c;
               int k = a > b > c;

  365       cannot access enclosing function's argument '%S'
         㭪-童 쭮        p-
         ⠬ ꥬ饩  㭪樨.

          ਬ:

                               - 531 -

                   void goop ( int d ) {
                   struct S
                   {
                       int foo( 'int c, int b )
                           {
                               return b + c + d;
                           } ;
                   } ;
               }

          ਫ

  366       support for switch '%s' is not implemented
         ⢨     믮.  p⠢-
           ᮢ⨬  p WATCOM C.

  367       conditional expression in if statement is always true
         p 㦨,    ࠦ 㤥 ᥣ -
         ⨭.  ᫨   ,   ᮤঠ ࠢ
           祭  㫥 (楫 ᫠   ᥣ
           ࠢ ).  ࠢ  㫥  ᮢ 
         ⠪ p쭮 ਢ  ࠦ ⨭.

          ਬ:
               #define TEST 143
               int foo( int a, int b )
               {
                   if( TEST ) return a;
                   return b;
               }

  368       conditional expression in if statement is always false
         p 㦨,    ࠦ 㤥 ᥣ -
         ⨭.  ᫨   ,   ᮤঠ ࠢ
          祭  㫥 (楫 ᫠    ᥣ
           ࠢ ).  ࠢ  㫥  ᮢ 
         ⠪ p쭮 ਢ  p ࠦ.

          ਬ:
               #define TEST 14-14
               int foo ( int a, int b )
               {
                   if ( TEST ) return a;
                   return b;

                               - 532 -

               }

  369     selection expression in switch  statement  is  a  constant
          value
         ࠦ   switch - ⠭.   砥, 
         ⮫쪮  ⪠ case 㤥 믮. ᫨   -
         , ஢ ࠦ switch.

          ਬ:
               #define TEST 0
               int foo( int a, int b )
               {
                   switch ( TEST ) {
                     case 0:
                       return a;
                     default :
                       return b;
                   }
               }

  370       a constructor is required for a class with a const member
         ᫨     ﭭ  童,  ॡ pp,
         ⮡ 樠஢ .

          ਬ:
               struct S
               {
                   const int s;
                   int i;
               };

  371      constructor is required for a  class  with  a  reference
          member
         ᫨   童 - 뫪, ॡ pp, ⮡
         樠஢ .

          ਬ:
               struct S
               {
                   int& r;
                   int i;
               };

  372       inline member friend function '%S' is not allowed

                               - 533 -

         㭪-,     㭪樥-⮬  㣮
            ।. p  ஥ 㭪権
         - p㧥  饥 ६  pp, ⠪   -
           ⠪ ஥ 㭪権-㧥.

  373      memory model modifiers are not allowed for auto variables
         ⮬᪠ ६    ४஢ -
          ,  ⮬   ᥣ ࠧ頥  ⥪ ( 
         ॣ).

  374     object (or object pointer) required to  access  non-static
          data member
         p諠 뫪  童 .  -᪨, -
         , ⮡   , ꥪ  ॡ.

          ਬ:
               struct S {
                   int m;
                   static void fn()
                   {
                       m = 1;        // 訡!
                   }
               };

  375       user-defined conversion has not been declared
          ।塞  짮⥫ ८ࠧ  뫮
              ᭮ ᮢ.

          ਬ:
               struct S {
                   operator int () ;
                   int a;
               };
               double fn( S *p )
               {
                   return p->operator double();
               }

  376       a virtual function must be a non-static member function
         㭪-      p  ᪮ 
         㠫쭮 㭪樥.  ᪠ 㭪-童   -
           p㬥      ६  㠫쭠 㭪 
           p㬥,  ⮡  뫮 p   ⠡
         㠫 㭪権, ⮡ 뢠 .

                               - 534 -


          ਬ:
               struct S
               {
                   static virtual int foo();    // 訡
                   virtual int bar();           // p쭮
                   static int stat();           // p쭮
               };

  377     protected base   class   accessed   to   convert  argument
          expression
         ८ࠧ 饥  ᫥ ॡ -
         㯠  饭 ᭮ .  ஢ઠ 㯠  뫠
         ᯥ譠, ⮬ ८ࠧ  pp蠥.

          ਬ:
               class C
               {
               protected:
                   C ( int );
               public:
                   int c;
               };
               int cfun( C );
               int i = cfun( 14 );

          ᫥ ப 訡筠, ⠪  pp 饭.

  378     private base class accessed to convert argument expression
         ८ࠧ, 饥    ᫥,  ॡ
         㯠  饭 ᭮ . ஢ઠ 㯠 -
          ᯥ譠, ⮬ ८ࠧ  pp蠥.

          ਬ:
               class C
               {
                   C( int );
               public:
                   int c;
               };
               int cfun( C );
               int i = cfun ( 14 );

          ᫥ ப 訡筠, ⠪  pp .

                               - 535 -


  379      'delete' expression will invoke a non-virtual destructor
          C ++,   㪠⥫ ᭮  -
           p 㪠⥫ ,  ⮬  ᯮ짮-
          ,   ᯮ p㠫 㭪樨  ᭮
         . ஡  ⮬,  "delete"   ࠢ
         ࠧ ⨯    (pp,   -p-
         ⭠  p  "operator delete" ।  ).
          ஡ 蠥 ⥬ ॡ, ⮡ pp 
         ।    㠫,  ᫨ 䭮 (p⨯)
         㤠  ࠡ. ࠦ "delete" 㤥 p㠫-
          뢠 ࠢ pp,    ࠢ
         ࠧ ᥣ ꥪ.   ᮮ饭 p,  , -
             㤠,    㠫  㭪樨,   
         -㠫 pp.  砥,  㤠  -
          ࠡ ࠢ쭮   ⥫⢠.

          ਬ:
               #include <stddef.h>
               struct B {
                   int b;
                   void operator delete( void *, size_t );
                   virtual void fn();
                   ~B();
               };
               struct D : B {
                   int d;
                   void operator delete( void *, size_t );
                   virtual void fn ();
                   ~D();
               };

               void dfn( B *p )
               }
                   delete p;          //   㪠⥫  D!
               {

  380       'offsetof' is not allowed for a function
         㭪-    ᬥ饭      童
         . ᫨  ॡ, ᯮ 㪠⥫ .

          ਬ:
               #include <stddef.h>
               struct S

                               - 536 -

               {
                   int fun ();
               };

               int s = offsetof( S, fun );

  381       'offsetof' is not allowed for an enumeration
         ᫥     ᬥ饭   童 -
         .

          ਬ:
               #include <stddef.h> {
               struct S
               {
                   enum SE ( S1, 52, 53, 54 );
                   SE var;
               };

               int s = offsetof ( S, SE );

  382       'oflsetof' is not allowed for second operand .
         ன ࠭   ᯮ짮  "offsetof".  -
         饭 筮  ;   砥, ⮡ -
         뢠 騥 ७ 몠 C++.

  383       'oflsetof' is not allowed for an undefined type
          ,  ᯮ㥬  offsetof,   p-
         ,  ᬥ饭 童    .

          ਬ:
               #include < stddef.h >
               struct S {
                   int a;
                   int b;
                   int c[ offsetof( S, b ) ];
               };

  384     attempt to override virtual function '%S' with a different
          return type
         㭪       pp  묨 ⨯
         p㬥⮢  p㣨 ⨯ .    -    ⮬
         䠪,     C++  ᬠਢ ⨯  㭪樨
         p pp (ॣ㧪). ᪫祭  ⮬ ࠢ
          몥 C++ 砥 ࠭祭   ⨯ 

                               - 537 -

         㠫 㭪権.   p  p  㠫쭮
         㭪樨    祭  ⨯  ᭮ -
         쭮 㭪樨.

          ਬ:
               struct B {
                   virtual B *fn();
               };
               struct D : B {
                   virtual D *fn();
               };

  385     attempt to  overload function '%S' with a different return
          type
         㭪    pp㦥  묨 ⨯ p-
         ⮢  p㣨 ⨯ p.   -  ⮬ 䠪,
           C++  ᬠਢ ⨯  㭪樨 p  -
         ॣ㧪.

          ਬ:
               int foo( char );
               unsigned foo( char );

  386       attempt to use pointer to undefined class
          ⪠ pp  㢥 㪠⥫  -
         । .     ।,  ࠧ 
         ⥭,  ⠪  p   ஢  -
         ࠦ ࠢ쭮.

          ਬ:
               class C;
               extern C* pc1;
               C* pc2 = ++pcl;

  387       expression is useful only for its side effects
          ࠦ   ᫠.   ࠦ, ,
         ᮤন     䥪⮢.

          ਬ:
               extern int* i;
               void func ()
               {
                   * (i++);
               }

                               - 538 -


          ਬ,  ࠦ  -  뫪  楫  ᠬ  ᥡ
         ᫥.  饭 㪠⥫  ࠦ  -  
         䥪.

  388     integral constant will be truncated during  assignment  or
          initialization
          ᮮ饭 㪠뢠,   p ,  -
          祭  㤥 ࠭ ᫥ 祭. ᫨ 
         ਥ,  ਢ ﭭ 祭  ᮮ⢥饬
         ⨯  祭.

          ਬ:     unsigned char c = 567;

  389     integral value  may  be  truncated  during  assignment  or
          initialization
          ᮮ饭 㪠뢠,   p ,  -
          祭  㤥 ࠭ ᫥ 祭. ᫨ 
         ਥ,  ਢ ﭭ 祭  ᮮ⢥饬
         ⨯  祭.

          ਬ:
               extern unsigned s;
               unsigned char c = s; ,

  390     cannot generate  default  constructor  to initialize 'TOT'
          since constructors were declared
         pp   㬮砭  㤥 ஢ -
         p, ᫨ 㦥   pp. ஡ -
         짮  p㬥   㬮砭,  ⮡   
         pp  pp    㬮砭    ।
         pp  㬮砭 .

          ਬ:
               class C }
                   C ( const C& );
               public :
                   int c;
               };
               C cv;

  391       assignment found in boolean expression
          - ,    p   訡,  ᫨
         ।砫     pp    ࠢ⢮  (ᯮ

                               - 539 -

         "==").

          ਬ:
               int foo( int a, int b )
               {
                   if( a = b ) {
                       return b;
                   }
                   return a;             // ᥣ p 1 ?
               }

  392       '%F' defined %L
          ଠ樮  ᮮ饭  㪠뢠,    ᮬ⥫
         ᨬ ।.  ᮮ饭 ⮡ࠦ ᫥ ᮮ-
           訡  ।०   ᨬ.

          ਬ:
               static int a = 9;
               int b = 89;

          ६ "a"  뢠   ਬ  㤥 -
           p ।०. ᫥ ।०, -
          樮 ᮮ饭 㪠뢠 ப,    ன  "a"  
          .

  393       included from %s(%u )
          ଠ樮 ᮮ饭 㪠뢠   ப  䠩,
           䠩,  ஬ 訡  ।० -
         ஢.   ⠪ ᮮ饭   ᫥
         p뢠  饥 p p⨢ #include.

  394        reference object must be initialized
         뫪   ⠭  ⮫쪮  १  樠.
          뫪    0, ⮬   ᥣ -
         樠஢.

          ਬ:     int & ref;

  395     identifiers that contain a  double  underscore ''should be
          avoided l'TON')
          p C++ ᯮ   ન
         "__", ⮡ १ࢨ஢   p ᯮ짮.
          ᮮ饭 㪠뢠,     ᯮ ,
          १ࢨ  ॠ樥 p.

                               - 540 -


          ਬ:     int __suspect_name = 9;

  396       'main' cannot be overloaded
           ⮫쪮    窠  室    ணࠬ  C++.
         "" 㭪    pp㦥.

          ਬ:
               int main ( ) ;
               int main( int ) ;

  397       a 'new' expression cannot allocate a 'void'
           ⨯ void   ࠧ      -
         祭 ⨯ void,  p ࠧ void.

          ਬ:     void *p = new void;

  398       a 'new' expression cannot allocate a function
         㭪樮 ⨯     pp,  ᪮  
           稬 ࠧ,    ᯮ짮-
         .   ࠦ  ࠧ 㪠⥫   㭪-
         .

         ਬ:
               typedef int tdfun( int );
               tdfun *tdv = new tdfun;

  399       a 'new' expression cannot allocate 'const' or'volatile'
         H pp,  ᪠  () -
         ⠭    ন ᥬ⨪ const  volatile.
         筮 const  volatile ᯮ  ᪨  -
          ꥪ⮢.
                                - 541 -

          ਬ:
               typedef const int con_int;
               con_int* p = new con_int;

  400       cannot convert right expression for initialization
         樠 ⠥ ८ࠧ뢠 ࠦ ࠬ 
          易 ⨯.  p    p⠢
          ᫠  ।祭 ८ࠧ.

          ਬ:
               struct T {
               };
               T x = 0 ;

  401     conversion ambiguity: [initialization expression] to [type
          of object]
         樠 맢  pp㧪  pp.   ࠭,
         p⠢  ⮣ pp,   ࠫ 㭨-
          (⪮ p) pp.

          ਬ:
               struct S {
                   S( int );
                   S( char )
               };
               S x = 1.0;

  402       class template '%S' has already been declared as a friend
          ,  㪠  ᮮ饭,  㦥   
         .  譥  "friend".

          ਬ:
               template <class T>
                   class S;
                class X {
                    friend class S;
                    int f;
                    friend class S;
                };

  403     private base  class  accessed  to  convert  initialization
          expression
         ८ࠧ, 饥    ᫥,  ॡ
         㯠    ⭮  ᭮ .  ஢ઠ 㯠 

                                - 542 -

          ᯥ, ⠪  ८ࠧ  pp蠥.

  404     protected base  class  accessed  to convert initialization
          expression
         ८ࠧ, 饥    ᫥,  ॡ
         㯠  饭 ᭮ .  ஢ઠ 㯠 
          ᯥ, ⠪  ८ࠧ  pp蠥.

  405       cannot return a pointer or reference to a constant object
         ⥫   뫪  ﭭ ꥪ   -
         .

          ਬ:
               int *foo ( const int *p )
               {
                   return p;
               }

  406       cannot pass a pointer or reference to a constant object
         ⥫  뫪  ﭭ ꥪ    -
         ।  p㬥.

          ਬ:
               int *bar ( int * ) ;
               int *foo ( const int *p )
               {
                   return bar ( p ) ;
               }

  407       class templates must be named
           ᨭ⠪  몥 C++,  ⮡ 뫠  -
          蠡 .

          ਬ:
               template <class T>
                   class {
               };

  408       function templates can only name functions
         ६    pp㦥  C++,  ⠪  -
           ࠧ ࠧ ६  ࠧ묨  ⨯-
         .

          ਬ:

                                - 543 -

               template <class T>
               T x[1];

  409     template argument   '%S'  is  not  used  in  the  function
          argument list
          ࠭祭 ࠭,   蠡 㭪権  -
         뢠  ⨯  祭 p⪨ ॣ㧪.  㭪樨 
         饥 ६   pp㦥 ⮫쪮 ᭮뢠 
         ⨯ p㬥⮢.

          ਬ:
               template <class T>
                   int fool int * );
               template <class T>
                   T bar( int * );

  410       destructor cannot be declared 'const' or 'volatile'
         pp    ᯮᮡ 㭪樮஢   -
         ࠧ ᮢ ᨬ  ⮣    const  
         volatile.

  411     static member  function  cannot  be  declared  'const'  or
          'volatile'
         ᪠ 㭪-     ⮣ p㬥-
         ,  ⠪  ᯥ䨪p const  volatile   ᯮ-
         .

  412     only member  functions  can   be   declared   'const'   or
          'volatile'
         㭪 -       ⮣ p㬥,
         ⠪  㭪樮 ᯥ䨪 const  volatile  -
          ᯮ짮.

  413     'const' or  'volatile'  modifiers  are  not  part   of   a
          function's type
         䨪   㭪権 const  volatile   ᯮ-
           typedefs   㪠⥫  㭪. ᯮ-
            ᯥ䨪,  ⮡   ⨯ ⮣
         p㬥,  ⮡ 㭪樨-,    -
          ꥪ,    筮.

          ਬ:
               typedef void (*baddcl)() const; // const p쭮
               struct S {

                                - 544 -

                   void fn () const;
                   int a;
               };
               void S::fn() const   // ""  ⨯  "S const *"
               {
                   this->a = i;        // 訡 !
               }

  414       type cannot be defined in an argument
          ⨯   ।  p㬥,  ⮬  -
          ⨯ 㤥  ⮫쪮  㭪樨.   ⭮
         ।  㭪樨,       뢠,
         ⮬  C++ ᯮ ⭮   ஫
         ᮮ⢥⢨ ⨯.

          ਬ:
               extern foo(struct S { int s; });

  415       type cannot be defined in a return type
          - ࠭祭  ⥪饬 몥 C++.  㭪樮 -
         ⨯  ᯮ짮 ⮫쪮 ।⥫쭮  
         ⨯,  ⮡ ࠭஢,    뢠  -
          㭪権.   ࠭祭 ॡ  蠡, ⮬
          p  㤥    । -
          ०, 祬  ᬮ  ।  蠡 -
           㭪樮 蠡.

          ਬ:
               template <class T>
                   class C {
                       T value;
                   } fn( T x ) {
                       C y;
                       y.x = 0;
                       return y;
                   };

  416       only functions may be declared pure
           ᥬ⨪  몥 C++  ६ pure.

  417       only virtual functions may be declared pure
          C++  ॡ,  ⮡  㭪樨   䥪⮢
         﫨 㠫묨.  㭪  筮 䥪 -
         ⠭ 䥩,      㠫-

                                - 545 -

          㭪権,  ⮬   㭪権 ॡ, ⮡  -
         ।﫨  p .

  418       destructor is not declared in its proper class
          pp     ᮡ⢥   
           p䨪  ᮡ⢥ .   ॡ  몥
         C++.

  419       cannot call non-const function for a constant object
         㭪,   頥   ꥪ,   -
         訢  ﭭ ꥪ.  㭪    
         p    ꥪ,  ᯮ ᯥ䨪 (p-
         䨪) const.

          ਬ:
               struct S {
                   void fn ( ) ;
               };
               void cfn( const S *p )
               {
               p->fn ();           // 訡 !
               }

  420     a memory initializer list may only appear in a constructor
          definition
         ᮪ 樠஢       
         ⥫ 㭪樨 pp.

  421       cannot initialize member '%N' twice
             樠஢   ᯨ᪥ 樠-
         権 ⮢ (童).

  422       cannot initialize base class '%T' twice
         ᭮     ᮧ   ᯨ᪥ 樠-
         権 ⮢ (童).

  423       '%T' is not a direct base class
         樠     ᯨ᪥ 樠権 童
              ᮬ  㠫 -
          ᮬ.

  424       '%N' cannot be initialized because it is not a member
         , ᯮ㥬  ᯨ᪥ 樠権 ⮢,   -
            .

                                - 546 -


  425     '%N' cannot be initialized because it is a member function
         , ᯮ㥬  ᯨ᪥ 樠権 ⮢,  -
          -᪨ 童   .

  426       '%N' cannot be initialized because it is a static member
         , ᯮ㥬  ᯨ᪥ 樠権 ⮢,  -
          -᪨ 童   ,

  427       '%N' has not been declared as a member
          ᮮ饭 㪠뢠,       
         㥬  .    筮 ந室  ⥪
          㯠.

  428       member '%S' does not have an initializer
         ﭭ   뫮      樠,
         ⠪  pp   ।. ᮪ -
         権 ⮢  -  ⢥  ᯮᮡ 樠஢
          ⨯ ⮢.

  429       abstract class '%T' cannot be used as an argument type
         ࠪ     ⢮  ⮫쪮    
          㣮 .   C++     ࠪ⭮
          ᯮ짮  ⨯ p㬥.

  430       function cannot return an abstract class
         ࠪ     ⢮  ⮫쪮    
           㣮  .   C++   ࠪ⭮
          ᯮ짮  ⨯ p.

  431     defining '%S'  is  not  possible  because  its  type is an
          abstract class
         ࠪ     ⢮  ⮫쪮    
           㣮  .   C++   ࠪ⭮
          ᯮ짮   (童)  ६.

  432       cannot convert to an abstract class
         ࠪ     ⢮  ⮫쪮    
          㣮 .   C++     ࠪ⭮
          ᯮ짮  ⨯ p  pp.

  433       mangled name for '%S' has been truncated
         , ᯮ㥬  ꥪ⭮ 䠩,  ஥   
          ⨯ ᨬ,   뢠 ᫮ (mangled) -

                                - 547 -

         .  ।० 㪠뢠,  ᫮  
         ᥪ - ࠭祭  ଠ ꥪ⭮ 䠩.

  434       cannot convert to a type of unknown size
           ⨯   ᯮ짮  ८-
         , ⮬   ࠧ  ⥭.  ८-
         ࠧ 㤥 ⠪ ।.

  435       cannot convert a type of unknown size
           ⨯   ᯮ짮  ८-
         ࠧ  ⮬     ࠧ  ⥭.  
         ८ࠧ ⠪ 㤥 ।.

  436       cannot construct an abstract class
         ࠧ ࠪ⭮    ᮧ, ⮬ 
         ࠪ     ᯮ짮 ⮫쪮  ᭮
         .

  437       cannot construct an undefined class
         ࠧ ।    ᮧ,  ⮬
           ࠧ  ⥭.

  438       string literal concatenated during array initialization
          ᮮ饭 㪠뢠,    (,) 
         ᤥ 祭   ணࠬ.     砥,
           ᮮ饭.

  439       maximum size of segment'%s' has been exceeded for '%S'
          ᨬ 䨪p   ࠧ    ⮣
           맢 p ᥣ,  p p  -
         ।.

  440       maximum data item size has been exceeded for '%S'
           -huge 訩 祬 64   ࠧ.   -
         饭 뢮 ⮫쪮  室 16-pp來 ࠭樨 
         C++.

  441       a function attribute has been repeated
         ਡ 㭪樨 ( p _export) ਫ. -
          譨 ਡ, ⮡ ࠢ .

  442       a modifier has been repeated
         䨪 ( 䨪 _far) ਫ. 
         譨 䨪, ⮡ ࠢ .

                                - 548 -


  443       illegal combination of memory model modifiers
         䨪     ᯮ짮  -
         쭮, ⮬     oꥤ.

  444       argument name '%N' has already been used
           p㬥 㦥 ᯮ짮   ⮬    ᠬ
         ᯨ᪥ p㬥⮢.   pp蠥  몥 C++.

  445     Function definition  for  '%S'  must  be  declared with an
          explicit argument list
         㭪     ।  typedef.  ᮪ ࠬ஢
           .

  446       user-defined conversion cannot return its own class
         ।塞 짮⥫  ८ࠧ    -
          ᮡ⢥ , ⮬   㤥 ᫮ -
          ८ࠧ  室 ॣ㧪.

  447       #pragma contains too many bytes
         ᥢ਩ pp뢠   ᮤঠ  ⮫쪮
         128 ⮢ .

  448       expecting identifier
         䨪   室 ࠡ⪨.

  449       symbol '%S' does not have a segment associated with it
         ⥫     ஢  童 (),  ⮬
              ᥣ,  易   .  
         뢠 ࠧ饭 , ஥  ந室  -
          ᥣ.

  450       symbol '%S' must have integral or pointer type
         ᫨ ᨬ (䨪p)   㣮 ᨬ, 
           ⨯ 楫   㪠⥫.  ᫥  ⨯
         㪠뢠  祭 ᥣ,  ஥ 㤥 ᯮ짮.
          㪠⥫ 砥,    p饭  
          祭 㪠⥫, ⮡ ᮧ  㪠⥫.

  451       symbol '%S' cannot be accessed in all contexts
          (䨪p),   ஬ p 㪠⥫ -
         室  㣮 ,  ⮬     
          ⥪,     p   㪠-
         ⥫.

                                - 549 -


  452       cannot convert class expression to be copied.
         p ८ࠧ     ᪮஢.

  453       conversion ambiguity: multiple copy constructors
           祬  pp ᯮ짮, ⮡ -
         ஢ ꥪ - .

  454       function template '%S' already has a definition
         㭪樮 蠡 㦥 ।  ⥫ 㭪樨. 㭪-
          蠡   । ,  ᫨ ⥫
         㭪樨 筮.

          ਬ:
               template <class T>
                   void f( T *p )
                   {
                   }
               template <class T>
                   void f( T *p )
                   {
                   }

  455       function templates cannot have default arguments
         㭪樮 蠡    p㬥    㬮-
         ,  ⮬     । ⨯ p㬥⮢,  
         㬮砭   p,  ⮡  p㬥  㭪樨  
         ᯥ᪮ ⨯.

          ਬ:
               template <class T>
                   void f2( T *p = 0 )
                   {
                   }

  456       'main' cannot be a function template
          - ࠭祭  몥 C++,  ⮬  "main"   
          pp㦥.  㭪樮  蠡 p⠢ -
            祬  㭪樨 "main".

  457       '%S' was previously declared as a typedef
          C++  ⮫쪮  㭪権  ६ -
         ⢮   ᮢ  ᫥.   - -
           䠪,      ᮢ  ᫥  

                                - 550 -

         뫠   ᠭ ଥ ᫥  ⮣,    ⠪  
         -⨯ 뫮 .

          ਬ:
               typedef int T;
               int T( int )          // 訡 !
               {
               }
               enum E ( A, B, C ) ;
               void E ()
               {
                   enum E x = A;      // ᯮ "enum E"
               }
               class C ();
               void C ()
               {
                   class C x;         // ᯮ "class C"
               }

  458       '%S' was previously declared as a variable/function
          C++  ⮫쪮  㭪権  ६ -
         ⢮   ᮢ  ᫥.   - -
           䠪,      ᮢ  ᫥  
         뫠   ᠭ ଥ ᫥  ⮣,    ⠪  
         -⨯ 뫮 .

          ਬ:
               int T ( int )
               {
               }
               typedef int T;               // 訡 !
               void E ()
               {
               }
               enum E ( A, B, C );
               enum E x = A;                // ᯮ "enum E"
               void C ()
               {
               }
               class C { };
               class C x;                   // ᯮ "class C"

  459     rivate base  class   accessed   to   convert   assignment
          expression

                                - 551 -

         ८ࠧ, 饥    ᫥,  ॡ
         㯠    ⭮  ᭮ .  ஢ઠ 㯠 
          ᯥ, ⠪  ८ࠧ  pp蠥.

  460     protected base  class  accessed  to   convert   assignment
          expression
         ८ࠧ, 饥    ᫥,  ॡ
         㯠  饭 ᭮ .  ஢ઠ 㯠 
          ᯥ, ⠪  ८ࠧ  pp蠥.

  461     maximum size f DGROUP  has  been  exceeded  for  '%S'  in
          segment '%s'
          㪠 ᨬ ⠢  DGROUP     -
          ॢ 64 .     
             (far)  -  ᯮᮡ  p-
         襭 ⮩ ஡.

  462     type of  return  value  is  not  the  enumeration  type of
          function
         頥 祭   ᮮ⢥饣 p᫨-
          ⨯.    ,  楫 祭 ⮬᪨ 
         ८ࠧ뢠  p塞 ⨯   몥 C.

  463     linkage must be first in a  declaration,  probable  cause:
          missing ';'
          ᮮ饭  筮 㪠뢠     -
         ⮩ (;). 䨪    ࢮ 
         p樨, ᫨  ᯮ.

  464       'main' cannot be a static function
          - ࠭祭  몥 C++,  ⮬    "main"  
          譥 ।஢.

  465       'main' cannot be an inline function
          - ࠭祭  몥 C++,  ⮬    "main"  
          譥 ।஢.

  466       'main' cannot be referenced
          - ࠭祭  몥 C++, ⮡ । ॠ-
         樨   室 ࠡ  묨 맮 "ma-
         in".   ந室, ᫨ ॠ  -
          ᯥ樠   "main", ⮡ ᮧ  -
          । .


                                - 552 -

  467      cannot call a non-volatile function for a volatile object
         㭪,   頥   ꥪ, ᯮ騩
         ᥬ⨪ volatile,   뢠   ꥪ  volatile.
         㭪   ᢮ p  ꥪ ⮫-
          १ ᥬ⨪ volatile,  ᯮ ᯥ䨪 volati-
         le.

          ਬ:
               struct S {
                   void fn ( );
               };
               void cfn( volatile S *p )
               {
                   p->fn ();               // 訡 !
               }

  468     cannot convert pointer to constant or volatile objects  to
          'void*'
         H ८ࠧ뢠 㪠⥫  ﭭ   volatile
         ꥪ  "void *".

          ਬ:
               extern const int* pci;
               extern void *vp;
               int k = ( pci == vp );

  469     cannot convert pointer to constant or non-volatile objects
          to 'volatile  void*'
         H ८ࠧ뢠 㪠⥫  ﭭ   volatile
         ꥪ  "volatile void *".

          ਬ:
               extern const int* pci;
               extern volatile void *vp;
               int k = ( pci == vp );

  470     address of  function  is  too  large  to  be  converted to
          'void*'
          㭪樨  ८ࠧ뢠    "void*  ",  ⮫쪮
          ࠧ ꥪ "void" 筮 让, ⮡ ᮤ-
          㪠⥫ 㭪樨.

          ਬ:
               void __far foo() ;

                                - 553 -

               void __near *v = &foo;


  471     address of data object is too large  to  be  converted  to
          'void*'
          ꥪ    ८ࠧ뢠   "void* ",  ⮫쪮
          ࠧ ꥪ "void*" 筮 让,  ⮡  -
         ঠ 㪠⥫.

          ਬ:
               int __far *ip;
               void __near *v = ip;

  472       expression with side effect in 'sizeof' discarded
          ࠦ 㤥 뢠;  ᫥⥫쭮, -
           䥪  ⮬ ࠦ   믮.

          xample:
               int a = 14;
               int b = sizeof ( a++ ) ;

          ਬ,  ६ "a" 㤥   祭 14 ᫥
         ⮣,  "b" 樠஢.

  473       function argument(s) do not match those in prototype
         C ++   ॡ 让 筮  । p㬥⮢
          㭪樨.  ਬ, 㪠⥫  char ᬠਢ -
           㪠⥫  unsigned char ᨬ  ⮣ -
           char  稭.  ᮮ饭 뢮,
           뢠  pp㦠  㭪    
         p㬥⮢   ८ࠧ뢠.  ⠪ ந室,
           ᫮  p㬥⮢  ⫨砥  ᫠,  㪠 
         ⨯.

  474       conversion ambiguity: [expression] to [class object]
         ८ࠧ ࠦ  ꥪ-  筮.

  475       cannot assign right expression to class object
         ࠦ ࠢ      祭    祭
         ꥪ-.

  476     rgument count  is  %d  since  there is an implicit 'this'
          argument
          ଠ樮  ᮮ饭 㪠뢠 ᫮ p㬥⮢ 

                                - 554 -

         㭪樨,  㯮⮩  ᮮ饭  訡. 㭪 - 㭪-
         - ()  p㬥⮬ "this",  ⠪   
            (譨) p㬥.

  477     argument count is %d since there  is  no  implicit  'this'
          argument
          ଠ樮 ᮮ饭 㪠뢠 ᫮ ࠬ஢  
         㭪樨,  㯮⮩  ᮮ饭  訡. 㭪 - 㭪-
            p㬥 "this",  ⠪      
         p㬥⮢    祬 .

  478       argument count is %d for a non-member function
          ଠ樮 ᮮ饭 㪠뢠 ᫮ ࠬ஢  
         㭪樨, 㯮⮩  ᮮ饭  訡. 㭪  㭪-
         -,       㭪 friend.

  479     onversion ambiguity:  multiple  copy constructors to copy
          array '%S'
           祬  pp, ⮡ ஢ 㪠-
          ᨢ.

  480       typedef '%S' has the same name
          C++,     p᫥  ⢮  
         ६  㭪樥 ⮣  ᠬ    -
         .   ।० 㪠뢠,  ⥪饥 
         ᯮ  ᮡ,    typedef 뫮  
         㣮 䠩.  筮 砥,    易-
          ᯮ짮 ⮣  ᠬ .

  481       function/variable '%S' has the same name
          C++,     p᫥  ⢮  
         ६  㭪樥 ⮣  ᠬ    -
         .   ।० 㪠뢠,  ⥪饥 
         ᯮ   ᮡ,    㭪樨/p 뫮
           㣮 䠩.   筮 砥,   
           易  ᯮ짮 ⮣  ᠬ .  ஬
         ⮣,   뫪      p᫥  
           p묨  (  ,  ᯮ짮  "class C' 
         "C"), ⮡ ᫥騥 뫪 ஢ ࠢ쭮.

  482       cannot create a default constructor
         pp  㬮砭   ᮧ, ⮬  -
          pp 뫨   㦤 .


                                - 555 -

          ਬ:
               struct X {
                   X (X&);
               };
               struct Y {
                   X a[10];
               }; ' W
               Y yvar;

          ਬ, ६ "yvar" ⠢ pp -
         pp  㬮砭   "Y".  pp  㬮-
             "Y" ⠥ 뢠 pp  㬮砭 
         "X",  ⮡ 樠஢ ᨢ "a"      "Y".  
         㬮砭 pp  "X"   ।,  ⮬
          㣮 pp 㦥  .

  483       attempting to access default constructor for %T
          ଠ樮 ᮮ饭 㪠뢠  ,   p-
         p  㬮砭 뢠,    ᣥ஢.

  484       cannot align symbol '%S' to segment boundary
          ᨬ  ॡ    祬  ᥣ  
          ᨬ   ࠢ  ࠭  ᥣ-
         .

  485       class friend declaration needs 'class' or 'struct' keyword
          C++ ࠧ  ॡ,  ⮡     p㧥
            " S"  "struct S". p WAT-
         COM C++ ਭ   ᨭ⠪   ।०,
          ⪫  ᨭ⠪  p ⮣ ANSI C++.

          ਬ:
               struct S;
               struct T {
                   friend S;    //   "friend class S;"
               };

  486       cannot take address of overloaded function
          ᮮ饭 㪠뢠,    pp㦠 㭪樨  -
         짮  ⥪,      p騩
         ⨯.  ᪮ p騩 ⨯  㪠뢠, p 
            㭪,  ⮡ ᯮ짮  ⮬ -
         .  樠 ࠢ쭮 ⨯ "temporary" 
         ᮮ⢥饩  㭪樥    ᯮ "temporary"  ⮬

                                - 556 -

         ࠦ.

          ਬ:
               int foo( char );
               int foo( unsigned );
               extern int (*p) ( char );
               int k = ( p == &foo );           // ᡮ

          foo   । ᫥騬 ࠧ:

          ਬ:
               int foo( char ); )
               int foo( unsigned );
               extern int (*p) ( char );
               static int (*temp) ( char ) = &foo;   // 
               temporary
               int k = ( p == temp );                // p쭮

  487     cannot use  address  of  overloaded function as a variable
          argument
          ᮮ饭 㪠뢠,    pp㦠 㭪樨  -
         짮  p㬥 1  㭪樨 ⨫ "...". ᪮
         p騩 ⨯  㪠뢠,  p    
          㭪, ⮡ ᯮ짮  ⮬ ࠦ. 樠-
          ࠢ쭮 ⨯ "temporary"  ᮮ⢥饩
         㭪樥  ᯮ "temporary"  ⮬ ࠦ.

          ਬ:
               int foo ( char );
               int foo ( unsigned );
               int ellip_fun ( int, ... );
               int k = ellip fun ( 14, &foo );      // ᡮ

           foo   । ᫥騬 ࠧ:

          ਬ:
               int foo ( char );
               int foo ( unsigned );
               int ellip-fun ( int, ... );
               static int (*temp) ( char ) = &foo;    // 
               temporary
               int k = ellip-fun ( 14, temp );      // p쭮

  488       '%N' cannot be overloaded

                                - 557 -

          㭪    pp㦥.  㭪樨, -
          ⭮  ⮩ ⥣ਨ,  "operator delete".

  489       symbol '%S' has already been initialized
          ᨬ 㦥 樠஢.    樠-
         ஢ ,  ᫨ 祭 樠樨 -
         .

  490       'delete' expression is a pointer to a function
         ⥫  㭪樨   ।  , -
             㤠.

  491       cannot delete pointer to constant data
         ⥫   ﭭ    ।  -
         , ⮬    㤠.

  492       'delete' expression is not a pointer to data
         ࠦ "delete"  ⮫쪮 㤠 㪠⥫. ਬ,
         ⪠ 㤠 int  pp蠥  몥 C++.

          ਬ:
               void fn ( int a )
               {
               delete a;            // 訡 !
               }

  493       template argument is not a constant expression
         p 襫 pp⭮ ࠦ, p⠢塞 
         祭  p㬥-蠡 ﭭ 祭.  -
         ⢥  ࠦ pp蠥  ᪠ p㬥⮢ 蠡-
          - 楫 ﭭ ࠦ.

  494       template argument is not an external linkage symbol
         p 襫 pp⭮ ࠦ, p⠢塞 
         祭  p㬥-蠡 ⨯ 㪠⥫.  ⢥
         ࠦ,  pp蠥  p㬥⮢ 蠡 - 㪠⥫
          p ᨬ.  ᨬ    -
             ᪨ 童 .

  495       conversion of const reference to volatile reference
         ﭭ 祭   ⥬ 祭   vo-
         latile  뫪.    ᤥ  ⭮ 
         ﭭ  - 訡.


                                - 558 -

          ਬ:
               void fn( const int &rc )
               {
               int volatile &r .= rc;           // 訡 !
               }

  496       conversion of volatile reference to const reference
         祭 volatile    p쭮 ,   
         뫪 const.    p  volatile    
         p쭮 ᥬ⨪.

          ਬ:
               void fn ( volatile int &rv )
               {
               int const &r = rv;       // 訡 !
               }

  497     conversion of  const  or  volatile  reference   to   plain
          reference.
         ﭭ 祭      ⥬  祭  
         뫪 plain.   ᤥ    ⭮  
         ﭭ .   砥 volatile ,   
         뫪 plain  㤥 ᮡ p ⠪   ⠪
         ࠧ 㤥 ࠢ쭮 p  ⨬ .

          ਬ:
               void fn( const int &rc, volatile int &rv )
               {
               int &r1 = rc;           // 訡 !
               int &r2 = rv;           // 訡 !
               }

  499     object ( or object pointer ) required to access non-static
          member function
         p諠 뫪   㭪樨-    .    童
         -᪨,  ⮬ ⮡   , 㦥 -
          .

          ਬ:
               Struct S {
                   int m ( );
                   static void fn ( )
                   {
                       m( );            // 訡 !

                                - 559 -

                   }
               };

  500     object (or  object  pointer)  cannot  be  used  to  access
          function .
          ꥪ  ( 㪠⥫ ꥪ)   ᯮ짮-
         , ⮡   㭪樨.

  501       object (or object pointer) cannot be used to access data
          ꥪ  ( 㪠⥫ ꥪ)   ᯮ짮-
           㯠  .

  502       cannot access member function in enclosing class
          㭪樨-  ꥬ饬   㯠.

  503       cannot access data member in enclosing class
             ꥬ饬   㯠.

  505     virtual member   functions   cannot   have  "..."    style
          parameter lists
          ࠭祭 - ᫥⢨ ⭮⥫쭮    ᮡ
         몠 C++,    祭  
         p 饭 㠫쭮 㭪樨.    ন
          㪠 .

  506     conversion of based ( void ) pointer to virtual base class
         ⥫ _based (void)  ꥪ      p-
         p  㪠⥫  㠫쭮 ᭮ ,  -
           ८ࠧ ਬ ⮫쪮  ᯥ᪨
         ꥪ⠬.

          ਬ:
               struct Base ();
               struct Derived : virtual Base ();
               Derived __based( void ) *p_derived;
               Base __based( void ) *p_base = p_derived;   // 訡

         ८ࠧ 㤥 pp, ᫨ ᭮   
         㠫.

  507     class for left operand is not derived from class for right
          operand
         ८ࠧ 㪠⥫    믮  -
         ᭮  ⮫쪮  ८ࠧ 㪠⥫  

                                - 560 -

           㪠⥫  p .

  508     conversion ambiguity:   [pointer   to   class  member]  to
          [assignment object] '
         ᭮   ࢮ砫쭮 㪠⥫     㭨-
          ᭮  p .

  509     conversion of pointer to class member involves  a  private
          base class
         ८ࠧ 㪠⥫      ॡ  㯠  
         ⭮ ᭮ . ஢ઠ 㯠   ᯥ,
         ⮬ ८ࠧ  pp蠥.

  510     conversion of pointer to class member involves a protected
          base class
         ८ࠧ 㪠⥫    ॡ 㯠  -
         饭 ᭮ .  ஢ઠ 㯠   ᯥ-
         , ⮬ ८ࠧ  pp蠥.

  511     item is neither a  non-static  member  function  nor  data
          member
         ⥫   ᮧ ⮫쪮  --
          㭪権 ⮢  -᪨ ⮢ . -
         p ᪨  ⮢    ਭ 筮 ⠪ 
           p㣨 ꥪ⮢  (⥪) 䠩.

  512     function address  cannot  be converted to pointer to class
          member
          p 㭪樨   ८ࠧ뢠   㪠-
         ⥫   .

  513     conversion ambiguity: [address of function] to [pointer to
          class member]
          ८ࠧ 筮.

  514       addressed function is in a private base class
         ᮢ 㭪 室  ⭮ ᭮ .

  515       addressed function is in a protected base class
         ᮢ 㭪 室  饭 ᭮ .

  516       class for object is not defined
          ࠭  pp ".*"     ⨯  ,
           ।.

                                - 561 -


  517       left expression is not a class object
          ࠭  pp ".*"     ⨯  ,
         ⠪   㪠⥫    ᯮ짮 ⮫쪮 
         ᠬ.

  518       right expression is not a pointer to class member
         ࠢ ࠭  pp ".*"   ⨯ 㪠⥫
         童.

  519       cannot convert pointer to class of member pointer
            ࠭      ८ࠧ뢠  
         㪠⥫ , ⮬    p .

  520     conversion ambiguity:  [pointer] to [class of  pointer  to
          class  member]
          㪠⥫  -  ᭮   -
          ࠭.

  521     conversion of  pointer to class of member pointer involves
          a private base class
          㪠⥫    -    ᭮  
         ࠭.

  522     conversion of pointer to class of member pointer  involves
          a protected base class
          㪠⥫  - 饭 ᭮   
         ࠭.

  523       cannot convert object to class of member pointer
           ࠭     ८ࠧ뢠    
         㪠⥫ , ⮬    p .

  524     conversion ambiguity: [object] to [class object of pointer
          to class member]
          㪠⥫   -  ᭮  -
          ࠭.

  525     conversion of object to class of member pointer involves a
          private base class
          㪠⥫  -    ᭮    
         ࠭.

  526     conversion of object to class of member pointer involves a

                                - 562 -

          protected base class
          㪠⥫   - 饭 ᭮  
         ࠭.

  527     conversion of  pointer to class member from a derived to a
          base class
         ⥫   ८ࠧ뢠 ⮫쪮   ᭮-
            p .   ⨢ ࠢ
         ८ࠧ  㪠⥫.

  528     form is  '#pragma  inline recursion en' where 'en' is 'on'
          or off
          ᥢ਩ 㪠뢠 p  ࠧp뢠
           ஥ 㭪樨,   뢠 ( ,
         ᢥ ) ᫥ ஥ ७.  ᥢp
          㪠뢠 "on"  "off".

  529       expression for number of array elements must be integral
         ࠦ  ᫠ ⮢   ࠦ   
         楫,  ⮬   ᯮ,  ⮡  ࠧ
         뤥塞  (  楫 ᫮).  -
         p    㤥  ⮬᪨  ८ࠧ뢠  楫 ᫮
         - pᮢ 㣫  祭  祭    饩
         ⮩.

  530       function accessed with '.*' or '- > *' can only be called
         뢠  ⮫쪮 p pp ".*"    "->*",
         ⮬        ᯥ᪨  p⭮ 
         ࠭.

  531     left operand must be a pointer,  pointer to class  member,
          or arithmetic
          ࠭   㪠⥫, 㪠⥫  童 -
         ,  䬥᪨.

  532     right operand must be a pointer,  pointer to class member,
          or arithmetic
         ࠢ ࠭      㪠⥫,  㪠⥫   童
         ,  䬥᪨.

  533     neither pointer to class member can be  converted  to  the
          other
         p  㪠⥫ ⮢ -     易
         ᮢ.     ࠢ, ⠪   童  -

                                - 563 -

           뢠.

  534       left operand is not a valid pointer to class member
           ॡ 㪠⥫     -
         ࠭.

          ਬ:
               struct S;
               void fn ( int S: :* mp, int *p )
               {
                   if ( p == mp)
                        p[0] = 1;
               }

  535       right operand is not a valid pointer to class member
            ॡ  㪠⥫  童  ࠢ -
         ࠭.

          ਬ:
               struct s;
               void fn ( int S: :* mp, int *p )
               }
                   if ( mp == p )
                        p[0] =1;
               }

  536     cannot use '.*' nor '- >*' with pointer  to  class  member
          with zero value
         p 㦨 ᯮ짮 㪠⥫ NULL   p묥-
          㪠⥫ 童 ().

  537       operand is not a valid pointer to class member
         ࠭    ८ࠧ  ⨬ 㪠⥫ 
          .

          ਬ:
               struct S;
               int S::* fn ()
               {
                   int a;
                   return a;
               }

  538       destructor can be invoked only with '.' or '->'

                                - 564 -

          - ࠭祭  몥 C++.   맮 pp  
         ४  ꥪ⮢,    ⮬᪨ -
         뢠 pp.

  539     class of   destructor   must  be  class  of  object  being
          destructed
         pp  뢠 ⮫쪮  筮 ᪮ -
          ࠧ蠥 ꥪ.

  540       destructor is not properly qualified
          맮 pp  ᯮ짮 筨⥫ ⮫쪮
         ᮡ⢥ .

  541     pointers to class members reference different object types
         ८ࠧ 㪠⥫ 童   ந室,  ⮫쪮
         ᫨ ⨯ ꥪ⮢ .  室. ⮡ ࠭-
         ஢ ᭮ ⨯.

  542       operand must be pointer to class or struct
          ࠭  pp "->*"   㪠⥫  -
         .  - ࠭祭  몥 C++.

  543       expression must have 'void' type
         ᫨  ࠭  ':'  ⨯ void, ⮣ 㣮
         ࠭  ⠪  ⨯ void.

  544       expression types do not match for ':' operator
         p    ਢ  ࠭  饬 ⨯.  
         室,  ⮬  १⮬ ᫮  -
           㭨 ⨯.

  545       cannot create an undefined type with 'operator new'
          ࠦ   뤥   ।
         ⨯, ⮬    ,    ॡ-
             ⠪ ,    - ᯮ-
         塞 pp.

  546       cannot delete a pointer to an undefined type
         ࠦ delete   㤠 । ⨯, ⮬
                     믮塞
         pp.

  547       cannot access '%S' through a private base class
          㪠 ᨬ  㯠,  ⮬  ॡ -

                                - 565 -

           ⭮ ᭮ .

  548       cannot access '%S' through a protected base class
          㪠 ᨬ  㯠,  ⮬  ॡ -
           饭 ᭮ .

  549       'sizeof' operand contains compiler generated information
          ᯮ㥬    p  "sizeof" ᮤন p,
         ᣥ஢ p. ⪠ pp  饭
          memset() ⢥p   ଠ.

  550       cannot convert ':' operands to a co on reference type
          ⨯ 뫪   ८ࠧ  騩 ⨯ 뫪.
           ,    ⨯  易 १ ᫥-
           .

  551     conversion ambiguioty:  [reference  to object] to [type of
          opposite ':' operand]
           뫮 ⨯ -  ᭮   -
         .  ।頥 p  ८ࠧ ࠭-
           㭨쭮 饬 ⨯.

  552     conversion of reference to ':' object involves  a  private
          base class
         ८ࠧ 뫮  ࠭  ॡ  ८ࠧ
         १  ᭮ .

  553     conversion of reference to ':' object involves a protected
          base class
         ८ࠧ 뫮  ࠭  ॡ  ८ࠧ
         १ 饭 ᭮ .

  554     expression must have type arithmetic pointer,  or  pointer
          to class member
         p   ⨯ p䬥᪨ 㪠⥫  㪠-
         ⥫   .   ᮮ饭 ⠪ 砥, 
             pp     ⨯.  
         㯮 ⨯  ࠢ c 㫥 (0), ⮡ ந-
          祭 "⨭"  "".

  555       expression for 'while' is always false
         p 㦨,    祭  ࠦ 㤥 ᥣ
         "". ᫨    ,   ᮤঠ
         ࠢ    祭    㫥 (楫 ᫠ 

                                - 566 -

          ᥣ 訥 祬  ࠢ ).  ࠢ  㫥
           pᮢ    ⠪ p쭮 ਢ  ࠦ
         "".

  556       testing expression for 'for' is always false
         p 㦨,    祭  ࠦ 㤥 ᥣ
         "". ᫨    ,   ᮤঠ
         ࠢ    祭    㫥 (楫 ᫠ 
          ᥣ 訥 祬  ࠢ ).  ࠢ  㫥
           pᮢ    ⠪ p쭮 ਢ  ࠦ
         "".

  557       message number is invalid
          ᮮ饭,  ᯮ㥬   #pragma,   ᮮ⢥
            ।०饣 ᮮ饭.   ᮮ-
           ⠪ 㪠뢠,  ᫮  "*" ( 
         ।०)  뫨 ,   .

  558       warning level must be a integer in range 0 to 9
          ஢  ।०,    ᯮ짮
          ।०,       0  9. -
          0 砥,  ।० 㤥 ࠡ뢠 
         訡 (࠭ pp頥). ஢  1  9 ᯮ-
         ,  ⮡ ஢ ।०.  -w -
          孥 ࠭祭 ஢  ।०. -
         ⠭   ஢  ࠭祭  ப,  
         䠪᪨   砨,   뢠 ।-
         ०.

  559     function '%S' cannot be defined because it is generated by
          the compiler
          㭪   ।,  ⮬   -
          p.  p 㤥 ⮬᪨ -
         ஢  pp  㬮砭,   pp,
          祭,  pp, ᮣ᭮ ࠢ 몠
         C++.  ᮮ饭 㪠뢠,    﫨 㭪 
         । .

  560       neither environment variable nor file found for '@%s'
          pp    ப 㤥 ᭠砫
         ஢ ६ p 㦭    ᯮ짮  
         ᮤঠ     ப.  ᫨ ६ p 
         , p  䠩  ⥬  ᠬ .


                                - 567 -

  561     more than 5 indirections in command  line  encountered  at
          '@%s'
         p WATCOM C++ pp蠥 ⮫쪮 䨪஢  ᫮
         pp  䠩,  ⮡  ।  室   
         ஫ 楯祪 pp.

  562       cannot take address of non-static member function
         ⢥ ᯮᮡ  ᮧ   祭,  ஥  뢠
         - 㭪  () o  ⮬, ⮡
         ᯮ짮 㪠⥫ .

  563     cannot generate default '%S' because class contains either
          a constant or a reference member
          祭      ஢,  ⮬  
          ᮤন 童,        -
         .

  564     cannot convert pointer to non-constant or volatile objects
          to 'const void*'
         ⥫   -ﭭ    volatile  ꥪ⠬  
         ८ࠧ뢠  "const void*".

  565     cannot convert  pointer  to  non-constant  or non-volatile
          objects to 'const volatile void*'
         ⥫  -ﭭ   volatile  ꥪ⠬    
         ८ࠧ뢠  "const volatile void*".

  566     cannot initialize pointer to non-volatile with  a  pointer
          to volatile
         ⥫   ⨯  -volatile     樠஢
         㪠⥫  ⨯ volatile,  ⮬   㤥  
         volatile        ᥬ⨪  volatile १
         -volatile 㪠⥫  .

  567       cannot pass a pointer or reference to a volatile object
         ⥫   뫪  ꥪ volatile    -
           ⮬ ⥪.

  568       cannot return a pointer or reference to a volatile object
         ⥫  뫪  ꥪ volatile   -
         .

  569       left expression is not a pointer to a volatile object
         H   㪠⥫    ⨯  volatile  㪠⥫ 

                                - 568 -

         -volatile ⨯.    ꥪ volatile  
         १  -volatile 㪠⥫.  ᯮ ਢ,  ᫨
          ᮫⭮ 室.

  570     virtual function override for '%S' is ambiguous;  possible
          overrides include '%S' and '%S'
          ᮮ饭 㪠뢠,    ࠩ   -
         饭   㭪樨  ᭮ .  p  
         ந쭮  ,  ⮬  易  ணࠬ-
          㤮⮢,    롮.

  571     initialization priority must be number  0-255,  'library',
          or 'program'
         ࠢ ਮ 樠樨  㪠. ஢-
          "㪮⢮ 짮⥫"  ࠢ쭮 ଠ ४-
         ⨢ pp.

  572       previous 'case' label defined %L
          ଠ樮 ᮮ饭 㪠뢠,    ।
         ⪠ pp "case" ।.

  573       previous 'default' label defined %L
          ଠ樮 ᮮ饭 㪠뢠,    ।
         ⪠  㬮砭 ।.

  574       label defined %L
          ଠ樮 ᮮ饭 㪠뢠,   ⪠ ।-
         .

  575       label referenced %L
          ଠ樮  ᮮ饭  㪠뢠,    p
         뫪  .

  576       object thrown has type: %T
          ଠ樮 ᮮ饭  㪠뢠  ⨯  p뢠
         (thrown) ꥪ.

  577       object thrown has an ambiguous base class %T
         饭  (throw) ꥪ  ᭮ ᮬ,  -
         ஬ ८ࠧ 㤥 筮.

          ਬ:
               struct ambiguous( );
               struct base1 : public ambiguous ( );

                                - 569 -

               struct base2 : public ambiguous (. );
               struct derived : public base1, public base2 ( );
               foo( derived &object )
               {
                   throw object;
               }

         Throw 맮 뢮 訡, ⮬  ꥪ ⨯ "derived"
           ८ࠧ뢠  ꥪ ⨯ "ambiguous".

  578     form is '#pragma inline depth level' where 'level' is 0 to
          255
          ᥢ਩ ⠭ ᪮쪮 ࠧ  ஥
         ७ 㤥 ந室  ஥ 㭪樨, 
         ᮤন 饭   ஥  㭪.  ஢  
          ᫮    255.   ஢ - ,  
         ஥ ७  ந室.

  579       pointer or reference truncated by cast
         ࠦ ਢ 뢠 ८ࠧ 祭 㪠-
         ⥫  㣮 祭 㪠⥫ 襣 ࠧ.   -
          뢠 ᯥ䨪p _near  _far ( , -
           㪠⥫   㪠⥫). ⥫
         㭪権  ⠪  p㣮 ࠧ 祬 㪠⥫ 
          ।  .  ᪮  ᮮ饭 㪠-
         뢠,      ଠ ﭠ,  ஢ 
         ⥫쭮.

  580     cannot find  a  constructor for given initializer argument
          list
         ᮪ 樠஢, p⠢   ࠦ
           㭨쭮  constructor.

  581     variable '%N' can only  be  based  on  a  string  in  this
          context
          䨪 based  ਬ ⮫쪮  ⨯ 㪠-
         ⥫. ⢥ 䨪 based,    -
             㪠⥫  ⨯,   "__based (__segname
         (WATCOM))".

  582       memory model modifiers are not allowed for class members
            뢠  ᯮ   
         ,  ⠪, ਭ   , ᯮ㥬-
          ⮡   童.

                                - 570 -


  583       redefinition of the typedefname '%S' ignored
         p 㦨,   ࠧ ⨯  祭
           typedef.   ⨯ - 㭪樮쭮 ⥭,  
         pp typedef   ᮢp襭 .

  584       constructor for variable '%S' may not execute
         ६   ᮧ,   믮  -
         樨,  㪠뢠 ᮮ饭.   C++ ⠭ 
         ࠭祭,  ⮡  । ᯮ짮 ᮧ
         ६.

  585     syntax error;  missing  start  of  function   body   after
          constructor initializer
         樠 ⮢  ᯮ짮 ⮫쪮  -
          pp.

          ਬ:
               struct S {
                   int a;
                   S ( int x = 1 ) : a(x)
                   {
                   }
               };

  586     conversion ambiguity:  [expression]  to  [type  of default
          argument]
         ८ࠧ   筮 ᭮  뫮 -
         㦥  ࠦ p㬥  㬮砭.

  587     conversion of   expression   for   default   argument   is
          impossible
         ८ࠧ  易  뫮 㦥  -
          p㬥  㬮砭.

  589       private base class accessed to convert default argument
         ८ࠧ  ⭮ ᭮  뫮 㦥 
         ࠦ p㬥  㬮砭.

  590     protected base class accessed to convert default argument
         ८ࠧ  饭 ᭮  뫮 㦥-
           ࠦ p㬥  㬮砭.

  591       operand must be an 'lvalue' (cast produces 'rvalue')

                                - 571 -

         p  祭,  p   믮
         pᢠ.  p ਢ    믮-
          祭,  ⮬  ᮢp襭  祭  ᥣ
         ᮧ.  祭   祭  ६ - -
         ᫥ .

  592     left operand must be an 'lvalue' (cast produces 'rvalue')
         p  祭,  p   믮
         祭.   p ਢ    믮
         祭, ⮬  ᮢp襭  祭 ᥣ ᮧ-
         .  祭  祭  ६ -  -
          .

  593     right operand must be an 'lvalue' (cast produces 'rvalue')
         p  祭,  p   믮
         祭.   p ਢ    믮
         祭, ⮬  ᮢp襭  祭 ᥣ ᮧ-
         .  祭   祭  ६ - -
          .

  594       construct resolved as a declaration/type
          C++ ᮤন 筮 몠,   㦤
         p   ⥫  ଠ,  ⮡
          । 樨 몠.  ⥫쭠 -
         ଠ,  ॡ㥬  p  筮,  
         室 ⥬ pᬮp p  室 䠩.  ⮫-
            , p  த
         ஢ 室 ⥪.  . "Ap p㪮-
         ⢮   " p. 93   p p樨. 
         ।०  ।砥  ᮮ饭 ணࠬ 
         ⮬,   筠   襭    ।
         ࠢ.    砥,   । 
           ⨯. ⥫쭮 p襭   -
         㥬 p, ⮬ 뫮  p 
         室 ⥪ ⠪,  ⮡ p ⠫ 筠. 
         ᮡ     ,   ࠧ ᯮᮡ -
          祬  ᥬ  砫 筮.

  595       construct resolved as an expression
          C++ ᮤন 筮 몠,   㦤
         p   ⥫  ଠ,  ⮡
          । 樨 몠.  ⥫쭠 -
         ଠ ॡ㥬  p 筮   -
         室 ⥬ pᬮp p  室 䠩.   ⮫쪮

                                - 572 -

           ,  p    த
         ஢ 室 ⥪.  . "Ap p㪮-
         ⢮   " p. 93   p p樨. 
         ।०  ।砥  ᮮ饭 ணࠬ 
         ⮬,   筠   襭    ।
         ࠢ.    砥,   । 
           p (㭪樮쭮- p-
           ⨯).  ⥫쭮 p襭   ᯮ㥬
         p,  ⮬ 뫮  p    室
         ⥪ ⠪,  ⮡ p ⠫ 筠.  ᮡ
           ,   ࠧ ᯮᮡ -  祬
          ᥬ  砫 筮.

  596       construct cannot be resolved
          C++ ᮤন 筮 몠,   㦤
         p    ⥫ ଠ,  ⮡
          । 樨 몠.  ⥫쭠 -
         ଠ,  ॡ㥬   p 筮,  
         室 ⥬ pᬮp p  室 䠩.  ⮫-
             ,  p  த
         ஢ 室 ⥪.  . "Ap p㪮-
         ⢮   " p. 93   p p樨. 
         ।० ।砥  ᮮ饭 ணࠬ  
         ⮬,    筠   襭 p.
         ,  ᮮ  p WATCOM,  ⮡ ஡ 뫠
         祭.
                                - 573 -

  597     encountered another     ambiguous     construct     during
          disambiguation
          C++ ᮤন 筮 몠,   㦤
         p    ⥫ ଠ,  ⮡
          । 樨 몠.  ⥫쭠 -
         ଠ, ॡ㥬  p 筮  -
         室 ⥬ pᬮp p  室 䠩.   ⮫쪮
             ,  p  த
         ஢ 室 ⥪.  . "Ap p㪮-
         ⢮   " p. 93   p p樨. 
         ।० ।砥  ᮮ饭 ணࠬ  
         ⮬,   筠  뫠  p
         筮 p樨.  p  p  p쭮
         p᭨  p. pࠬ ᮢ 
         ,   뢠  ।०, ⮬  
         - । p᭥ ppp  몥 C++.

  598     ellipsis (...)   argument   contains   compiler  generated
          information
           㠫묨 㭪ﬨ  㠫묨  -
           㭪樨,   㤥  ⨯ p㬥.  
           ଠ     ஢  ᯮᮡ,
            㤥 ७ᨬ  㣨 ।.

          ਬ:
               struct S
               {   virtual int foo();
               };
               static S sv;
               extern int bar ( S, ... );
               static int test = bar( sv, 14, 64 );

         맮 "bar" 뢠 뢮 ।०,  ᪮ -
          S ᮤন ଠ, 易  㠫쭮 㭪樥
          ⮣ .

  599       cannot convert argument for ellipsis (...) argument
          p㬥    ᯮ짮  p㬥 ellipsis
         (...)  㭪樨.

  600     conversion ambiguity:   [argument]  to  (ellipsis    (...)
          argument]
         筮 ८ࠧ 뫠 㦥 p  pp-
          p㬥  p㬥 ellipsis (...).

                                - 574 -


  601     converted function  type  has   different   #pragma   from
          original function type
         ᪮ ᥢp (p)  ⢮ 
         ᮣ襭  맮,    祭 p p 믮-
           ਢ  ⨯,   ࠧ ᮣ襭 
         맮.

  602     class value used as return value or argument in  converted
          function type
         p 㦨 ਢ  㭪樮묨 ⨯
           p   "C"  "C++".  襭  맮
         ࠧ  -  ࠧ  ࠢ  몮    ஢
         .

  603     class value  used  as return value or argument in original
          function type
         p 㦨 ਢ  㭪樮묨 ⨯
          p  "C"  "C++".  襭    맮
         ࠧ  -  ࠧ  ࠢ  몮    ஢
         .

  604     must look  ahead  to  determine  whether  construct  is  a
          declaration/type or an expression
         C ++  ᮤন 筮 몠,   㦤
         p    ⥫ ଠ,  ⮡
          । 樨 몠.  ⥫쭠 -
         ଠ, ॡ㥬  p᭥ 몠  室 -
         ⥬ pᬮp ।  室 䠩.  ᫨  ⮫쪮  
          ,  p  த -
         ஢ 室 ⥪.  .  "p p㪮⢮  
          /++" p.  93  襩 p樨.   ।-
         ० ।砥  ⮣,  ⮡ ᮮ  ணࠬ-
         ,  ᯮ짮 筠 . -
         ⥫쭮 p襭   ᯮ㥬 p, -
          뫮  p  室 ⥪ ⠪,  ⮡ 
           뫠 筠.

  605       assembler error: '%s'
         訡 뫠  㦥 ஥ ᥬ஬ ᥢ-
         p.

  606       default argument  expression  cannot  reference 'this'
         冷 ᫥ p㬥⮢ 㭪権 ।  㬥-

                                - 575 -

         樨 몠 C++. ⮬, p㬥  㬮砭  -
          ०, 祬 業 p㬥 "this" (  
         㣮 p㬥).

  607       #pragma aux must reference a "C " linkage function '%S'
         ⮤ 祭  ଠ樨 ᥢ १ ᨭ⠪-
          #pragma p⠢  ᮢ⨬    WATCOM  C.
         ᪮  C   ⮫쪮  㭪  p⭮
         ,  뫮 ⭮  몠 C. ᪮ C++ -
           pp㧪 㭪権,     ⮤ 뫮 
         ᥢਥ.

          ਬ:
               #pragma aux this_in_SI parm caller [si] [ax];
               struct S {
                   void __pragma("this_in_SI") foo( int );
                   void __pragma("this_in_SI") foo( char );
               };

  608       #pragma aux has already been set in '%S'
         p   㪠뢠  䨪樨  
         ᨬ. p ᯮ⥫ ᥢਥ 
         oꥤ १ ᨭ⠪ ᯮ⥫ ᥢ-
         p (.  "㪮⢮ 짮⥫"  ஡ p-
         樨).

  609       pragma name '%s' is not defined
         ᥢਨ । p ᨭ⠪ ᯮ⥫-
          ᥢp.  .  "㪮⢮  짮⥫"  
         ஡ ।  ᥢ. ᫨ ᥢ-
         ਩ ।,  ⮣ ஢     㪢
         ।  뫪   ᥢ.

  610       '%S' could not be generated by the compiler
         訡 ந諠   ६  p ஡  -
         ஢  㭪.  訡   p p쭮
         ᣥpp 㭪,  ⮬ ࠭    த-
         .

  611       'catch' does not immediately follow a 'try' or 'catch'
         ⠪ p稪 "catch"  ᯮ짮  
          "try".

          ਬ:

                                - 576 -

               void f()
               {
                   try {
                       //  p  "throw" ᪫⥫
                       // 
                   } catch( int x ) {
                       // p⪠ ᪫⥫쭮 樨 'int'
                   } catch ( ... ) {
                       // p⪠ p㣨 ᪫⥫ 権
                   }
               }

  612       preceding 'catch' specified
           p㬥 p稪 "..." catch 㤥 ࠡ-
         뢠  ⨯ ᪫⥫쭮 樨 (᪫祭), -
           p㣨  p稪 "catch"   ⢮ ᫥
         ,  ⮬      믮. 㯮-
         冷  p稪  "catch"  ⠪,  ⮡ p稪 "..."
         catch  ᫥ p稪.

  613     argument to  extern   "C"   function   contains   compiler
          generated information
           㠫묨 㭪ﬨ  㠫묨  -
            㭪樨,    㤥  ⨯ p㬥.  -
           ଠ   ஢  冷  ᯮ-
         ,    㤥 ७ᨬ  㣨 ।.

          ਬ:
               struct S
               { virtual int foo();
               };
               static S sv;
               extern "C" int bar ( S ) ;
               static int test = bar( sv );

         맮 "bar" 뢠 뢮 ।०,  ᪮ -
          S ᮤন ଠ, 易  㠫쭮 㭪樥
          ⮣ .

  614       previous try block defined %L
          ଠ樮 ᮮ饭 㪠뢠,   p ।-
         騩  "try".

  615       previous catch block defined %L

                                - 577 -

          ଠ樮 ᮮ饭 㪠뢠,   p ।-
         騩  "catch".

  616       'catch' handler can never be invoked
         ᪮ p稪   "try" ᯮ  浪
         , ⨯, ।  ।饬 "catch", 
         ࠭஢,  ⥪騩 p稪   㤥 -
         .    ந室,   ᭮  ( 뫪)
         । p  ( 뫪);   㪠-
         ⥫  ᭮  ( 뫪  ⮬ 㪠⥫) ।-
          㪠⥫  p  ( 뫪  ⮬
         㪠⥫); ,  "void*" "void*&" । 㪠-
         ⥫  뫪  ⮬ 㪠⥫.

          ਬ:
               struct BASE ();
               struct DERIVED public BASE ();
               foo()
               {
                  try {
                      // code for try
                  } catch( BASE b ) {     // [1]
                      // code
                  } catch( DERIVED ) {    // 訡 : [1]
                      // code
                  } catch( BASE* pb ) {   // [2]
                      // code
                  } catch( DERIVED* pd ) {// 訡 : [2]
                      // code
                  } catch( void* pv ) {   // [3]
                      // code
                  } catch( int* pi ) {    // 訡 : [3]
                      // code
                  } catch( BASE& br ) {   // 訡: [1]
                      // code
                  } catch( float*& pfr ) {// 訡: [3]
                      // code
                  }
             }

          訡筠 ᯥ䨪 "catch" 㪠뢠 ।-
         騩  "catch",  맢 訡.

  617     cannot overload  extern  "C" functions (the other function

                                - 578 -

          is '%S')
          C++  pp㦠 ⮫쪮 㭪樨,   -
          ண 㭪ﬨ ++. p 㤥 ⮬᪨
         ஢ ࠢ , ⮡ ⫨  ⤥
         㭪 ᭮뢠  ⨯  p㬥⮢.  堭  譥
         裡    "C"    । ⮫쪮  㭪
         ᯥ᪮  ,  ⮬   C   p
         pp㧪 㭪権.

  618     function will  be  overload  ambiguous  with  '%S'   using
          default arguments
          p  㭪,    -
         稬  㣮 㭪樨 ⮣  ᠬ   p㬥⠬
          㬮砭.

          ਬ:
               void fn ( int, int = 1 ) ;
               void fn( int ) ;            // 訡!

         맮 㭪樨 fn   p㬥⮬ 祭, ⮬ 
           ᮮ⢥⢮  ࢮ  fn    p㬥⮬  
         㬮砭  ன fn  p㬥⮢  㬮砭.

  619     linkage specification    is    different   than   previous
          declaration '%S'
         䨪       뢠  
         ணࠬ.  ন ⨢稢, ⮬ 
         訥  ஡   묨 p ࠢ쭮 -
          㭪樨.  筮  訡 ।頥 訡  -
         襭 ᨬ p ,  ⮬   p樨
         p  ᯥ䨪樥 .

          ਬ:
               extern "C" void fn ( void );
               void fn( void )
               {
               }

  620       not enough segment registers available to generate '%s'
         - 樨 権, ᫮ 㯭 ᥣ ॣ஢
         ᫨誮 .    ந室   ᫨誮  讥
         ⢮  ᥣ ॣ஢ ppp.   
         p ⥬  権   ப,  ⮡
         ppp  ⮫쪮  ᥣ ॣ,   -

                                - 579 -

         ⢨⥫쭮   ppp.

  621       pure virtual destructors must have a definition
          -   "pure" 㠫 㭪権.  pp -
         ⢥ ᯥ樠쭠 㭪,  ᫥  p-
         p蠥    㠫쭮.  p    
         ᯮᮡ 뢠 pp ᭮  ⠪,   "pu-
         re"  ()  㠫  pp   뢠 
         ணࠬ C++.

  622       jump into try block
         室   室   "try".

          ਬ:
               foo( int a )
               {
                   if(a) goto tr_lab;
                   try {
               tr_lab:
                       throw1234;
                   } catch( int ) {
                       if(a) goto tr_lab;
                   }
                   if(a) goto tr_lab;
               }

          ।騥 "goto" 饭.  訡 㦥  ⪥
          室 p   "goto"   室.

  623       jump into catch handler
         室   室  p稪 "catch" .

          ਬ:
               foo( int a )
               {
                   if ( a ) goto ca_lab;
                   try {
                       if (a) goto ca_lab;
                   } catch( int ) {
               ca_lab:
                   }
                   if(a) goto ca_lab;
               }


                                - 580 -

          ।騥 "goto" 饭.  訡 㦥   ⪥
          室 p   "goto"   室.

  624       catch block does not immediately follow try block
          ࠩ   p稪  "catch"    
         ᫥  ")"  "try".

          ਬ:
               extern void goop()
               void foo()
               {
                   try {
                       goop ( );
                   }              //  ᫥  catch!
               }

          ਬ,    "catch" ᫥  "try".

  625     exceptions must be enabled to use feature (use -xs switch)
         ᪫祭 ᪠,  㪠뢠  -xs p 맮 -
         p.   ᮮ饭  訡  㪠뢠,    ⠪
         ᮡ  "try",  "catch",  "throw"  㭪樮쭠
         ᯥ䨪 ᪫祭 ᯮ짮  pp襭 ᪫-
         祭 (᪫⥫ 権).

  626       I/O error reading '%s': %s"
          ⪥    䠩 筨   ,
         p諠 㪠 訡 ⥬.  ⭮,  ஡-
           묨 ।⢠  pp襭 䠩  -
         .

  627       text following pre-processor directive
         H p⨢ #lse  #endif,  p묨 ᫥ -
         ᥬ,     ப.  ९ ⨫ UNIX
         﫨 ,     ⨬    ⠭p  C  
         C++. p  ᥬ.

  628       expression is not meaningful
          ᮮ饭 㪠뢠,  㪠 ࠦ  稬.
         ࠦ 稬,  ᫨ 뢠 㭪, ᫨ 祭
          樠 믮,    ⨯ ࠦ p-
           void.

          ਬ:

                                - 581 -

               void foo( int i, int j )
               {
                   i + j;     // ᫥
               }

  629       expression has no side effect
          ࠦ  뢠    䥪.  
         䥪 뢠 맮 㭪樨, 祭  樠-
         樥,   ६ volatile.

          ਬ:
               int k;
               void foo( int i, int j )
               {
                  i + j, //   䥪⮢ ( )
                  k = 3;
               }

  630       source conversion type is "%T"
          ଠ樮 ᮮ饭 㪠뢠 ⨯ ࠭ 筨-
         ,  ।饩 ⨪ ८ࠧ.

  631       target conversion type is "%T"
          ଠ樮 ᮮ饭 㪠뢠  ⨯ ८-
         ,  ।饩 ⨪ ८ࠧ.


              C.2. ଠ樮 饭

  12000     Not enough memory to fully optimize procedure '%s'
         p   筮 ,  ⮡  -
         ஢  楤.

  12001     Not enough memory to maintain full peephole
          ᮮ饭,  ᮮ饭 12000.  뢮, ⮫-
          ᫨ ஢ ।० 訩  ࠢ 4. ᭮
         p祭 ⮣ ᮮ饭 -  ,  p -
         pᮢ  ९த஢ 筮 ⠪  ꥪ⭮ ,
            ᠬ 室  䠩      ࠧ
         .  ,      ᬮ ந 筮  
         ꥪ  p p ஢, ᫨ 㯭 -
           筮   ᠬ.



                                - 582 -


            饭  訡  p 믮 pp

  1.    Assertion failed: %s, file %s, line %d
          ᮮ饭 ⮡ࠦ 直 ࠧ,  ⢥ত -
         ஥  ᤥ  襩 ணࠬ  p.

  2.    Stack Overflow !
          ணࠬ  ⠥  ᯮ짮    p⢠
         ⥪,  祬 㯭.  ᫨  ,   ணࠬ
         ࠢ쭠,   㢥稢 ࠧ ⥪, ᯮ -
          "stack=nnnn" p  ணࠬ.   ⥪ -
          ⠪ । 樥 "N" ᫨  ᯮ "cc".

  3.    Floating-point support not loaded
          맢   㭪権 printf  ଠ⮬ "%e", " %f, 
         "%g",    । 祭  饩 ⮩. -
         p    뫪  ६ "_fltused_" 直 ࠧ,
           । 祭  饩 ⮩    㭪樨.
         ᫨  祭 䠧  뢠 "_fltused_",   
          ਪ pp  ᥭ ⥫ p-
         p pp 饩 ⮩.  ,  砥
         ⮫쪮 pp pp 稭  饩  -
         ⮩.

  4.    * * * NULL assignment detected
          ᮮ饭 ⮡ࠦ,  ᫨     
         32 ⮢ ᥣ  襩 ணࠬ . ஢-
          믮  p p 室 襩 ணࠬ   -
         樮 ⥬.    砥,   ᮮ饭  ,
          -  室 믮 襩 ணࠬ,   -
           﫠.  ⮡ p ஡,  㦭 
          ਪ ணࠬ  ⫠筮 ଠ樥  ᯮ-
          ,  ⮡ ஫஢  믮.  砫,
         믮 ਪ ணࠬ         -
         . ᫥  16 ⮢ ᥣ  ("exami-
         ne_nullarea")    "஡", ⮡ 㢨 ᫥-
         騥  16  ⮢.   祭,    ࠢ 
         011, . १㧨 ਪ ணࠬ, ⠭-
           ⪨    祩,    -
          ᭠砫.  㤥 ⠭,  㪠-
          祩 .



                                - 583 -

                C.3. 祭 errno   

       騥 訡   ஢  ⥪  প
  믮 .    訡 ᮮ⢥ ⨯ 訡, ।-
    errno.h.

  EOK (0)
        訡

  EPERM (I)
         ࠧ襭

  ENOENT (2)
        ⠪ 䠩  ⠫
        䠩  ⠫  .

  ESRCH (3)
        ⠪ 

  EINTR (4)
       ࢠ 饭  㭪樨

  EIO (5)
       訡 /뢮

  ENXIO (6)
        ⠪ ன⢠  

  E2BIG (7)
       ᮪ p㬥⮢ ᫨誮 让
       ᮪ p㬥⮢,  ।  㭪 spawn.., exec.., 
       ⥬ ॢ蠥 ࠭祭,   QNX,  ଠ-
        । ॢ蠥 64 .

  ENOEXEC (8)
       訡 ଠ Exec
       ᯮ塞 䠩  ⨬ ଠ.

  EBA DF (9)
       宩 ⥫ 䠩
       ⥫ 䠩  ⨬  祭  ⥫  䠩
          ᮮ⢥ ⮬ 䠩.

  ECHILD (10)

                                - 584 -

        ஦ ᮢ

  EAGAIN (11)
        㯭; ⠩ ᭮

  ENOMEM (12)
        筮 ⢮ 
        筮 ⢠ 㯭 ,  ⮡ 믮
       㪠 .

  EACCES (13)
        ⪫
          ॡ㥬 㯠  䠩.

  EFA ULT (14)
       宩 

  ENOTBLK (15)
       ॡ 筮 p⢮

  EBUSY (16)
        

  EEXIST (17)
        
        ⪠  ᮧ  䠩   䫠 O_EXCL (᪫⥫-
       ),  䠩 㦥 .

  EXDEV (18)
       室 
        ⪠ २뢠 䠩  ⫨饥 ன-
       ⢮.

  ENODEV (19)
        ⠪ ன⢠

  ENOTDIR (20)
        ⠫

  EISD IR (21)
        ⠫

  EINVAL (22)
       ⨬ p㬥

                                - 585 -

       ⨬ 祭 㪠뢠        p㬥⮢
       㭪樨.

  ENFILE (23)
       誮 讥 ⢮ 䠩  ⥬
          FILE 室  ᯮ짮,  ⠪  
       䠩   뢠.

  EMFILE (24)
       誮 讥 ⢮  䠩
       H  㯭 ⥫ 䠩,  ⠪    䠩
         뢠.

  ENOTTY (25)
       ᮮ⢥  ࠢ / 뢮

  ETXTBSY (26)
       ⮢ 䠩 

  EFBIG (27)
        ᫨誮 让

  ENOSPC (28)
        ⠫   ன⢥
        ⠫     ன⢥,  筮 -
       ,   .

  ESPIPE (29)
       㤠 

  EROFS (30)
       䠩 ⥬ "⮫쪮  ⥭"

  EMLINK (31)
       誮  痢

  EPIPE (32)
        

  EDOM (33)
       ⥬᪨ p㬥   㭪樨
       p㬥   ⥬᪮  㭪樨      ⨬ 
       㭪樨.


                                - 586 -

  ERANGE (34)
        ᫨誮 让
        ⥬᪮  㭪樨        ।⠢
       (᫨誮 쪨,  ᫨誮 让).

  ENOMSG (35)
        ᮮ饭 ⥫쭮 ⨯

  EIDRM (36)
        䨪

  ECHRNG (37)
          

  EL2NSYNC (38)
       p 2  -  ᨭ஭஢

  EL3HLT (39)
       p 3  - ⠭

  EL3RST (40)
       p 3  - .

  ELNRNG (41)
        裡  

  EUNATCH (42)
       ࠩ ⮪  ᮥ

  ENOCSI (43)
        㯭  CSI

  EL2HLT (44)
       p 2 -  ⠭

  EDEADLK (45)
        㯨 p
       㯨   㤥 ந室  -
       ஢ 䠩.

  ENOLCK (46)
        㯭 ஢

  ELOOP (62)

                                - 587 -

       誮  ஢ ᨬ᪨ 痢  䨪ᮢ

  ENAMETOOLONG (78)
         ᫨誮 


               C.3.1. 訡  ⥪

  ELIBACC (83)
        㯠  饤㯭 ⥪

  ELIBBAD (84)
       맮 ࠧ襭 饤㯭 ⥪

  ELIBSCN (85)
       p ".lib"  ".out" pp襭

  ELIBMAX (86)
       ⪠   ᫨誮 訬 ⢮ ⥪

  ELIBEXEC (87)
       ⪠ ᪠ 饩 ⥪

  ENOSYS (89)
       㭪  믮

  ENOTEMPTY (93)
       ⠫  ⮩

  EOPNOTSUPP (103)
         p

  ESTALE (122)
       ⥭樠쭮 ⠭ 訡 /뢮


             C.3.2. Hp騩   뢠 /뢮

  EWOULDBLOCK (11)
        㤥 ஢

  EINPROGRESS (236)
        p⠥


                                - 588 -

  EALREADY (16)
        㦥 p⠥


             .3.3.  IPC/Network - 訡 p㬥⮢

  ENOTSOCK (238)
        ᮪   ᮪

  EDESTADDRREQ (239)
       ॡ  p

  EMSGSIZE (240)
       饭 ᫨誮 

  EPROTOTYPE (241)
       ⮪ ࠢ쭮 ⨯  ᮪

  ENOPROTOOPT (242)
       ⮪  㯥

  EPROTONOSUPPORT (243)
       ⮪  p

  ESOCKTNOSUPPORT (244)
        ᮪  p

  EPFNOSUPPORT (246)
       ⢮ ⮪  p

  EAFNOSUPPORT (247)
       ⢮ ᮢ  p ᥬ⢮ ⮪

  EADDRINUSE (248)
        㦥  ᯮ짮

  EADDRNOTA VAIL (249)
         訢 


             C.3.4  IPC/Network - 訡 p権

  ENETDOWN (250)
        -  p⠥

                                - 589 -


  ENETUNREACH (251)
        - ⨦

  ENETRESET (252)
       p 裡   p p

  ECONNABORTED (253)
       ⪠ 裡, 맢 ணࠬ묨 p稭

  ECONNRESET (254)
        裡 p (peer)

  ENOBUFS (255)
        㯭 pp⢠ p

  EISCONN (256)
        㦥 ᮥ

  ENOTCONN (257)
         ᮥ

  ESHUTDOWN (258)
         뫠 ᫥  ᮪

  ETOOMANYREFS (259)
       誮  뫮:   splice

  ETIMEDOUT (260)
        裡

  ECONNREFUSED (261)
        ⢥p

  EHOSTDOWN (264)
       ⪠  (host) 

  EHOSTUNREACH (265)
           


            C.3.5. ᪨  QNX

  ENOREMOTE (1000)

                                - 590 -

       H   쭮 

  ENONDP (1001)
        ᪠ 室 ⥬᪨ ᮯpp (8087...)

  EBADFSYS (1002)
       p㦥 p襭 䠩 ⥬

  EN032BIT (1003)
       ᯮ짮 32-pp來  楫 ᥫ

  ENOVPE (1004)
        㠫쭮   㯭 室  p楤p

  ENONETQ (1005)
       ⠭   p pᮢ pp -  ௥
       㤠

  ENONETMAN (1006)
             㧫

  EVIDB UF2SML (1007)
        뤥 ᫨誮 쪨 vid p

  EVIDBUF2BIG (1008)
        뤥 ᫨誮 让 vid p

  EMORE (1009)
       H  ᤥ, - 諨 ᮮ饭 ᭮

  ECTRLTERM (1010)
       p⠭ p ᮮ⢥⢨  ࠢ ନ

  ENOLIC (1011)
        業


       C.4. 饭  ⥬᪨ 訡  p 믮


       騥 訡  ஢ ⥬᪨ 㭪-
   ⥪ প p 믮 .    訡 -
  ⢥ ⨯ ᪫⥫ 権,  ।  math.h 
  頥  㭪樥  matherr,    p室  ⥬᪠

                                - 591 -

  訡.

  DOMAIN
       訡 
       p㬥 㭪樨 -  ⨬  㭪樨.

  OVERFLOW
       訡  - p
        㭪樨 ᫨誮 让.

  PLOSS
       筠  祭
       筠  祭 ந諠.

  SING
       p p㬥
       p㬥 㭪樨  宥 祭 (pp, log(0.0)).

  TLOSS
         祭
         祭 ந諠. p㬥 㭪樨  ᫨誮
       让, ⮡ ந 稬 १.

  UNDERFLOW
       訡 
        ᫨誮 쪨, ⮡ ।⠢.


            D. ⢥  筮 騥 p

       D.1. 

          ᫮  ணࠬ ᯥ祭, 
  ⥬,  ।⢥  p ⥫묨 -
   㪮.   ⮣  o  ⮬, ⮡ p-
   騥  ⭮⥫쭮 WATCOM C/C++ 16.  㤭 ।᪠-
    ⥬  묨,    ⠪  楫,  
  ,      㪫  訬 稪  -
  짮 WATCOM C/C++ 16.
        ਬ஢ ணࠬ p . 室 ⥪ 
   䠩       ⠫  /usr\src\goodies.  
  ⮣  ਫ  ਢ    筮  訢 訬
  짮⥫ﬨ   ⢥   .  騥 ⥬ -
  㦤:

                                - 592 -


  -  । ⥪騩 p p ()?

  -   ८ࠧ뢠  WATCOM C/C++ 16?

  -    ⭮⥫쭮 ⨬樨?

  - 祬 p     "stdio.h"?

  -   訡 騪 "Undefined Reference"?

  - 祬 p  ⠭  ?

  -  砥 ᮮ饭 "size of DGROUP exceeds 64K"?

  -  砥 ᮮ饭 "NULL assignment detected"?

  -  砥 ᮮ饭 "Stack overflow"?

  - 祬  訡 ८।  wlink?

  -   pᬮp 室 䠩  ⫠稪?

  -  ࠧ稥  ﬨ p "d1"  "d2"?

  -  ᫥   ਩ ⪠ ணࠬ  ?

       D.2  ८ࠧ뢠  WATCOM C/C++ 16?

          騥  蠣 p pp ணࠬ C,
  ᠭ  㣨 p. ८ࠧ  UNIX  -
  p IBM PC PS/2  DOS 㤥 뢠 ஡ . 
    ஡  設⢮ pp,   ७
   WATCOM C/C++ 16. ⢥p, p 設⢮ ணࠬ p㣨
  p   p   ⨬   ᯮ짮-
   WATCOM C/C++ 16:

  1) sizeof( pointer ) == sizeof( int )

  (⨭   16-pp來  ⥬   ᪫祭 "far" 㪠⥫,
  ⨭  32-pp來 ⥬  ᪫祭 "far" 㪠⥫)

  2) sizeof( long ) == sizeof( int )


                                - 593 -

  (p  16-pp來 ⥬)

  3) sizeof( short ) == sizeof( int )

  (p  32-pp來 ⥬)

  4) p㬥 ᥣ p  ⥪

  5) 묥 㪠⥫ NULL

  6) "char"    

        । 祭     ࠧࠡ⪥  ணࠬ
   ⮫쪮  ⥬.   㭪 ⠭ ,  
  ७ ணࠬ  ⥬ 80x86.  ᨬ   -
  ,  ࠧ  楫 ᫠   ࠢ ࠧ 㪠⥫.  
   ,    ।   ணࠬ. 
  C ਭ,   㭪 頥 楫 ᫮,  ᫨  ᮮ饭
  .  ᫨ ணࠬ   㭪   㪠-
  ⥫, p 㤥 ஢ ,  㤥 ८ࠧ-
  뢠 楫 ᫮  㪠⥫.   㣨 ⥬,  ࠧ -
   ᫠ ࠢ ࠧ 㪠⥫,    稫 祣,  ⮬
    ८ࠧ  뫮 室 (⮡  ࠧ-
  ).   p   ᯮ,  ⮡ ।-
   ணࠬ ⭮⥫쭮 ⮣ ᫮  ⠪  p,  
  訡       C.  p ⮣  C
  ६頫  㣨 ,  ⠫ 祢,     ।
      ⨬    .  p⥪p 80x86  
  16-pp來 楫 ᫠  32-pp來 㪠⥫ (  
  compact,  large  huge),  砥,   ஦ 
  p  ࠡ  ﬨ,  ८ࠧ int   32-p-
  p來  㪠⥫    ਢ  祭 ᥣ 0x0000 
  0xfffo.  筮, ⥪ 386   32-pp來 楫
  ᫠  48-pp來 㪠⥫.

       p WATCOM  C/C++ 16 㤥  ⭮⥫쭮 -
  ࠢ쭮 ᬥ訢 㪠⥫  楫 ᫠, ⠪ ࠧ 
  ணࠬ 㥬 WATCOM C/C++ 16 ⥫쭮  ७-
  묨.  ਬ,  ᫨ p WATCOM C/C++ 16   ⭮-
  ⥫쭮 ᯮ짮 㭪樨 뤥  malloc, ⮣ , -
  ⭮,  뫨  "<stdlib.h>",    ᮤন  ⨯
  㭪樨 malloc.

       ਬ:        extern void *malloc( unsigned );

                                - 594 -


       p WATCOM C/C++ 16  ⭮⥫쭮 襩 -
    楫 ᫮ (祭 饭 malloc)   㪠-
  . ⥬ 祭 䠩   ࠢ ⨯, -
  p WATCOM C/C++ 16  ⢥p,   䠪᪨ -
   祭 㪠⥫  㪠⥫.
       p p㬥⮢  ⥪  -      ⮤,  ᯮ㥬
  設⢮     p,  ⮬   﫮
  筮 㭪樨  printf ࠡ  ६  ᫮  p-
  ⮢.    p  ᪫﫨  ᯮ짮 -
  讣 ᫠ 㭪権,  㦤  ࠡ p㬥⮢ p-
   뢠饩 pp.   ⠭ ANSI,  -
  㤨  㭪樨,  騥 ६ ᫮  p㬥⮢,  -
    ࠢ쭮,  p   ஢ 訩  
  ணࠬ,   ॡ ६ ᫠ ࠬ஢.

       ਬ:
     /* 㭪, p  p㬥 */

     extern FILE *fopen( char *, char * );

     /* 㭪 p p ᫮ p㬥⮢  */

     extern int printf ( char *, ... );

       p WATCOM C/C++ 16  २⢮ ⮩ 
  ⠭ ANSI,  । p㬥  ॣ (  ࢮ  -
  讣 ⢠ p㬥⮢). ᫨   筮 ᫠
  ॣ஢   p㬥⮢,  ⠫  p㬥  ।  
  ⥪,   뢠 ணࠬ ⢥⢥  㤠   -
  .   㬮砭, p WATCOM C/C++ 16 ᯮ  ᮣ-
  襭    맮,  ⮬   ਢ    맮
  楤  襬 .  襭  맮 WATCOM C/C++ 16 -
    ᮡ ⢥⢥  pp ࠭஢,  
  㭪樨  p p⨯ ०,  祬    ᯮ.
  ਬ, ᫨ 楤 뢠  ᫨誮  ᫮ p㬥-
  ⮢,  ।,  p   ꥪ⭮  (
  ᮧ )  p.   ꥪ⭮  ਭ,
   AX (EAX  32-pp來 p)   㣨 ॣ,
  ᯮ㥬    ।  p㬥⮢   뢠
  㭪樥.  ꥪ⭮  ⠪ ਭ,  筮 -
  ⢮ p㬥⮢,  饭   ⥪ 㤥 㤠 㭪樥,
   뢠.     ᯥ p  WATCOM
  C/C++ 16, ⮬  ணࠬ p  㤥 ࠡ, ᫨ ⮫-

                                - 595 -

   뢠 pp  뢠 㭪  ண  ᮣᮢ
   ᫥  ⨯ p p㬥⮢. .  "p -
  ᥬ "  襣 ᫠ ஡⥩.

        p  㪠⥫ NULL ࠧ묥뢠-
       NULL (    p稭  ⮣,  
  祬  p த ন   ⨯  -
  ).  ⠢  p ⨪ ⮣ ⨯ ,  ᯮ짮 
  pp   p묥 㪠⥫ NULL ࠭, 
  ணࠬ   㤥 ७ᨬ.  室 ⥪,   ᮤন
    ࠧ묥  㪠⥫  NULL      ࠢ
  ०, 祬  㤥 ࠡ  WATCOM C/C++ 16.
       ணࠬ,  ਭ,   ⨯ char ""  
  ᯮ짮  p WATCOM C/C++ 16 "j".  "j" 㤥
  㪠뢠 p WATCOM C/C++ 16,   ⨯ char "",  
   ᯮ㥬  㬮砭 "".


       D.2.1. pp  p UNIX

       ⠭ ANSI  C (ண pp WATCOM C/C++ 16)
  祭  UNIX C.   ஡   p ண-
  ࠬ UNIX,   ,  㭪樨,   ਭ ६ ᫮
  p㬥⮢  訬 ⢮ ࠧ ᯮᮡ. 㭪-
  樨,  ਭ騥 ६ ᫮ p㬥⮢   ஢-
  ,  ᮣ᭮  ⠭  ANSI,  ᫨    ࠡ  WATCOM
  C/C++ 16.  㤥 p ਬ 㭪樨,  㤥 -
   ᨬ  ᯨ᪠ ⥫ 楫 ᥫ.

  /*
  pp  ६ ᫮ p㬥⮢
  */

   #include <stdarg,h>

   int MaxList( int how_many,
   {
    va_list args;
    int max;
    max = 0;
    va_start ( args, how-many );
    while( how_many > 0 ) {
        value = va_arg( args, int );
        if( value > max ) {

                                - 596 -

            max = value;
        }
    }
    va_end( args );
    return( max );
  }

       ,  ⠭ 䠩  stdarg.h  -
     室 䠩,   । 㭪 ࠡ-
   ६ ᫮ p㬥⮢.  㭪 "MaxList"  
  p p⨯  㣨 室 䠩 譨    室
  䠩, ᮤঠ饬 । "MaxList".

    Extern int MaxList ( int how_many,... );

       . ᠭ    p㪮⢥  "ᠭ  ⥪  WATCOM C"
  㭪樨 "va_arg"    ᠭ  p⪨  ६
  ᫠ p㬥⮢.


       D.2.2. pp  p IBM PC  PS/2 DOS

       設⢮ p,  㯭  IBM PC  PS/2, ᫥-
      ७  ⠭  ANSI  ⮬,  設⢮
  ணࠬ  㤥 ॡ     室  ⥪.
    ஡   ணࠬ,   ᯮ ᯥ᪨
   p  㭪樨.  p    ᯮ짮
  ᯥ᪨    p   㭪権  p
   ࠧ묨 ᯮᮡ:

     1. ᯮ   㭪樨  WATCOM  C/C++
        16

     2.   ᮡ⢥  㭪樨

       ᫨   ন  pᨬ  㣨 -
  p, ।। p "__WATCOMC__"  ᯮ짮 
  ᫮  ஢  ࠢ쭮    p WATCOM
  C/C++ 16.
       襭  맮  㬮砭  p WATCOM C/C++
  16 ⫨筮  ᮣ襭  맮 ᯮ㥬 㣨 -
  p  ᭮  Intel ᮭ . 襭 
  맮 WATCOM C/C++ 16 ⫨砥, ⮬   㤥 ।
   p㬥  ॣ (⠪ ࠧ, 㬥 ந-

                                - 597 -

  ⥫  饭  㭪樨)  饭   p-
  ⮢  ⥪.  p WATCOM C/C++ 16 筮 ,  ⮡
  ᯮ짮 ࠧ ᮣ襭  맮     p⭮
  㭪樨. ८ࠧ   㣨 p 筮 砥
  ࠭᫨஢ 室 䠩   ⠭ ⨯ (⮡
  ᯮ짮    ஥ ᮣ襭  맮)  㭪権 -
  ᠭ    ᥬ.  ਬ,  ᫨      㭪樨  "vi-
  deo_init",  "video_put"  "video_get", ᠭ  ᥬ, 
   ᯮ짮 ᫥騥 ⨯     室  䠩,
   ᯮ  㭪樨.

     #include <stddef.h>
     extern int cdec1 video_init( void );
     extern void cdec1 video_put(int row,int cot,char ch,int  attr);
     extern char cdec1 video_get( int row,int cot );

       祭 䠩  stddef.h । ᮣ襭  -
   "cdec1".  p WATCOM C/C++ 16 㤥 ࠭஢, 
   饭  ⨬ ६ 㭪  ਤন  ᮣ-
    맮 "cdec1".  p WATCOM C/C++ 16  -
   ᨬ p "_" ( ⨢ 砫   p
  ᮣ襭  "cdec1")   ᥬ  㭪権,  ⮡ ࠭஢,
   ணࠬ  㤥  饭  pp묨  ᮣ-
  襭ﬨ  맮  㭪 ᮣ襭 "cdec1" ( ). -
   騪 ᮮ頥,   㭪樨 ।  䠩 ᥬ-
      ᮧ,    १ ⢨ p-
   p⨯ 㭪権  㭪権 "cdec1".

  : 設⢮ 16-pp來  p    (  WATCOM
       C/C++ 16 )    "large",   砥, 
       4-⮢ 㪠⥫ ᯮ  뫮      .
       H訥 ⫨  ࠧ  ।ﬨ 
         ࠧ p.  襭  맮 "cdec1"
        㭪 ਭ,  ॣ ᥣ DS 㪠뢠-
         㯯 "DGROUP".   "large"  WATCOM C/C++ 16
        ,   뢠 "騬 DS".   㭪,  -
       㥬    large   ,  ᥣ-
        ॣ DS 㪠뢠  㯯 "DGROUP".   -
       쪮  室.

    1) ᥬ   ࠭  ⠭  ᥣ
       ॣ DS  ⠭ DS  DGROUP, ⮡ ᮮ⢥⢮
       ᮣ襭 WATCOM C/C++ 16.  ᫨   p饭 
         DGROUP,  ⥫쭮 ᯮ짮 ᥣ ॣ SS

                                - 598 -

        㪠뢠  DGROUP    LARGE.

    2) 㭪 ᥬp  뢠,  ᯮ ᥢ-
       ਩,  ⠭,  DS  㪠뢠  DGRO-
       UP । 맮 㭪樨.

       #pragma aux _Setcolor parm loadds

         ਬ 뢠 㭪 "_Setcolor".

    3) ᫥ ਠ - ᯮ짮 樨 zdp p. 
       "  zdp  " ᮮ頥  ꥪ⭮ ,   ॣ DS
        ᥣ 㪠뢠  DGROUP.  㬮砭   -
        SMALL,  MEDIUM  FLAT. ,  FLAT -  
       ⮫쪮 32-pp來.


       D.3.    ⭮⥫쭮 ⨬樨?

        C/C++  ᮤন  ᮡ,     
   p ஢  ਥ ⢠.  -
    p஢   祭 ⠢  ࠦ -   ᯮ-
  , p p⠢   ணࠬ, ⮡ "" -
  p ஢  襣 ⢠.  砭 ⭮-
  ⥫쭮 p WATCOM C/C++ 16 ,       
  (  㣨 p) "" p.  ⮡ 
  訥 襭 ⭮⥫쭮 樨 ꥪ⭮ ,  p
  WATCOM C/C++ 16 ᯮ p䥩 孨 ⨬樨.

  : p뢠饥  ᠭ 孨 p  "p-
       "  "p - ਭ樯, 孨  㬥⠫
       ।⢠",  Alfred V. Aho, Ravi Sethi  Jeffrey D. Ullman, -
        Addison-Wesley,  Reading,  Massachusetts,  1986. 
       "p᪮"    p⨢ 室  -
       樨 ꥪ⭮ ,  ⨬  ࠭ ᥬ-
        ࢮ砫쭮 ணࠬ. p⨢ 室 ᯮ-
          p WATCOM C/C++ 16,  ⮡  ࠭஢,
         ணࠬ    ᯮ짮 p  
       ⭮⥫쭮  ᥬ⨪  ணࠬ. ணࠬ -
         訢,  ⮡ ⥭樠쭮  ⨬樨
       믮﫨. ⭮⥫쭮 樨 "oa" (஢ ᮢ饭
       ) ᯥ稢 p WATCOM C/C++ 16,  p
        ⮫쪮 ᮢ饭   ६,   
        ᮢ饭    㣨 -

                                - 599 -

       p.

        । ࠣ ଠ樨,   p
          室  ⥪.  ४⨢  p
  "#pragma" ᯮ,  ⮡ p⠢  p  -
  ⥫  ଠ.  室      C/C++
  ⠪  設 ⥪ ( ,  80x86)  ।  ᯮ짮
   ४⨢ ᥢਥ p.  .  "ᥢ-
  ਨ"  襣 ⢠ ஡⥩.
       ⫠ ⨬஢ ணࠬ 㤭,  ⮬  ६-
     祭  ࠧ ᯮ ( , 
    ॣࠬ)  ࠧ  㭪樨.   p "d2"
  㤥 ࠭稢 ⢮ ⨬樨, ⮬ ६ -
    ᯮ    ⮡ࠦ.   ᫥,
    "d2"   砫쭮 ࠧࠡ⪨,    ⥫
  ணࠬ    ஢ ⮫쪮  樥 "d1"  襣
  ⢠ .  p ⥬  p  ਪ  ண-
  ࠬ  㣨,      ᫥  ᯮ짮 ⨫ WATCOM
  strip (wstrip),  ⮡ 㤠 ⫠ ଠ  믮
  ࠦ  ᪥, ⠪ ࠧ 㬥 ॡ  ᪮
  ࠭.

  :  p "d2" 㤥 ஢ ᨬ  -
        (  쭮 ६)  ଠ  
       ப 室 䠩.   p "d1" 㤥 -
        ⮫쪮 ଠ ஢ ப  室 䠩.  -
       짮  権 ।    ଠ樨  㤥
       㯥  p⭮   祭 ᥠ ⫠.

       ࠢ ணࠬ   ࠡ,  -
    樥 "d2"    ࠡ,        樥
  "d1".   ⥩  ⠪ p  -
   ᨢ.

     void example( void )
     {
         int i;
         int a[10];
         for( i = 0; i <= 10. ++i )
             a[1] =1;
         do_something ( a ) ;
     }

        "FOR" 樠 ᫨誮  ⮢ ᨢ,  

                                - 600 -

  ,  㥬  樥 "d2" p ६  "1"  
  直  ஡.    ᠬ 㭪,  㥬  樥 "d1"
  㤥  ६ "1"  ॣ.  訡筮 p饭 "a[10]"
  㤥    祭,  ᯮ㥬  ⮡ ⠭ -
  ,  㭪 p蠥.  㤥 "⠭"
    ࠢ  祭   㤥 ⢮  믮
  㭪樨,  p 뢠  㭪.  ਬ 뢠
    ணࠬ  ࠡ,     樥 "d2" 
   ࠡ,     樥 "d1".     ᥣ
   ஢  ணࠬ  ᥬ ﬨ, 㥬-
    樥 "d1", ⮡  ᥡ   ⥩.


       D.4. 祬 p    "stdio.h"?

       ⠭ 䠩  筮 ࠧ  ⠫,
   ஬ ⠭ p WATCOM C/C++ 16.  ।,  
  䠩  ࠧ  ⠫ /usr/include. ᫨ -
  p 㪠뢠 (१ ᮮ饭  訡),       
  䠩 stdio.h,    뫨 -.    ᯮᮡ 㪠-
   p WATCOM C/C++ 16  pᯮ  ⠭  䠩
  .

     1) ᯮ ६ p INCLUDE

     2) ᯮ  "I" ( WATCOM C/C++ 16 )

     3) ᯮ  "I" pp "cc"

  ᯮ짮 ६  p  -  ᠬ ⮩ ᯮᮡ ࠭-
  ,   䠩  祭   .  ਬ,  ᫨  
  砥  ᫥ ப   짮⥫᪨ 䠩 樠-
  樨,

     export INCLUDE=/usr/include

  p WATCOM C/C++ 16 ᬮ 室  ⠭  䠩  
  祭. ᯮ짮 樨 "I" - 㣮 ᯮᮡ   -
   ⠭ 䠩  祭.

       ਬ:

     $ wcc myfile.c -i/usr/include
        or

                                - 601 -

     $ wpp myfile.cpp -i/usr/include

       筮  ⮤  oꥤ  ᫥騬  ⥬.  ६
  p  INCLUDE  ᯮ,  ⮡ 뢠 ᯮ 䠩
   ⠭୮ ⥪  C.   ⠫ 䠩 -
     ᯥ᪮ pp ஥  -
    ⮤ 樨 "I". . p "p⪠ #include 䠩"
  ᮮ⢥饩 .  ,   pp "cc" ⮬᪨
  㪠뢠 p  "/usr/include"   ᪠.


       D.5.  p 訡 騪 "Undefined Reference"?

       騪 WATCOM  ନ  ᯮ塞  䠩 ⥬ 襭
  뫮  㭪  ⠬ ,     㣨
  室  䠩.     । ᫮,  
  ⠢ 騪 ஢ ᮮ饭  訡 "Undefined
  Reference".  饭  訡 "Undefined Reference" 㤥 ⮡-
  ࠦ 騪,     室 㭪  -
    ,    뢠  ணࠬ.  ஢,   
  稫  ॡ㥬 ꥪ 㫨     騪  
        ࠢ묨 ⥪.    ⠪
  砥,  ॡ ண ᭥.

  _cstart_
       襭 뫪   -cstart_ 㪠뢠,   騪 
         ⥪ ६ 믮  .  16-  ࠧp來
       ⥪  ६  믮       small -
       clibs.lib   maths.lib,    math87s.lib.  ࠭,
        ६ p WATCOM ⠭  ⠫,   ஬
       ⠭ WATCOM C/C++ 16.

  _fltused_
       । 뫪  _fltused_  㪠뢠,   䬥⨪ 
       饩 ⮩ ᯮ짮  ,  뤠 
       訡. p⢮ - ࠭஢,  騪  -
        ᮮ⢥ ⥬ ⥪.  16-pp-
          small,   maths.lib,  math87s.lib 
       ᨬ  ᯮ㥬 樨 饩 ⮩.  ࠭-
       ,   ६ p WATCOM ⠭  ⠫,  
       ஬ ⠭ WATCOM C/C++ 16.

  _small_code_
       ᫨   । 뫪 ந室,    ஡

                                - 602 -

       ᮧ 16-pp來 ਪ ணࠬ,   ࠭ 
         ᮢ  ⫠!  稭 ⮩ । 뫪 ,
        "᭮" 窠 室 ஢  让  
        (     medium, large  huge). 
        㫥   ⠪ । 뫪  -
       ஢    쪮   (    
       small  compact)  ⮬   ࠢ  -
       .   ࠭᫨஢ 㫨 ⠪, ⮡  㫨
       ஢  ⮩  ᠬ  .  ꥤ -
       室  㫥,  㥬    ࠧ묨 ﬨ 
       祭 㤭     ࠭ 訡. ᫨  ண-
       ࠬ  ᮡ ᮮp  ⠪ 뫪 뢠  
       ஡,  "ࠡ".    뫪 -
         PUBLIC  䠩 ᥬ  p ᫥饥  WAT-
       COM C/C++ 16.

    /* ⠫쭮  * /

    void _small_code( void )
    { }

        ꥪ⭮  㤥 ஢  
  RET  㡫 䨪p _small_code_,  ᮥ  -
  . 騥 ⨬樨 砭  ⭮ ꥤ  㭪-
     RET 㣮 㭪樨     㤥    
  ⥫쭮 .
         㣠 稭 ⮩ ஡, 㭪 "main" 
    㪢  ॣ ("Main"  "MAIN"  -
      "main"  p).  p  㤥
  ஢ ,   ᮤন । 㭪樨 "ma-
  in" ⥬ ᮧ 㡫筮  ।    _small_code_  
  _big_code_  ᨬ   ,   ஢.

  _big_code_
         ᮤঠ騩  室   "main"  ஢  
       16-pp來 쪮   (small  compact). -
       ,    ⠪ । 뫪 ஢
        16-pp來    (medium, big  huge). 
        ࠭᫨஢ 㫨 ⠪, ⮡  㫨 -
       ஢    . . ᭥  _small_code_
        襣 ⢠ ஡⥩.

  Main_
        pࠬ    㭪,  뢠 "main". 

                                - 603 -

       "main"     ॣ, ⮡ p -
       ஢ ᮮ⢥ ଠ  㫥 "main".


       D.6. 祬  p  ⠭  ?

       騪 - ணࠬ,    ࣠樥 
     ନ ᯮ塞 䠩. C ࠭p,   -
    ᪨ 樠஢     ᮤঠ
  㫨.    BSS  ᮤন  樠஢  
  ᪨   ணࠬ C ( "BSS"  ⠫    ࠭
  p   UNIX).  設⢮ p  ᯮ 
  ,   ࠭  㫨, ⮡ ⨣  ࠧ-
  ஢  ᯮ塞  䠩.  騪  WATCOM (wlink) ࠡ뢠
  ᥣ "BSS" ᮡ ᯮᮡ. 騪 WATCOM ᮧ ᯥ樠-
   ६ _edata  _end  ⮣, ⮡  ᪠  -
      "BSS".


       D.7.  砥 ᮮ饭 "size of DGROUP exceeds 64K"?

         ⭮ 16-pp來 ணࠬ.   -
   ᥣ⮢,      ࠭.    ⨯  ᥣ⮢
      "near"  "far".   ⮫쪮  ᥣ
  "near",   ६     ᥣ⮢ "far". -
    ᥣ  "near" p⠢  ண 㯠  ,
   ࠭祭  pp -  祬 64 . , ᥣ "far"
    ᮤp   64  ,   ࠤ  p -
  p p 맮 .   "near"    ⠪,  ⮡
  ࠧ    ᥣ  "near" ⭮ᨫ  㯯,  뢠
  DGROUP.  . ࠧ "䨣p  "   㪮⢥ 
  襣 ⢠ ஡⥩.
       ⥪ 8086   ন ᥣ 訥 祬 64
  .   १, ᫨ ࠧ DGROUP ॢ蠥 64 , ணࠬ 
   믮 ࠢ쭮.  ᭮  襭  ⮩  ஡
  o  ⮬,  ⮡ ६   筮 ᥣ "ne-
  ar"     ᥣ⮢ "far". 筮,  襭  -
    p. p -  㬥襭 த⢨  -
   맮 ⮢  "far". 稭 㬥襭 ᪮p
  믮    ணࠬ , ⮬,   
  ।᪠ ( ,     ᪠  ணࠬ 㤥  -
   筮  5 % ). p⭮ 襭  ⮩ ஡
     , ᯮ㥬 p ࠭樨 ணࠬ.
       ᫨    ﬨ  tiny, small  medium,

                                - 604 -

  ⮣    襭.  ࢮ 襭 砥 -
   室 ⥪ ணࠬ ⠪,  ⮡  訥 
   﫨  "far"       ᯮ짮  
  "far"  㪠⥫ﬨ.    祢  ᫮  "far"  室
  ⥪   ७ᨬ,      ਥ -
  ஬ᮬ. .  "த ⨯"  p㪮⢥ "ᠭ -
   WATCOM C"  ஡⥩ ⭮⥫쭮 ᯮ짮  祢
  ᫮ "far"  "near".  ஥ p襭 o  ⮬,  ⮡ 
     ᯮ짮      .
  ᯮ짮   large  compact  -
  p ᯮ짮 ᥣ "far",  ⮡ ࠭    ,
    32 .

       訥      । 
    ᥣ "far",  ⮫쪮 ᫨ ࠧ   ॢ-
  蠥 32 . ᫨ ࠧ DGROUP ॢ蠥 64 , ⮣ 襥 -
   o  ⮬,  ⮡ 㬥 p pp, ⮡ 訥
    ࠭﫨  ᥣ "far".  ⢥ -
   p,  ⮡ 믮   -  "zt<᫮>".  
  "zt"  ⠭ ண ࠧ ,  p p襭 p,
     ।  ᥣ  "far".  ਬ,
  ᫨ ᯮ짮  "zt100",    p騩 
  pp 100  㤥 ।   ᥣ  "far".  襥
  砫쭮 祭  ண  - 32  ( ,  "zt32").
  ᫮ 権 室, ⮡ 㬥 ࠧ DGROUP  -
  譮   wlink   ணࠬ. 쭮  䠩-
  ,   ।  ⮢ ,  ࠭-
  ஢.  "zt<᫮>"  ᯮ짮   ᫥-
   ஢,  ୠ   室 䠩
    ணࠬ   室.  ᫨ 訡 wlink "DGROUP exeeds 64"
  ࠭,  ண, ᯮ㥬  樨 "zt<᫮>"  㬥-
     室 䠩  ࠭᫨஢.


       D.8.  砥 ᮮ饭 "NULL assignment detected"?

         ⭮  16-pp來 ணࠬ.   C  -
   ⨥  㪠⥫ NULL. ⥫ NULL   ࠧ묥-
  뢠,  ᮣ᭮ ⠭ ANSI. p WATCOM C/C++ 16 
   ᮮ ணࠬ,   NULL ᠫ   
  ,  ⮬  ᭮  Intel ᮭ   
   室 প  ।.  襥  ⥬
  প 믮  ᤥ  -    ணࠬ⠬  
  訡  ⮣ p ᢥ묨 ⮤.  H 32  ""

                                - 605 -

    祭ﬨ 0x01.  㭪  ६  믮  C
  "_exit" ஢  32 , ⮡ ࠭஢,    -
   pᠭ.   䨪  32 ⮢ ਢ   뢮
  "NULL assignment error" p p襭 ணࠬ.

  H ⪨  襩 ⮤ ⫠  ⮣  訡:

     1) ᯮ  ⮡ ⫠ ணࠬ
     2)  ணࠬ
     3) ᭨   뫠 ࠢ쭮 
     4) ⠭   (watchpoint)  塞 
        
     5) १ ணࠬ  ⨢ watchpoint
     6)  ணࠬ  믮 p p
     7)         ,  믮 㤥
        ਮ⠭

       ᬮp ,    믮  ⮣ ᥠ -
  .  ० ᥣ  뢠    ப QNX ᫥-
  騬 ࠧ:

     $ wvideo myprog

   ⮫쪮   ⫠稪 뢮:

        DBG>go

  ணࠬ 㤥  ⥯ 믮  襭.   ⮬  
   ᬠਢ ࠭ 뢮  ⫠稪 "FLIP".

        DBG>flip

   㢨,   ணࠬ  訡 ६ 믮 "NULL as-
  signment detected".  ⮬ ,     ᤥ - -
      﫨 ணࠬ.

    㤥 ⮡ࠦ 訥 16 ⮢ "" (ne-
  ar) .

        DBG>examine __nullarea

     뢥  16  ⮢ 祭 0x01.   
  "஡",  ⮡ ⮡ࠧ ᫥騥 16 ⮢ .   
  ⠪   16 ⮢ 0x01.  ,   p  

                                - 606 -

    ,  訡筮  ணࠬ.

  __nullarea         01 01 56 12 01 01 01 01 01 01 01 01 01 01 01 01
  __nullarea+16   01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01

   ⮩ ⮤ ⫠ o  ⮬, ⮡ ⠭ watc-
  hpoint (窨 )    ⠪,  ⮡ 믮-
   ணࠬ ਮ⠭,    . -
    㤥 "" .

        DBG>watch __nullarea+2

    ᯮᮡ १᪠ ணࠬ  室   ,
  ⮬  watchpoint ⨢  祭 ᫥饣 믮 ண-
  ࠬ.   VIDEO "NEW" 㤥 १㦠 ணࠬ   -
  ⠢   맮 ணࠬ.

       DBG>new
       DBG>go

   VIDEO "GO" 㤥 ᪠ 믮 ணࠬ.   
  ,  ணࠬ 믮 , 祬 筮,   -
  筮  ⫠稪     ணࠬ,    
    .   ⮬ ,     p watc-
  hpoint  ३  ᭥ ⮣, 祬  﫠. -
   ⪨ watchpoint:

        DBG>watch/clear 1

  "1" 㪠뢠,         watchpoint  1.  
  "WATCH" p  ᯥ⪥  ⨢ watchpoints. 㯮-
   ⮤     ⨯ 訡 p -
   p ᫮,        pᠭ.

  : ⫠稪 WATCOM,  ,     -
       ⪨ . ਬ,  "EXAMINE"   ᮪p饭
        "E".  ᯮ짮    ਬ  ᭮.


       D.9.  砥 ᮮ饭 "Stack Owerflow!"?

       , ᯮ㥬   ६,  ।
   ⥪ 맮 㭪権,   p WATCOM   ᯮ
  ॣ   ६.   ⥪ 맮 㭪権 -

                                - 607 -

  ࠭祭  p    ॢ pp ⥪  室
  믮.  WATCOM  ⥪  p 믮 㤥 믮
  ஢ન 直 ࠧ,   pp⢠ ⥪ ॡ 㭪-
  樥,    짮⥫ - ஢ ॡ  ⥪ -
  । 맮 㭪樨 ६ 믮 WATCOM. ஢ ண-
  ࠬ  pp ⥪ 㤥 ࠭஢,   筮
  ⢮ p⢠ ⥪,  ⮡ 뢠 㭪 ६  -
   WATCOM.
        ࠧ ᯮᮡ   ⨢  訡  ९
  ⥪.  砫,  ஢ ᫮ ४ᨢ 㭪権, -
  㥬  ਪ ணࠬ.    ᤥ ⥬ -
  pp ४ᨢ 㭪権  ᯮ짮 横. 
  ꥬ ⥪, ᯮ㥬  㭪,  , ᯮ  -
  p ᯮ ᪨ ᨢ ,  .  孨-
   㤥 㬥 ⢮ ॡ㥬 p⢠ ⥪,  
     砨,   ꥬ  㬮砭 p⢠ ⥪
  (2048   16-pp來 ਪ ணࠬ    4096    
  32-pp來 ਪ ணࠬ) 祭.  騪 WATCOM
  (wlink) pp蠥  짮⥫  ⠭  稭  pp⢠
  ⥪   p  १ ४⨢ "OPTION STACK=pp",
   ࠧ  㪠뢠      易⥫  䨪ᮬ
  "k"  ⮢ (1024 ).

       ਬ:       option stack=9k

  ⫠ ணࠬ,    뤠 訡 ९ ⥪ 
  믮  ᫥饩 ᫥⥫쭮.

     1.  㧨  ਪ ணࠬ  ⫠稪

     2. ⠭ ஫   __STKOVERFLOW

     3. 믮  ணࠬ    ⨣ ஫쭠 窠
        __STKOVERFLOW

     4.   ⫠稪 "show calls".   㤥 ⮡ࠦ
        ᫥ 맮 ⥪,   ᫥⥫쭮 -
        ,  p  樨 ९ ⥪.

  襭 ஡  ९ ⥪  ⮣    ண-
  ࠬ.


       D.10 祬   訡 ८।  wlink?

                                - 608 -


            㦤 ⭮⥫쭮 ७-
    pp UNIX  Microsoft C.  ஡ p⥪  
  뢠 pp ࠭ 騪 UNIX.  ࠭  , 뫮
  饯p ।  䠩   :

       ਬ:
     /* ᠭ  p */
     int line_count;
     int word_count;
     int char_count;

        䠩 㤥 ⥬    ࠧ  -
  .  p  㤥 ஢ ।  ६
    㫥  p⠢ 騪 롨p   
   뫪   ६.  ࠡ⪠ ⠭p ANSI C ᤥ
  ⠪ p⨪ ⠭p⭮. p WATCOM C - p ANSI
  C  ⮬,  ॡ ন  ॢ訩 . 䥪
  ⮣ ,  wlink 㤥 ᮮ 訡 ८।. 
  䠩   ஢ ⠪ p,  ⮡ ६ ।-
  﫨   㫥.  ᯮᮡ   ᫥騩:

       ਬ:
     #ifdef DEFINE_HERE
     #define GLOBAL '
     #else
     #define GLOBAL extern
     #endif
     /* p  p */
     GLOBAL int line_count;
     GLOBAL int word_count;
     GLOBAL int char_count;

   設⢥ 㫥,   "DEFINE_HERE"  㤥 ।,
  ⮬ 䠩 㤥 ⥭ ᫥饬:

       ਬ:
     /* ᠭ  p */
     extern int line_count;
     extern int word_count;
     extern int char_count;

         㫥,  "DEFINE_HERE"  । ०-
  , 祬 砥 䠩 .    믮 ।-

                                - 609 -

      ப  ணࠬ  ᫥饬:

       ਬ:
     #define DEFINE_HERE
     #include "globals.h"


       D.11.   pᬠp 室 䠩  ⫠稪?

       롮  ᯮ짮 ⫠筮    ᯮ짮-
   ⥩ ⫠稪 WATCOM C/C++ 16, VIDEO. ᫨   -
       室 ⥪   筨 VIDEO,   
  ,    ,  :

  1) ᯮ짮  ࠢ쭮  樨 p (WATCOM C/C++ 16)
  2) ᯮ짮 ࠢ ४⨢ 騪 (騪 WAT-
     COM)
  3) ᯮ짮    ⫠稪 (VIDEO)

       p WATCOM C/C++ 16  室 ⥪ C/C++  ᮧ-
   ꥪ 䠩,  ᮤঠ騩 ᣥ஢ .  㬮砭,
   ଠ  ⫠  砥  ꥪ 䠩. -
  p 㤥 뢮 ଠ  ⫠  ꥪ 䠩, -
     㪠뢠  ⫠  室 ஢.   
  ஢ ଠ樨  ⫠,   p   -
  :

  1)  ப   ६ ( "d2")
  2)  ப ( "d1")

        樨 ᯮ  । ⮣,  ᪮쪮 ⫠-
   ଠ樨 㤥 㯭 p ⫠ p⭮ .  ᫨
   ᯮ  "d2",   ᬮ   室  䠩  
  ⮡ࠦ    ६.   "d1" 㤥 ⮡ࠦ
  筨,    㤥     p樨    
  ६.
       騪 WATCOM (wlink)   㬥,    ᮡp
      ணࠬ  ᮡp ⫠ ଠ  
  㫥  ᯮ塞 䠩.   ४⨢ 騪, -
   㪠뢠 騪,     ⫠ -
  ଠ  㫥.    ஢  ⫠筮  ଠ樨,
    ᮡ  祭 . :

       1)      (DEBUG)

                                - 610 -

       2)     , p p (DEBUG LINE)
       3)     , ⨯ (DEBUG TYPES)
       4)     ,  p (DEBUG LOCALS)
       5)     㪠 (DEBUG ALL)

       ,     ᥣ   
   ⫠筮 p樨. 樨 ⫠  oꥤ

       DEBUG LINE, TYPES

        ४⨢ ਢ  㯭    p樨  
    ப   ⨯  祭 ⫠.  ४⨢   
  樨,  ⮬   ⠢ p  ꥪ 䠩  
  ⥪ ४⨢ ⫠.  ਬ,  ᫨ 䠩 mylink.lnk -
  p:

        #
        # invoke with: wlink @mylink
        #
        file main
        debug line
        file input, output
        debug all
        file process

   室  室 㫨   p  
    室 ப,  㯭  祭 ⫠.   ⫠-
  筠  p뢠 㫥 㤥 㯭  祭 ⫠.

  : ⭠  ᮡ ⫠筮 p樨 ,   
       㫨      ,  ᫨ ᯮ-
          ४⨢ ⫠.    ਬ,   main
       㤥  p   ,   ᫨    
        p ᮡ p⨢ DEBUG.

       ।⥫쭮   ४⨢ DEBUG । 묨 p-
  ⨢ FILE  LIBRARY.    pᮢ  㢥稢  
   ࠧ ᯮ塞 䠩,  ⠪   㤥   -
    室 ⫠.  ଠ  ⫠ 㦠 " p-
  "  ⫠稪    室 ᥠ ⫠.  ᯮ 쪨
  ꥬ  (40   㬮砭, 롨ࠥ 樥  -
   VIDEO "dinamic"),  ⮡ ᮤp ᫥ ᯮ㥬 -
    ⫠ .  ࠪ᪨,   室 ࠭ 
  , ⮬  設⢮ ⫠筮 ଠ樨   -

                                - 611 -

  .  p 맮 ᪠  ⫠筮 ଠ樨 -
  ⥫쭠  p  맮 ଠ樨  室 䠩. -
   ᫮,      ᯮ塞 䠩 ⮫쪮  ⫠-
  筮  ଠ樨  ᪮쪮 ,   ਭᥭ   ꥬ
   ॡ㥬 襩 ணࠬ.  . ࠧ "४⨢ DEBUG" 
   㪮⢥  襣 ⢠ ஡⥩.
       ᫨  ᫥ ।騬  蠣,      뫨  
  p     ⫠  ணࠬ  p樥  -
  室 ப.   砨,   WATCOM ⫠稪,  VIDEO, 
    室  ᮮ⢥騩 室 䠩,   ᫨  
    ப.  ஡,  , 砥   -
  室 䠩 樨p  ⫠筮 ଠ樥 . ࢮ-
  砫쭮 ᯮ 室 䠩 砥  ⫠ -
    .  ,  ஥  砥  ଠ  ⫠ -
  ࢮ砫쭮 ,  ஥ 뫮   p  WATCOM  C/C++
  16.  ᫨ ࢮ砫쭮  䠩   p쭮 ( , 
  ६⨫ 믮 ணࠬ  㣮 ⠫),  㦭 ᮮ
  VIDEO,    室  室  䠩.   VIDEO "SET SOURCE"
  ᯥ稢  ⠫  ᪠ 室 䠩.  ᫨  
  室 䠩 ࠧ   ⠫, ᫥騥  -
     VIDEO:

         set source {/program/c/*,c}
         set source/add {/program/new/c/*.c}

        "*" 㪠뢠,     㤥 ⠢,   
  ६  VIDEO  室 䠩.  . p " ᪠ -
  室 䠩"  ᠭ  "SET"  "㪮⢥ 짮⥫
  VIDEO"  襣 ⢠ ஡⥩.

  :  室 ⠫      䠩  profi-
       le.dbg ( 筮 ࠧ頥  ⠫ etc/wvideo). -
        ,    믮  ࠧ p 맮
       VIDEO,     䠩 profile.dbg.  室
       ⠫  ⠭ ᭮ ⥬ ᫥   㬮砭
       -    ,    믮  p  맮 VIDEO.
       ﭨ  p㣨  䠩 VIDEO  ⮬  ᠬ -
       .


       D.12.  祬 p稥  ﬨ p "d1"  "d2"?

       稭,  p    p  㯭  ⫠筮
  ଠ樨  ⮬,  ⨬   믮  -

                                - 612 -

  ⥫ ⨬権   ন p "d1"  (ப).
   "d2" 㦤 ⨬  ࠭஢,    -
  쭠 ६  p    ६    㭪樨.
  ⮡ ,  祬  ਢ  襩 ⨬樨  -
  㥬  㭪樨,  ᬮp  樠 p-
   ᨢ.

            extern int a[100];
            void init_a( void )
            {
                   int i;
                   for(  i  =  0;    i  <  100;   ++i   ) {
                          a[i]   =   3*i;
                   }
             }

  ⨬  㤥 ࠭஢,    뢮 -
    ६  "1"    ६  室 믮 横.  
  "d2" 㤥 ᥣ ஢   ଠ  ⫠, -
      뢮 祭  ६  祭 믮-
   㭪樨.  ⮡  訩       
   室 䠩  ⫠,  "d1" ⠢ ⮫쪮 ଠ-
     ப   ꥪ  䠩.    ଠ樥    
  ப,    訩   ஢.   p
      ᣥ஢   ਬ  樠樨
  ᨢ.

         extern int a[100];
         void init_a( void )
         {
               int *t1;
               int t2;
               /* for( 1 = 0; 1 < 100; ++1 ) { */
               tl = a;
               t2 = 0;
               do {
                      /* a[i] = 3*i; */
                      *t1 = t2; '
                      ++t1;
                      t2 += 3;
                /* } */
                } while( t1 != a + 100 );
           }


                                - 613 -

    믮 祭 ,   ,    ६
  "i" p饯   ࠧ ६.    ६ -
  ࠡ뢠 ᯮ짮 "i"  ⢥  ᨢ,    㣠
  ࠡ뢠 ᫥ "3*i".  ⫠ ணࠬ,   -
   ୮ ⨬樨   㤭,     ଠ樥  
  室 ப  ⥫쭮 p. 㬬p, ᯮ 
  p "d2", ᫨  ࠧࠡ뢠    ⥫  
  ᯮᮡ ⮡ࠦ   ६.   p
  "d1" 㤥   ଠ   ப   訩  -
   ᣥ஢ . H ᮫⭮  稭, ⮡ 
  㪠뢠  "d1", ⮬  ⢮  㤥 筮 
  ᣥ஢  樨 "d1".


       D.13.  ᫥  p pp  VIDEO?

       p WATCOM C/C++ 16  ࠧࠡ⠭,  ⮡  ந
  ᠬ , ᠬ 쪨 .  १  ⥪ 
  ᮤঠ ଠ   ⨢樨 ⥪  믮  ᫥-
     ( 㤥  䥪⨢  㢥稢 p-
  p 믮 ).
       ⫠稪 ᤥ    ⥫㠫,  ⮬   
  ⮡ࠦ ଠ ᫥ ,  ᬮ    ⢨
  ଠ樨  ⨢樨.     ᤥ - 

        show calls

    ணࠬ ௨   祭 ᥠ ⫠.


       E. 饭  ஡  ணࠬ ᯥ祭

        ⥫쭮 ⢮  ஢      
  p,  ⮫  訡  ணࠬ ᯥ祭. 
  ⠪  㦨 訡  ન  㬥樨. -
     p砥  ஡    訥 ।-
  ,  ⥫     .
       ࠡ稪 QNX    ⠪  QNX Software Systems
  Ltd,  孨᪮ প.
       ଠ  ᫥饩 ࠭  ᯮ짮  ᮮ饭
  ஡  ।  QNX Software  Systems  Ltd.  ⮩  
  䠪ᨬ쭮 ।祩.  ᮮ饭 ஡,  ࠭-
    襩    襩  ᮡ⢥  㬥-
  樨.

                                - 614 -


           饭  p  pp ᯥ祭

  
   Program Name/Version :               Registration:
  
   Computer Model:                      Memory Size:
  
   Processor Type:                      Coprocessor:
  
   Monitor and Adapter Types:        
  
   Operating System and Version:        Date:
  
   Your Name:                            Telephone:
  
   Institution:                          FAX Number:
  
   Address
  
  
  
  
   Please  provide a description of problem and how it can be repro-
    duced.  Attach :
   console output, and anything else that you may consider relevant.
  
  
  
  
  
  
  
  
  

                                - 615 -


                         쪮  ᯮ짮 QNX

  
   Received by:                           Date:
  
   Resolution:
  
  
  

