home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / tp6userg.doc / ug06 < prev    next >
Encoding:
Text File  |  1991-02-05  |  30.0 KB  |  709 lines

  1.                              âïÇéÇ 6.
  2.  
  3.                        ôÅÉÇéïàìêà ÅÉÄàèÆÄî.
  4.  
  5.  
  6.      éδ πªÑ  ¡áπτ¿½¿ß∞,  ¬á¬ »¿ßáΓ∞ »α«úαá¼¼δ ¡á Turbo Pascal,  ¬á¬
  7. ¿ß»«½∞º«óáΓ∞ ßΓá¡ñáαΓ¡δÑ  ¼«ñπ½¿  ¿  ¬á¬  »¿ßáΓ∞  ßó«¿  ß«íßΓóÑ¡¡δÑ
  8. ¼«ñπ½¿.  éδ  πªÑ  ¿¼ÑÑΓÑ  »«¡∩Γ¿Ñ  « Γ«¼,  τΓ« »α«úαá¼¼δ ¼«úπΓ íδΓ∞
  9. í«½∞Φ¿¼¿ ¿ αáºñѽ∩Γ∞ß∩ ¡á ¡Ñ߬«½∞¬« Σá⌐½«ó.  èᬠ π»αáó½∩Γ∞  Γᬿ¼¿
  10. »α«úαἼἿ?
  11.      é φΓ«⌐ ú½áóÑ éδ »«½πτ¿ΓÑ º¡á¡¿∩, ¬á¬ «íΩÑñ¿¡¿Γ∞ éáΦπ »α«úαá¼¼π
  12. 󠼫ñπ½¿, ¬á¬ ¿ß»«½∞º«óáΓ∞ óßΓα«Ñ¡¡δѠ󫺼«ª¡«ßΓ¿ Make ¿ Build, ¬á¬
  13. ¿ß»«½∞º«óáΓ∞ πß½«ó¡πε  ¬«¼»¿½∩µ¿ε  ó¡πΓα¿  ¿ßσ«ñ¡«ú«  Σá⌐½á  ¿  ¬á¬
  14. «»Γ¿¼¿º¿α«óáΓ∞ éáΦ ¬«ñ ¡á ß¬«α«ßΓ∞ óδ»«½¡Ñ¡¿∩.
  15.  
  16.  
  17.                        Äαúá¡¿ºáµ¿∩ »α«úαá¼¼.
  18.  
  19.      Turbo Pascal óÑαß¿¿ 6.0 »«ºó«½∩ÑΓ αáºñѽ¿Γ∞ éáΦπ  »α«úαá¼¼π ¡á
  20. ¬«ñ«óδÑ ßÑú¼Ñ¡Γδ.  éáΦá ú½áó¡á∩ »α«úαἼᠻ«ß½Ñ ¬«¼»¿½∩µ¿¿ ºá¡¿¼áÑΓ
  21. ßÑú¼Ñ¡Γ.  ¥Γ« º¡áτ¿Γ,  τΓ« «¡á ¡Ñ ¼«ªÑΓ ºá¡¿¼áΓ∞ »á¼∩Γ¿ í«½∞ΦÑ 64è.
  22. Äñ¡á¬«,   ¿¼ÑÑΓß∩   ó«º¼«ª¡«ßΓ∞   πóѽ¿τ¿Γ∞  φëà óÑασ¡¿⌐  »αÑñѽ,
  23. αáºí¿ó éáΦπ »α«úαá¼¼π ¡á ¼«ñπ½¿.  èáªñδ⌐ ¼«ñπ½∞ ¼«ªÑΓ ß«ñÑαªáΓ∞  ñ«
  24. 64è   ¼áΦ¿¡¡δσ  ¬«ñ«ó  »α¿  ¬«¼»¿½∩µ¿¿.  é«»α«ß:  ¬á¬  «αúá¡¿º«óáΓ∞
  25. »α«úαá¼¼π, ¬á¬ ß«íαáΓ∞ ÑѠ󠼫ñπ½¿?
  26.      ÅÑαó«Ñ -   φΓ«   «íΩÑñ¿¡¿Γ∞   óßÑ   ú½«íá½∞¡δÑ  «»αÑñѽѡ¿∩  -
  27. ¬«¡ßΓá¡Γδ, Γ¿»δ ñá¡¡δσ,  »ÑαѼѡ¡δÑ -  ó  «ñ¿¡  ¼«ñπ½∞.  àú«  ¼«ª¡«
  28. ¡áºóáΓ∞ MyGlobals.  é «Γ½¿τ¿Ñ «Γ ó¬½ετáѼδσ Σá⌐½«ó, ¼«ñπ½¿ ¡Ñ ¼«úπΓ
  29. "ó¿ñÑΓ∞" ½εíδÑ «»αÑñѽѡ¿∩,  ßñѽᡡδÑ  ó  ú½áó¡«⌐  »α«úαá¼¼Ñ;  «¡¿
  30. "ó¿ñ∩Γ" Γ«½∞¬«   Γ«,   τΓ«   «»αÑñѽѡ«  ó  ¿¡ΓÑαΣÑ⌐ß¡«⌐  τáßΓ¿  ¿σ
  31. ß«íßΓóÑ¡¡«ú« ¼«ñπ½∩ ¿  ó  ñαπú¿σ  ¼«ñπ½∩σ,  ¿ß»«½∞ºπѼδσ  ¿¼¿.  éáΦ
  32. ¼«ñπ½∞ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ MyGlobals ¿ «íαáΘáΓ∞ß∩ ¬« óßѼ ú½«íá½∞¡δ¼
  33. «íΩ∩ó½Ñ¡¿∩¼.
  34.      éΓ«α«⌐ ó«º¼«ª¡δ⌐ ¼«ñπ½∞ - MyUtils. é φΓ«¼ ¼«ñπ½Ñ ¼«ª¡« ß«íαáΓ∞
  35. »«ñ»α«úαá¼¼δ,  ¿ß»«½∞ºπѼδÑ ó óáΦÑ⌐ »α«úαá¼¼Ñ.  çñÑß∞  ñ«½ª¡δ  íδΓ∞
  36. ß«íαá¡δ »«ñ»α«úαá¼¼δ ,  ¬«Γ«αδÑ ¡Ñ ºáó¿ß∩Γ «Γ ¬á¬¿σ-½¿í« ñαπú¿σ (ºá
  37. ¿ß¬½ετÑ¡¿Ñ¼ ñαπú¿σ »α«úαá¼¼ ó MyUtils).
  38.      èα«¼Ñ φΓ«ú«   éδ  ¼«ªÑΓÑ  «íΩÑñ¿¡¿Γ∞  »α«µÑñπαδ  ¿  Σπ¡¬µ¿¿  ó
  39. ½«ú¿τÑ߬¿Ñ úαπ»»δ.  é  ¬áªñ«⌐  úαπ»»Ñ  ¼«ª¡«  «»αÑñѽ¿Γ∞  ¡Ñ߬«½∞¬«
  40. »α«µÑñπα  ¿  Σπ¡¬µ¿⌐,  ¬«Γ«αδÑ  ¡á¿í«½ÑÑ  τáßΓ«  ¿ß»«½∞ºπεΓß∩ éáΦÑ⌐
  41. »α«úαá¼¼«⌐  ¿  ºáΓѼ  »α«µÑñπαδ  ¿  Σπ¡¬µ¿¿,  ¬«Γ«αδÑ  ¿ß»«½∞ºπεΓß∩
  42. ¡Ñ߬«½∞¬« αѪÑ.  Å«ñ«í¡δÑ  úαπ»»δ  «íαáºπεΓ »αѬαáß¡δ⌐ ¼«ñπ½∞.  èá¬
  43. ß«ºñáΓ∞ Ñú«:
  44.      1. æ¬«»¿απ⌐ΓÑ  óßÑ  φΓ¿ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ó «Γñѽ∞¡δ⌐ Σá⌐½ ¿
  45. πñ὿ΓÑ ¿σ ¿º ú½áó¡«⌐ »α«úαá¼¼δ.
  46.      2. ÄΓ¬α«⌐ΓÑ φëàΣá⌐½ ñ½∩ αÑñá¬Γ¿α«óá¡¿∩.
  47.      3. ìáíÑα¿ΓÑ ß½ÑñπεΘ¿Ñ ßΓ᫬¿ »ÑαÑñ »α«µÑñπαἿ ¿ Σπ¡¬µ¿∩¼¿:
  48.  
  49.                          unit ¿¼∩ ¼«ñπ½∩;
  50.                              intarface
  51.                           uses MyGlobals
  52.                           implementation
  53.  
  54.      úñÑ ¿¼∩   ¼«ñπ½∩   -   ¿¼∩   éáΦÑú«   ¼«ñπ½∩  (¿  Γᬠ ªÑ  ¿¼∩
  55. αÑñá¬Γ¿απѼ«ú« Σá⌐½á).
  56.      4. ìáíÑα¿ΓÑ «»ÑαáΓ«α end,  ó ¬«¡µÑ Σá⌐½á.
  57.      5. îѪñπ  interface  ¿  implementation  ß¬«»¿απ⌐ΓÑ   ºáú«½«ó¬¿
  58. »α«µÑñπα ¿  Σπ¡¬µ¿⌐,  óδºδóáѼδσ ¿º ú½áó¡«⌐ »α«úαá¼¼δ.  çáú«½«ó«¬ -
  59. φΓ« »Ñαóá∩ ßΓα«¬á »«ñ»α«úαá¼¼δ  ó¼ÑßΓÑ  ß«  ß½«óἿ  procedure  ¿½¿
  60. function.
  61.      6. àß½¿ φë༫ñπ½∞  ¿ß»«½∞ºπÑΓ  ñαπú¿Ñ  ¼«ñπ½¿,  ºáóÑñ¿ΓÑ  ¿σ
  62. ¿¼Ñ¡á,  «Γñѽ∩∩ ºá»∩Γ묨 ¼Ñªñπ ß½«ó«¼ MyGlobals ¿ ";" ó »αÑñ½«ªÑ¡¿¿
  63. Uses.
  64.      7. ÄΓ¬«¼»¿½¿απ⌐ΓÑ φëàΣá⌐½.
  65.      8. éÑα¡¿ΓÑß∞ ó éáΦπ ú½áó¡πε »α«úαá¼¼π  ¿  ñ«íáó∞ΓÑ  ¿¼∩  φΓ«ú«
  66. ¼«ñπ½∩ ó »αÑñ½«ªÑ¡¿Ñ Uses.
  67.      ¥Γ« ¿ñÑá½∞¡δ⌐  óáα¿á¡Γ,  Ñß½¿  éδ  σ«Γ¿ΓÑ  «αúá¡¿º«óáΓ∞   éáΦπ
  68. »α«úαá¼¼π Γᬿ¼   «íαẫ¼,  τΓ«íδ  «¡á  πñ«í¡«  ¼«ñ¿Σ¿µ¿α«óá½áß∞  ¿
  69. »ÑαѬ«¼»¿½¿α«óá½áß∞ ¬á¬ ¼«ª¡« íδßΓαÑÑ.  ê φΓ« ¡á¿í«½ÑÑ ó᪡«, Γá¬á∩
  70. «»Γ¿¼¿ºáµ¿∩  ñáÑΓ  ó«º¼«ª¡«ßΓ∞ αáí«ΓáΓ∞ ß í«½ÑÑ ¬«¼»á¬Γ¡δ¼¿ ¿ ½Ñú¬«
  71. π»αáó½∩Ñ¼δ¼¿ ¬π߬Ἷ »α«úαá¼¼¡δ󠬫ñ«ó.
  72.  
  73.  
  74.                           ê¡¿µ¿á½¿ºáµ¿∩.
  75.  
  76.      ìừ¼¡¿¼, τΓ«  ½εí«⌐  ¼«ñπ½∞ ¼«ªÑΓ ¿¼ÑΓ∞ ßó«¿ ß«íßΓóÑ¡¡δÑ ¬«ñδ
  77. ¿¡¿µ¿á½¿ºáµ¿¿.   Ä¡¿   óδ»«½¡∩εΓß∩   áóΓ«¼áΓ¿τÑ߬¿   »α¿   ºáúαπº¬Ñ
  78. »α«úαá¼¼δ. àß½¿  »α«úαἼᠿ߻«½∞ºπÑΓ αẽ¿τ¡δÑ ¼«ñπ½¿, óδ»«½¡∩ÑΓß∩
  79. ¿¡¿µ¿á½¿ºáµ¿«¡¡δ⌐ ¬«ñ   ¬áªñ«ú«   ¿º   ¡¿σ.   Å«α∩ñ«¬    óδ»«½¡Ñ¡¿∩
  80. «»αÑñѽ∩ÑΓß∩  »«α∩ñ¬«¼  «»¿ßá¡¿∩ ¼«ñπ½Ñ⌐ ó »αÑñ½«ªÑ¡¿¿ Uses.  êΓá¬,
  81. Ñß½¿ ó »α«úαἼѠ«»¿ßá¡«:
  82.  
  83.                uses MyGlobal, MyUtils, EditLib, GraphLib;
  84.  
  85.      Γ« ßѬµ¿∩  ¿¡¿µ¿á½¿ºáµ¿¿  MyGlobal   íπñÑΓ   óδºóá¡á   »Ñαó«⌐,
  86. ß½ÑñπεΘá∩ - ¼«ñπ½∩ MyUtils ¿ Γ.ñ.
  87.      ä½∩ ß«ºñá¡¿∩ αáºñѽᠿ¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩  »«¼ÑßΓ¿ΓÑ  ¬½ετÑó«Ñ
  88. ß½«ó« begin »ÑαÑñ ß½«ó«¼ end ó ¬«¡µÑ αáºñѽá αÑ὿ºáµ¿¿.  ¥Γ¿ ß½«óá
  89. «»αÑñѽ∩εΓ αáºñѽ  ¿¡¿µ¿á½¿ºáµ¿¿  ¼«ñπ½∩   á¡á½«ú¿τ¡«   Γ«¼π,   ¬á¬
  90. begin...end «»αÑñѽ∩ÑΓ ú½áó¡«Ñ Γѽ« »α«úαá¼¼δ,  »α«µÑñπαδ, Σπ¡¬µ¿¿.
  91. éδ ¼«ªÑΓÑ »«¼ÑßΓ¿Γ∞ ßεñá ½εí«⌐ ¬«ñ Åá߬á½∩. çñÑß∞ ¼«úπΓ íδΓ∞ ßß佬¿
  92. ¡á  óßÑ «íΩ∩ó½Ñ¡¿∩ φΓ«ú« ¼«ñπ½∩ ¬á¬ ¿º ¿¡ΓÑαΣÑ⌐ß¡«ú« αáºñѽá, Γᬠ¿
  93. ¿º αáºñѽá αÑ὿ºáµ¿¿.  çñÑß∞ ΓᬠªÑ  ¼«úπΓ  íδΓ∞  ßß佬¿  ¬  ½εíδ¼
  94. «íΩ∩ó½Ñ¡¿∩¼ ¿¡ΓÑαΣÑ⌐ß¡δσ  τáßΓÑ⌐  óßÑσ  ¼«ñπ½Ñ⌐,  ¿ß»«½∞ºπѼδσ φΓ¿¼
  95. ¼«ñπ½Ñ¼.
  96.  
  97.  
  98.                       æαÑñßΓóá Build ¿ Make.
  99.  
  100.      Turbo Pascal  ó¬½ετáÑΓ  ó  ßÑí∩  «τÑ¡∞  ó᪡«Ñ  ¿ «τÑ¡∞ ¡πª¡«Ñ
  101. ßαÑñßΓó« π»αáó½Ñ¡¿∩ »α«Ñ¬Γ«¼ - óßΓα«Ñ¡¡πε πΓ¿½¿Γπ  Make. Éáßß¼«Γα¿¼
  102. ÑÑ º¡áτÑ¡¿Ñ ó ß¿ßΓѼÑ.
  103.      ä«»πßΓ¿¼ ¿¼ÑÑΓß∩  »α«úαἼᠠMYAPP.PAS,   ¬«Γ«αá∩   ¿ß»«½∞ºπÑΓ
  104. τÑΓδαÑ ¼«ñπ½∩:  MyGlobals,  MyUtils,  EditLib, GraphLib. ¥Γ¿ τÑΓδαÑ
  105. ¼«ñπ½∩ - τÑΓδαÑ ΓѬßΓ«óδσ Σá⌐½á MYGLOBAL.PAS, MYUTILS.PAS, EDITLIB.
  106. PAS,  GRAPHLIB.PAS. äá½ÑÑ MyUtils ¿ß»«½∞ºπÑΓ MyGlobáls, á EditLib ¿
  107. GraphLib ¿ß»«½∞ºπεΓ ¿ MyGlobals ¿ MyUtils.
  108.      Åα¿ ¬«¼»¿½∩µ¿¿  MYAPP.PÇS  ¬«¼»¿½∩Γ«α ¿ΘÑΓ Σá⌐½δ MYGLOBAL.TPU,
  109. MYUTILS.TPU,  EDITLIB.TPU ¿ GRAPHLIB.TPU,  ºáúαπªáÑΓ ¿σ  ó  »á¼∩Γ∞,
  110. ß«í¿αáÑΓ  ¿σ ¬«ñδ ó Σá⌐½ MYAPP.PAS,  ¬«¼»¿½¿απÑΓ ¿ ºá»¿ßδóáÑΓ Ñú« ó
  111. Σá⌐½ MYAPP.EXE (Ñß½¿ ¬«¼»¿½¿απÑΓß∩ ¡á ñ¿ß¬).
  112.      ÆÑ»Ñα∞ ñ«»πßΓ¿¼, τΓ« ¼δ ó¡ÑßѼ ¿º¼Ñ¡Ñ¡¿∩ ó EDITLIB.PAS. ÆÑ»Ñα∞
  113. ñ½∩ ß«ºñá¡¿∩ MYAPP.EXE ¡Ñ«íσ«ñ¿¼« »ÑαѬ«¼»¿½¿α«óáΓ∞ ¿ EDITLIB.PAS ¿
  114. MYAPP.PAS. ¥Γ« ¡Ñ¼¡«ú« ß¬πτ¡á∩, ¡« ¡Ñ ß½«ª¡á∩ ºáñáτá.
  115.      ä«»πßΓ¿¼, ¿º¼Ñ¡Ñ¡¿∩ ó¡ÑßÑ¡δ ó ßѬµ¿ε  ¿¡ΓÑαΣÑ⌐ßá MYGLOBÇL.PAS.
  116. ä½∩  ß«ºñá¡¿∩ ¡«ó«⌐ óÑαß¿¿ MYAPP.EXE,  ¡Ñ«íσ«ñ¿¼« »ÑαѬ«¼»¿½¿α«óáΓ∞
  117. πªÑ óßÑ τÑΓδαÑ ¼«ñπ½∩ ¿ ßá¼ MYAPP.PAS. ¥Γ« «º¡áτáÑΓ, τΓ« »α¿ ¬áªñ«¼
  118. ¿º¼Ñ¡Ñ¡¿¿ ó ¼«ñπ½Ñ MYGLOBAL.PAS, ΓαÑíπÑΓß∩ »ÑαѬ«¼»¿½∩µ¿∩ óßÑσ »∩Γ¿
  119. ¼«ñπ½Ñ⌐.  î«ªÑΓ »«¬áºáΓ∞ß∩,  τΓ« ¿ß»«½∞º«óá¡¿Ñ  ¼«ñπ½Ñ⌐  ¡Ñ  ß«óßѼ
  120. óδú«ñ¡«, «ñ¡á¬« ¡Ñ íπñѼ ñѽáΓ∞ óδó«ñδ.
  121.  
  122.  
  123.                                Make.
  124.  
  125.      Turbo Pascal »αÑñ½áúáÑΓ αÑΦÑ¡¿Ñ:  éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ «»µ¿ε
  126. Make ó  ¼Ñ¡ε  Compile  ¿  Turbo  Pascal óδ»«½¡¿Γ ºá éáß óßε αáí«Γπ.
  127. Åα«µÑßß «τÑ¡∞ »α«ßΓ«⌐: »«ß½Ñ ó¡ÑßÑ¡¿∩ ¿º¼Ñ¡Ñ¡¿⌐ ó ¬á¬«⌐-½¿í« ¼«ñπ½∞
  128. ¿½¿  ó  ú½áó¡πε  »α«úαá¼¼π  »ÑαѬ«¼»¿½¿α«óáΓ∞  ¡áñ«  Γ«½∞¬« ú½áó¡πε
  129. »α«úαá¼¼π.
  130.      Turbo Pascal  «ßπΘÑßΓó½∩ÑΓ  Γα¿  ó¿ñá  »α«óÑ᫬:
  131.      1. é«-»Ñαóδσ,  »α«óÑα¬á ñáΓδ ¿  óαѼѡ¿  ñ½∩  ¬áªñ«ú«  ¼«ñπ½∩,
  132. ¿ß»«½∞ºπѼ«ú«  »α«úαá¼¼«⌐.  äáΓá  ßóÑα∩ÑΓß∩ π Σá⌐½«ó ß αáßΦ¿αÑ¡¿∩¼¿
  133. .PAS ¿ .TPU. àß½¿ ó Σá⌐½δ (.PAS) ó¡«ß¿½¿ß∞ ¿º¼Ñ¡Ñ¡¿∩ ß ΓÑσ »«α, ¬á¬
  134. íδ½    ß«ºñá¡    ß««ΓóÑΓßΓóπεΘ¿⌐    .TPU,   Γ«   φëà  Σá⌐½   .PAS
  135. »ÑαѬ«¼»¿½¿απÑΓß∩ ºá¡«ó«, ß«ºñáóá∩ «í¡«ó½Ñ¡¡δ⌐ Σá⌐½ .TPU. Å«φΓ«¼π ó
  136. »Ñαó«¼  »α¿¼ÑαÑ,  ¬«úñá  ¿º¼Ñ¡Ñ¡¿∩  ó¡«ß∩Γß∩  ó EDITLIB.PAS,  Turbo
  137. Pascal áóΓ«¼áΓ¿τÑ߬¿ «Γ¬«¼»¿½¿απÑΓ  EDITLIB.PAS  »ÑαÑñ  ¬«¼»¿½∩µ¿Ñ⌐
  138. MYAPP.PAS (»α¿ πß½«ó¿¿ ¿ß»«½∞º«óá¡¿∩ «»µ¿¿ Make).
  139.      2. éΓ«αá∩  »α«óÑα¬á:  í뫨  ½¿  ó¡ÑßÑ¡δ  ¿º¼Ñ¡Ñ¡¿∩  ó   ßѬµ¿ε
  140. ¿¡ΓÑαΣÑ⌐ßá   ¼«ñ¿Σ¿µ¿απѼ«ú«  ¼«ñπ½∩.  àß½¿  φΓ«  ¿¼Ñ½«  ¼ÑßΓ«,  Γ«
  141. Turbo Pascal ºá¡«ó« «Γ ¬«¼»¿½¿απÑΓ óßÑ ¼«ñπ½¿,  ¿ß»«½∞ºπεΘ¿Ñ ñá¡¡δ⌐
  142. ¼«ñπ½∞.
  143.      é« óΓ«α«¼  »α¿¼ÑαÑ  ¿º¼Ñ¡Ñ¡¿∩  ó¡ÑßÑ¡δ  ó  αáºñѽ   ¿¡ΓÑαΣÑ⌐ßá
  144. MYGLOBÇL.PAS,  ¼«ñπ½∞ MYAPP.PAS ¬«¼»¿½¿απÑΓß∩ ºá¡«ó«.  Turbo Pascal
  145. »ÑαÑñ ¬«¼»¿½∩µ¿Ñ⌐ MYAPP.PAS áóΓ«¼áΓ¿τÑ߬¿ »ÑαѬ«¼»¿½¿απÑΓ MYGLOBAL.
  146. PAS,  MYUTIL.PAS,  EDITLIB.PAS,  GRAPHLIB.PAS  (ó  «»¿ßá¡¡«¼ ó uses
  147. »«α∩ñ¬Ñ). Äñ¡á¬«,  Ñß½¿ éδ ¼«ñ¿Σ¿µ¿α«ó὿ Γ«½∞¬« αáºñѽ αÑ὿ºáµ¿¿,
  148. Γ« »ÑαѬ«¼»¿½∩µ¿∩  ñαπú¿σ ºáó¿ß¿¼δσ ¼«ñπ½Ñ⌐ ¡Ñ ΓαÑíπÑΓß∩, »«ß¬«½∞¬π
  149. (ß ¿σ Γ«τ¬¿ ºαÑ¡¿∩) éδ ¡Ñ ¿º¼Ñ¡¿½¿ φë༫ñπ½∞.
  150.  
  151.      3. ÆαÑΓ∞∩  »α«óÑα¬á  ¬áßáÑΓß∩  ó¬½ετáѼδσ   ¿   .OBJ   Σá⌐½«ó,
  152. ß«ñÑαªáΘ¿σ »«ñ»α«úαá¼¼δ   ¡á  ÇßßѼí½ÑαÑ,  ¿ß»«½∞ºπѼδσ  ¬á¬¿¼-½¿í«
  153. ¼«ñπ½Ñ¼. àß½¿ ñá¡¡δ⌐ Σá⌐½ .TPU ß«ºñá¡ αá¡∞ΦÑ, τѼ ¬á¬«⌐-¡¿íπñ∞ Σá⌐½
  154. ó¬½ετáѼδ⌐  ¿½¿ .OBJ,  ß ¬«Γ«αδ¼ «¡ ß«í¿αáÑΓß∩,  Γ« ß««ΓóÑΓßΓóπεΘ¿⌐
  155. ¼«ñπ½∞ ¬«¼»¿½¿απÑΓß∩  ºá¡«ó«.  Æá¬¿¼  «íαẫ¼,  Ñß½¿  í뫨  ó¡ÑßÑ¡δ
  156. ¿º¼Ñ¡Ñ¡¿∩ ó »«ñ»α«úαá¼¼áσ,  ¡á»¿ßá¡¡δσ ¡á ÇßßѼí½ÑαÑ,  ¿ß»«½∞ºπѼδÑ
  157. ¼«ñπ½Ñ¼, φëà ¼«ñπ½∞  áóΓ«¼áΓ¿τÑ߬¿  »ÑαѬ«¼»¿½¿απÑΓß∩,  ¬«úñá  éδ
  158. ¬«¼»¿½¿απÑΓÑ »α«úαá¼¼π, ¿ß»«½∞ºπεΘπε φë༫ñπ½∞.
  159.      ä½∩ ¿ß»«½∞º«óá¡¿∩ «»µ¿¿ MakÑ, ¡áñ« óδíαáΓ∞ ¬«¼á¡ñπ Make ó ¼Ñ¡ε
  160. Compile ¿½¿ ¡áªáΓ∞ F9.  Åα¿ αáí«ΓÑ ß ¬«¼»¿½∩Γ«α«¼ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿,
  161. π¬áª¿ΓÑ «»µ¿ε /M. Ä»µ¿∩ Make ¡Ñ ó«ºñÑ⌐ßΓóπÑΓ ¡á ¼«ñπ½¿, ¡áσ«ñ∩Θ¿Ñß∩
  162. ó TURBO.TPL.
  163.  
  164.  
  165.                               Build.
  166.  
  167.      Ä»µ¿∩ Build - φΓ« τáßΓ¡δ⌐ ß½πτá⌐ Make. Åα¿ ¿ß»«½∞º«óá¡¿¿ Build
  168. »ÑαѬ«¼»¿½¿απεΓß∩   óßÑ  ¼«ñπ½¿,  ¿ß»«½∞ºπѼδÑ  ñá¡¡«⌐  »α«úαá¼¼«⌐,
  169. ¿ß¬½ετá∩ ¼«ñπ½¿  ¿º  í¿í½¿«ΓѬ¿  TURéÄ.TÉL.  ¥Γ«  í«½ÑÑ  »α«ßΓ«⌐  ¿
  170. ¡áñѪ¡δ⌐ ß»«ß«í, τΓ« óßÑ íπñÑΓ «í¡«ó½Ñ¡«.
  171.      ä½∩ ó맮óá Build ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ ¿ß»«½∞ºπ⌐ΓÑ «»«µ¿ε /B.
  172.  
  173.  
  174.                      ÇóΓ«¡«¼¡á∩ πΓ¿½¿Γá îákÑ.
  175.  
  176.      Turbo Pascal  »αÑñ½áúáÑΓ  í«½∞Φ«⌐  ¡áí«α  ¼«Θ¡δσ  ßαÑñßΓó  ñ½∩
  177. π»αáó½Ñ¡¿∩ ¿ ß«ºñá¡¿∩ í«½∞Φ¿σ ¿ ß½«ª¡δσ  »α«úαá¼¼,  »«ßΓα«Ñ¡¡δσ  ¿º
  178. ¼¡«ú«τ¿ß½Ñ¡¡δσ   ¼«ñπ½Ñ⌐,  ¿ßσ«ñ¡δσ  ¿  «íΩÑ¬Γ¡δσ  Σá⌐½«ó.  æ¿ßΓѼá
  179. »αÑñ½áúáÑΓ áóΓ«¼áΓ¿τÑ߬«Ñ  óδ»«½¡Ñ¡¿Ñ  «»Ñαᵿ⌐   Make   ¿   Build,
  180. »ÑαѬ«¼»¿½¿απ∩  ¼«ñπ½¿  ó  ß½πτáÑ  ¡Ñ«íσ«ñ¿¼«ßΓ¿.  é  Γ«  ªÑ óαѼ∩,
  181. Turbo Pascal ¡Ñ ¿¼ÑÑΓ ßαÑñßΓó ñ½∩ »«½πτÑ¡¿∩ «í¡«ó½Ñ¡¡δσ .OBJ Σá⌐½«ó
  182. (Σá⌐½«ó «íΩÑ¬Γ¡δσ   ¬«ñ«ó)   »«ñ»α«úαá¼¼,   ¡á»¿ßá¡¡δσ   ¡á   ∩ºδ¬Ñ
  183. ÇßßѼí½Ñαá (.ASM Σá⌐½«ó), ó ß½πτáÑ ¼«ñ¿Σ¿¬áµ¿¿ »«ß½Ññ¡¿σ. ä½∩ φΓ«ú«
  184. ¡Ñ«íσ«ñ¿¼« ¿ß»«½∞º«óáΓ∞ «Γñѽ∞¡δ⌐ ÇßßѼí½Ñα.  é«»α«ß:  èᬠ»«½πτ¿Γ∞
  185. »«ß½Ññ¡¿Ñ óÑαß¿¿ Σá⌐½«ó  ß  αáßΦ¿αÑ¡¿∩¼¿  .ASM  ¿  .OBJ  ¿  ¬á¬  ¿σ
  186. »«ñ¬½ετáΓ∞ ¬ »α«úαá¼¼á¼?
  187.      ÄΓóÑΓ »α«ßΓ.  êß»«½∞ºπ⌐ΓÑ  áóΓ«¡«¼¡πε  πΓ¿½¿Γπ  Make,  ¬«Γ«αá∩
  188. »«ßΓáó½∩ÑΓß∩ ó¼ÑßΓÑ ß ß¿ßΓѼ«⌐ Turbo Pascal .
  189.      Make - ¿¡Γѽ½Ñ¬Γπá½∞¡δ⌐  »α«úαá¼¼¡δ⌐  áñ¼¿¡¿ßΓαáΓ«α,  ¬«Γ«αδ⌐,
  190. »α¿  ºáñá¡¿¿  «»αÑñѽѡ¡δσ  ¬«¼á¡ñ,  óδ»«½¡¿Γ ¡Ñ«íσ«ñ¿¼πε αáí«Γπ »«
  191. ß«σαá¡Ñ¡¿ε ¿ «í¡«ó½Ñ¡¿ε »α«úαá¼¼. ìá ßἫ¼ ñѽѠ󫺼«ª¡«ßΓ¿ πΓ¿½¿Γδ
  192. Make º¡áτ¿Γѽ∞¡« Φ¿αÑ. é ÑÑ Σπ¡¬µ¿«¡á½∞¡δѠ󫺼«ª¡«ßΓ¿ óσ«ñ¿Γ:
  193.  
  194.      - ß«ºñá¡¿Ñ αѺÑαó¡δ󠬫»¿⌐;
  195.      - πñá½Ñ¡¿Ñ Σá⌐½«ó ¿º αẽ¿τ¡δσ »«ñß»αáó«τ¡¿¬«ó;
  196.      - áóΓ«¼áΓ¿τÑ߬¿⌐  ºá»π߬  »α«úαá¼¼  ß  ó¡ÑßÑ¡¿Ñ¼  ¿º¼Ñ¡Ñ¡¿⌐  ó
  197. ¿ß»«½∞ºπѼδÑ Σá⌐½δ ñá¡¡δσ .
  198.  
  199.      Å« ¼ÑαÑ ¿ºπτÑ¡¿∩ ¿ß»«½∞º«óá¡¿∩ πΓ¿½¿Γδ Make,  ¼«ª¡« πó¿ñÑΓ∞  ¿
  200. ñαπú¿Ñ ó«º¼«ª¡«ßΓ¿ ¿ ß»«ß«íδ »α¿¼Ñ¡Ñ¡¿∩ φΓ«⌐ πΓ¿½¿Γδ ñ½∩ αáºαáí«Γ¬¿
  201. »α«úαá¼¼¡«ú« «íÑß»ÑτÑ¡¿∩.
  202.      Make - áóΓ«¡«¼¡á∩ πΓ¿½¿Γá; «¡á «Γ½¿τáÑΓß∩ «Γ «»µ¿⌐ Make Build,
  203. ¬«Γ«αδÑ ó¬½ετÑ¡δ ó IDE ¿ ¬«¼»¿½∩Γ«α ¬«¼á¡ñ¡«⌐ ßΓ᫬¿  (πΓ¿½¿Γá Make
  204. «»¿ßá¡á ó Åα¿½«ªÑ¡¿¿ Ç).
  205.  
  206.  
  207.                          ìÑí«½∞Φ«⌐ »α¿¼Ñα.
  208.  
  209.      ä«»πßΓ¿¼, ¡áñ«  ¡á»¿ßáΓ∞  ¡Ñ߬«½∞¬«  »α«úαá¼¼,  óδó«ñ∩Θ¿σ   ¡á
  210. ñ¿ß»½Ñ⌐  ¡Ñ¬«Γ«απε  ¿¡Σ«α¼áµ¿ε « í½¿ªá⌐Φ¿σ ºóѺñ¡δσ ß¿ßΓѼáσ.  Äñ¡á
  211. »α«úαá¼¼á GETSTAR.PAS ßτ¿ΓδóáÑΓ ó ΓѬßΓ«óδ⌐  Σá⌐½  ß»¿ß«¬  ºóѺñ¡δσ
  212. ß¿ßΓѼ, «íαáíáΓδóáÑΓ Ñú« ¿ ß«ºñáÑΓ ñó«¿τ¡δ⌐ Σá⌐½ φΓ«⌐ ¿¡Σ«α¼áµ¿¿.
  213.      GETSTAR.PAS ¿ß»«½∞ºπÑΓ  Γα¿  ¼«ñπ½∩:   STARDEFS.TPU,   ¬«Γ«αδ⌐
  214. ß«ñÑαª¿Γ ú½«íá½∞¡δÑ «»αÑñѽѡ¿∩;  STARLIB.TPU, ß«ñÑαªáΘ¿⌐ ¡Ñ¬«Γ«αδÑ
  215. πΓ¿½¿Γδ  (óß»«¼«úáΓѽ∞¡δÑ  »«ñ»α«úαá¼¼δ);   STARPROC.TPU,   ¬«Γ«αδ⌐
  216. ñѽáÑΓ  «ß¡«ó¡πε «íαáí«Γ¬π ¿¡Σ«α¼áµ¿¿.  êßσ«ñ¡δÑ ¬«ñδ ¿σ ¡áσ«ñ∩Γß∩,
  217. ß««ΓóÑΓßΓóÑ¡¡«, ó Σá⌐½áσ:
  218.  
  219.                STARDEFS.PAS, STARLIB.PAS, STARPROC.PAS
  220.  
  221.      Ä»αÑñѽ¿¼ ß½ÑñπεΘ¿Ñ ºáó¿ß¿¼«ßΓ¿:
  222.  
  223.      - STARDEFS.PAS ¡Ñ ¿ß»«½∞ºπÑΓ ¡¿¬á¬¿σ ñαπú¿σ ¼«ñπ½Ñ⌐;
  224.      - STARLIB.PAS ¿ß»«½∞ºπÑΓ STARDEFS;
  225.      - STARPROC.PAS ¿ß»«½∞ºπÑΓ STARDEFS ¿ STARLIB;
  226.      - GETSTAR.PAS ¿ß»«½∞ºπÑΓ STARDEFS, STARLIB ¿ STARPROC.
  227.  
  228.      ä½∩ »«½πτÑ¡¿∩    GETSTAR.EXE   ¡Ñ«íσ«ñ¿¼«   »α«ßΓ«   "ßñѽáΓ∞"
  229. («Γ¬«¼»¿½¿α«óáΓ∞) GETSTAR.PAS. Turbo Pascal íπñÑΓ »ÑαѬ«¼»¿½¿α«óáΓ∞
  230. ¼«ñπ½¿ »« ¡Ñ«íσ«ñ¿¼«ßΓ¿.
  231.      ä«»πßΓ¿¼, ÑßΓ∞  ¡Ñ߬«½∞¬«   »«ñ»α«úαá¼¼   ¿º   STARLIB.PAS   -
  232. ¡á»¿ßá¡δσ ¡á ÇßßѼí½ÑαÑ Σá⌐½«ó SLIB1.ASM ¿ SLIB2.ASM.  Å«ß½Ñ αáí«Γδ
  233. Turbo Assembler »«½πτáѼ Σá⌐½δ SLIB1.OBJ ¿  SLIB2.OBJ.  èáªñδ⌐  αáº
  234. STARLIB.PAS  »α¿  ¬«¼»¿½∩µ¿¿  ¬«¼»«¡πÑΓß∩  ß  «í«¿¼¿  .OBJ Σá⌐½á¼¿.
  235. öá¬Γ¿τÑ߬¿,  Turbo Pascal ºá¡«ó« »ÑαѬ«¼»¿½¿απÑΓ STARLIB.PAS,  Ñß½¿
  236. Σá⌐½ STARLIB.TPU ß«ºñá¡ αá¡∞ΦÑ, τѼ ¬á¬«⌐-½¿í« ¿º φΓ¿σ .OBJ Σá⌐½«ó.
  237.      ùΓ« íπñÑΓ ó ß½πτáÑ,  Ñß½¿ ¬á¬«⌐-½¿í« ¿º  .OBJ Σá⌐½«ó  «¬áªÑΓß∩
  238. ß«ºñá¡¡δ¼  αá¡∞ΦÑ,  τѼ  Σá⌐½δ  .ASM,  «Γ ¬«Γ«αδσ «¡¿ ºáó¿ß∩Γ?  ¥Γ«
  239. º¡áτ¿Γ, τΓ« ß««ΓóÑΓßΓóπεΘ¿⌐ Σá⌐½ ß  αáßΦ¿αÑ¡¿Ñ¼  .ASM  ñ«½ªÑ¡  íδΓ∞
  240. αÑáßßÑ¼í½¿α«óá¡.  Turbo Pascal ¡Ñ ¼«ªÑΓ áßßÑ¼í½¿α«óáΓ∞ ΓᬿѠΣá⌐½δ.
  241. ùΓ« ªÑ ñѽáΓ∞?
  242.      ìÑ«íσ«ñ¿¼« ß«ºñáΓ∞  ¬«¼á¡ñ¡δ⌐  Σá⌐½ ñ½∩ Make,  óδºóáΓ∞ πΓ¿½¿Γπ
  243. Make,  »«ñáó  Ñ⌐  φëà ¬«¼á¡ñ¡δ⌐  Σá⌐½.  ¥Γ«Γ  Σá⌐½   ß«ßΓ«¿Γ   ¿º
  244. ºáó¿ß¿¼«ßΓÑ⌐ ¿  ¬«¼á¡ñ.  çáó¿ß¿¼«ßΓ¿  «»αÑñѽ∩εΓ ºáó¿ß¿¼«ßΓ∞ Σá⌐½«ó
  245. ñαπú «Γ ñαπúá.  è«¼á¡ñδ π¬áºδóáεΓ Make,  ¬á¬ ß«ºñáΓ∞ ñá¡¡δ⌐ Σá⌐½ ¿º
  246. ñαπú¿σ Σá⌐½«ó.
  247.  
  248.  
  249.                 æ«ºñá¡¿Ñ ¬«¼á¡ñ¡«ú« Σá⌐½á ñ½∩ Make.
  250.  
  251.      öá⌐½ ñ½∩ Make ó φΓ«¼ ß½πτáÑ ñ«½ªÑ¡ óδú½∩ñÑΓ∞:
  252.  
  253.    GETSTARS.EXE : GETSTARS.PAS STARDEFS.PAS STARLIB.PAS SLIB1.ASM\
  254.                   SLIB2.ASM SLIB.OBJ SLIB2.OBJ TPC GETSTARS /M
  255.  
  256.    SLIB1.OBJ    : SLIB1.ASM
  257.       TASM SLIB1.ASM SLIB1.OBJ
  258.  
  259.    SLIB2.OBJ    : SLIB2.ASM
  260.      TASM SLIB2.ASM SLIB2.OBJ
  261.  
  262.      ìÑ߬«½∞¬« ¡Ñ»«¡∩Γ¡«. ÄíΩ∩ß¡¿¼:
  263.  
  264.      - ÅÑαóδÑ ñóÑ ßΓ᫬¿ »«∩ß¡∩εΓ Make, τΓ« GETSTARS.EXE ºáó¿ß¿Γ «Γ
  265. ΓαÑσ Σá⌐½«ó ¡á»¿ßá¡¡δσ ¡á Turbo Pascal;  ñóπσ Σá⌐½«ó, ¡á»¿ßá¡¡δσ ¡á
  266. áßßѼí½ÑαÑ; ñóπσ  .OBJ  Σá⌐½«ó.  ÄíαáΓ¡δ⌐  ß½φΦ  (\) ó ¬«¡µÑ »Ñαó«⌐
  267. ßΓ᫬¿  -  ß¿¼ó«½  ßΓ᫬¿  »α«ñ«½ªÑ¡¿∩,   Γ.Ñ.   ßΓα«¬á   «»ÑαáΓ«αá
  268. »α«ñ«½ªáÑΓß∩ ñá½ÑÑ.
  269.  
  270.      - ÆαÑΓ∞∩  ßΓα«¬á  - π¬áºá¡¿Ñ Make,  ¬á¬ ß«ºñáÑΓß∩ ¡«óá∩ óÑαß¿∩
  271. GETSTARS.EXE. çá¼ÑΓ¿¼,  τΓ« ñ½∩ «íαáí«Γ¬¿ GETSTARS.PAS ¿ß»«½∞ºπÑΓß∩
  272. ¬«¼»¿½∩Γ«α ¬«¼á¡ñ¡«⌐  ßΓ᫬¿ ¿ ¿ß»«½∞ºπÑΓ óßΓα«Ñ¡¡«Ñ ó Turbo Pascal
  273. ßαÑñßΓó« Make (»áαá¼ÑΓα /M).
  274.  
  275.      - æ½ÑñπεΘ¿Ñ ñóÑ ßΓ᫬¿ (»πßΓδÑ ßΓ᫬¿ ¿ú¡«α¿απεΓß∩)  ú«ó«α∩Γ «
  276. Γ«¼,  τΓ«  SLIB1.OBJ  ºáó¿ß¿Γ  «Γ  SLIB1.ASM ¿ « Γ«¼,  ¬á¬ »«½πτ¿Γ∞
  277. SLIB1.OBJ.
  278.  
  279.      - Å«ß½Ññ¡¿Ñ ñóÑ  ßΓ᫬¿  «»αÑñѽ∩εΓ  ºáó¿ß¿¼«ßΓ¿  (ñ½∩  «ñ¡«ú«
  280. Σá⌐½á) ¿ ñÑ⌐ßΓó¿Ñ Make ¿ SLIB.OBJ.
  281.  
  282.  
  283.                         êß»«½∞º«óá¡¿Ñ îake.
  284.  
  285.      ä«»πßΓ¿¼, ß«ºñá¡ φëଫ¼á¡ñ¡δ⌐ Σá⌐½ »α¿ »«¼«Θ¿  óßΓα«Ñ¡¡«ú« ó
  286. ¿¡ΓÑúα¿α«óá¡¡πε   ßαÑñπ   αÑñá¬Γ«αá   (¿½¿   ªÑ  ¬á¬¿¼-½¿í«  ñαπú¿¼
  287. αÑñá¬Γ«α«¼), ºá»¿ßá¡ ¿ ß«σαá¡Ñ¡ ó Σá⌐½Ñ STARS.MAK. àú« ¼«ª¡« ºáñáΓ∞
  288. ¬«¼á¡ñ«⌐ :
  289.  
  290.                make -f STARS.MAK
  291.  
  292.      úñÑ -f  -  «»µ¿∩,  π¬áºδóáεΘá∩ Make,  ¬á¬«⌐ Σá⌐½ ¿ß»«½∞º«óáΓ∞.
  293. Make «íαáíáΓδóáÑΓ φëàΣá⌐½ ß ¬«¡µá ¿ ñ« óÑαΦ¿¡δ  Σá⌐½á. é«-»Ñαóδσ,
  294. «¡á »α«óÑα∩ÑΓ ñáΓδ SLIB2.OBJ ¿ SLIB2.ASM, Ñß½¿ SLIB2.OBJ ßΓáαÑÑ, Γ«
  295. Make óδºδóáÑΓ ¬«¼á¡ñπ:
  296.  
  297.                TAMS SLIB2.ASM SLIB2.OBJ,
  298.  
  299.      ¬«Γ«αá∩ áßßÑ¼í½¿απÑΓ  SLIB2.ASM   ¿   ß«ºñáÑΓ   ¡«óπε   óÑαß¿ε
  300. SLIB2.OBJ.  Æá¬¿Ñ  ªÑ  ñÑ⌐ßΓó¿∩  (»α«óÑα¬á  ñáΓδ ¿ áßßÑ¼í½¿α«óá¡¿Ñ)
  301. »α«¿ºó«ñ∩Γß∩ ß SLIB1.OBJ. é ºá¬½ετÑ¡¿Ñ, »α«óÑα∩εΓß∩ óßÑ ºáó¿ß¿¼«ßΓ¿
  302. GETSTARS.EXE ¿, Ñß½¿ ¡Ñ«íσ«ñ¿¼«, óδ»«½¡∩ÑΓß∩ ¬«¼á¡ñá:
  303.  
  304.                tpc GETSTARS/M.
  305.  
  306.      Ä»µ¿∩ /M   π¬áºδóáÑΓ   Turbo  Pascal  ¿ß»«½∞º«óáΓ∞  ó¡πΓαÑ¡¡εε
  307. »α«úαá¼¼π Make,   ¬«Γ«αá∩    »α«ß¼«Γα¿Γ    óßÑ    ßó∩º¿,    ó¬½ετá∩
  308. »ÑαѬ«¼»¿½∩µ¿ε Σá⌐½á STARLIB.PAS,  Ñß½¿ ñáΓá ß«ºñá¡¿∩ SLIB1.OBJ ¿½¿
  309. SLIB2.OBJ «¬áªÑΓß∩ í«½ÑÑ ¡«ó«⌐, τѼ ñáΓá ß«ºñá¡¿∩ STARLIB.TPU.
  310.  
  311.  
  312.                        ôß½«ó¡á∩ ¬«¼»¿½∩µ¿∩.
  313.  
  314.      ä½∩ «í½ÑúτÑ¡¿∩ αáºαáí«Γ«¬,  Turbo Pascal óÑαß¿¿ 6.0 »αÑñ½áúáÑΓ
  315. πß½«ó¡πε ¬«¼»¿½∩µ¿ε.  ¥Γ« º¡áτ¿Γ,  τΓ« éδ ¼«ªÑΓÑ αÑΦáΓ∞ ¬á¬¿Ñ τáßΓ¿
  316. ¼«ª¡«  ¬«¼»¿½¿α«óáΓ∞, «ß¡«óδóá∩ß∞ ¡á «»µ¿∩σ ¿ «»αÑñѽѡ¡δσ ß¿¼ó«½áσ.
  317. ä½∩ »«ñα«í¡«ú« «º¡á¬«¼½Ñ¡¿∩ ß πß½«ó¡δ¼¿ ñ¿αÑ¬Γ¿óἿ  ¬«¼»¿½∩µ¿¿ ß¼.
  318. ú½áóπ 21 "ä¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá" Éπ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá.
  319.      ö«α¼áΓ πß½«ó¡δσ  ñ¿αÑ¬Γ¿ó  »α«ßΓ   ¿   á¡á½«ú¿τÑ¡   ñ¿αÑ¬Γ¿óá¼
  320. ¬«¼»¿½∩Γ«αá:
  321.  
  322.                {$ ñ¿αÑ¬Γ¿óá áαúπ¼Ñ¡Γ}
  323.  
  324.      úñÑ ñ¿αÑ¬Γ¿óá «í«º¡áτáÑΓ ñ¿αÑ¬Γ¿óπ Γ¿»á DEFINE,  IFDEF ¿ Γ.».,
  325. áαúπ¼Ñ¡Γ - áαúπ¼Ñ¡Γ.  çá¼ÑΓ¿¼,  τΓ« ¼Ñªñπ ñ¿αÑ¬Γ¿ó«⌐  ¿  áαúπ¼Ñ¡Γ«¼
  326. ñ«½ªÑ¡  íδΓ∞  αáºñѽ¿Γѽ∞ (»α«íѽ ¿½¿ ß¿¼ó«½ Γáíπ½∩µ¿¿).  é Γáí½¿µÑ
  327. 6.1. »α¿óÑñÑ¡δ πß½«ó¡δÑ ñ¿αÑ¬Γ¿óδ.
  328.  
  329.             Æáí½¿µá 6.1. ä¿αÑ¬Γ¿óδ πß½«ó¡«⌐ ¬«¼»¿½∩µ¿¿.
  330.  
  331. ───────────────────────────────────────────────────────────────────
  332. {$DEFINE ß¿¼ó«½}     «»αÑñѽ∩ÑΓ ß¿¼ó«½ ñ½∩ ñαπú¿σ ñ¿αÑ¬Γ¿ó
  333.  
  334. {$UNDEF ß¿¼ó«½}      πñá½∩ÑΓ «»αÑñѽѡ¿Ñ ß¿¼ó«½á
  335.  
  336. {$IFDEF ß¿¼ó«½}      Ñß½¿ ß¿¼ó«½ «»αÑñѽѡ, Γ« ß½ÑñπεΘ¿Ñ ºá ¡¿¼
  337.                      ¬«¼á¡ñδ ¬«¼»¿½¿απεΓß∩
  338.  
  339. {$IFNDEF ß¿¼ó«½}     Ñß½¿ ß¿¼ó«½ ¡Ñ «»αÑñѽѡ, Γ« ß½ÑñπεΘ¿Ñ ºá
  340.                      ¡¿¼ ¬«¼á¡ñδ ¬«¼»¿½¿απεΓß∩
  341.  
  342. {$IFOPT  x+}         Ñß½¿ ñ¿αÑ¬Γ¿óá ñ«»πßΓ¿¼á, Γ« ß½ÑñπεΘ¿Ñ ºá
  343.                      ¡Ñ⌐ ¬«¼á¡ñδ ¬«¼»¿½¿απεΓß∩
  344.  
  345. {$IFOPT  x-}         Ñß½¿ ñ¿αÑ¬Γ¿óá ¡Ññ«»πßΓ¿¼á, Γ« ß½ÑñπεΘ¿Ñ
  346.                      ºá ¡Ñ⌐ ¬«¼á¡ñδ ¬«¼»¿½¿απεΓß∩
  347.  
  348. {$ELSE}              Ñß½¿ »αÑñδñπΘá∩ ñ¿αÑ¬Γ¿óá IFxxx ¡Ñ ñá½á
  349.                      º¡áτÑ¡¿Ñ TRUE, Γ« ß½ÑñπεΘ¿⌐ ºá ¡Ñ⌐ ¬«ñ
  350.                      ¬«¼»¿½¿απÑΓß∩
  351.  
  352. {$ENDIF}             «í«º¡áτáÑΓ ¬«¡Ñµ ñ¿αÑ¬Γ¿óδ IFxxx ... ELSE
  353. ───────────────────────────────────────────────────────────────────
  354.  
  355.  
  356.                      ä¿αÑ¬Γ¿óδ DEFINE ¿ UNDEF.
  357.  
  358.      ¥Γ¿ ñ¿αÑ¬Γ¿óδ  »α«óÑα∩εΓ,  «»αÑñѽѡ  ½¿  ¡Ñ¬«Γ«αδ⌐ ß¿¼ó«½ ¿½¿
  359. ¡ÑΓ. ¥Γ¿  ß¿¼ó«½δ  «»αÑñѽ∩εΓß∩  ñ¿αÑ¬Γ¿ó«⌐  DEFINE  ¿  «Γ¬½ετáεΓß∩
  360. ñ¿αÑ¬Γ¿ó«⌐  UNDEF  (éδ ΓᬠªÑ ¼«ªÑΓÑ «»αÑñѽ¿Γ∞ ß¿¼ó«½δ ó ¬«¼á¡ñ¡«⌐
  361. ßΓα«¬Ñ ¿ ó ¿¡ΓÑúα¿α«óá¡¡«⌐ ßαÑñÑ).
  362.      ä½∩ «»αÑñѽѡ¿∩ ß¿¼ó«½á, óßΓáó∞ΓÑ ñ¿αÑ¬Γ¿óπ
  363.  
  364.                {$DEFINE ß¿¼ó«½}
  365.  
  366.      ó ßó«ε   »α«úαá¼¼π.   æ¿¼ó«½   »«ñτ¿¡∩ÑΓß∩   «íδτ¡δ¼  »αáó¿½á¼
  367. «íαẫóá¡¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó,  Γᬿ¼ ¬á¬ ñ½¿¡á, ñ«»πßΓ¿¼δÑ ß¿¼ó«½δ ¿
  368. Γ.ñ. ìá»α¿¼Ñα:
  369.  
  370.                {$DEFINE debug}
  371.  
  372.      ¥Γ« ∩ó½∩ÑΓß∩  «»αÑñѽѡ¿Ñ¼  ß¿¼ó«½á debug ñ½∩ «ßΓáóΦÑ⌐ß∩ τáßΓ¿
  373. »α«úαá¼¼δ ñ« ΓÑσ »«α »«¬á ¡Ñ óßΓαÑΓ¿Γß∩ ñ¿αÑ¬Γ¿óá:
  374.  
  375.                {$UNDEF debug}
  376.  
  377.      ¿½¿ ¡Ñ óßΓαÑΓ¿Γß∩ end.
  378.      àß½¿ ß¿¼ó«½ ¡Ñ «»αÑñѽѡ, Γ« UNDEF ¡¿ ¡á τΓ« ¡Ñ ó½¿∩ÑΓ.
  379.  
  380.  
  381.                   Ä»αÑñѽѡ¿Ñ ó ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ.
  382.  
  383.      Åα¿ αáí«ΓÑ ß ¬«¼»¿½∩Γ«α«¼  ¬«¼á¡ñ¡«⌐  ßΓ᫬¿  (TPC.EXE)  ¼«ª¡«
  384. «»αÑñѽ¿Γ∞ πß½«ó¡δÑ ß¿¼ó«½δ ó ßἫ⌐ ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ.  TPC »«¡¿¼áÑΓ
  385. «»µ¿ε /D,  ºá ¬«Γ«α«⌐ ß½ÑñπÑΓ ß»¿ß«¬ ß¿¼ó«½«ó, αáºñѽѡ¡δσ Γ«τ¬«⌐ ß
  386. ºá»∩Γ«⌐ (;).
  387.  
  388.                tpc myprog /Ddebug;test;dump
  389.  
  390.      çñÑß∞ «»αÑñÑ½Ñ¡δ  ß¿¼ó«½δ  debug,  test  ¿  dump ñ½∩ »α«úαá¼¼δ
  391. MYPROG.PAS. çá¼ÑΓ¿¼,  τΓ«  «»µ¿∩  /D  ∩ó½∩ÑΓß∩   ßó«ñ¡«⌐,   »«φΓ«¼π
  392. ß½ÑñπεΘá∩ ßΓ᫬á á¡á½«ú¿τ¡á »αÑñδñπΘÑ⌐:
  393.  
  394.                tpc myprog /Ddebug/Dtest/Ddump
  395.  
  396.  
  397.                Ä»αÑñѽѡ¿Ñ ó ¿¡ΓÑúα¿α«óá¡¡«⌐ ßαÑñÑ.
  398.  
  399.      ôß½«ó¡δÑ ß¿¼ó«½δ   ¼«ª¡«   «»αÑñѽ¿Γ∞    ß    »«¼«Θ∞ε    «»µ¿¿
  400. Options/Compiler/Conditional Defines.   î¡«ªÑßΓó«   ß¿¼ó«½«ó  ¼«ª¡«
  401. «»αÑñѽ¿Γ∞, óóÑñ∩ ¿σ ó »«½Ñ óó«ñá,  αáºñѽ¿ó ¿σ  Γ«τ¬«⌐  ß  ºá»∩Γ«⌐
  402. (;).  æ¿¡Γá¬ß¿ß  Γᬫ⌐  ªÑ,  ¬á¬ ¿ ó ß½πτáÑ ¿ß»«½∞º«óá¡¿∩ ¬«¼á¡ñ¡«⌐
  403. ßΓ᫬¿.
  404.  
  405.  
  406.                      ÅαÑñ«»αÑñѽѡ¡δÑ ß¿¼ó«½δ.
  407.  
  408.      Å«¼¿¼« ß¿¼ó«½«ó,  «»αÑñѽѡ¡δσ ó »α«úαá¼¼áσ,  ÑßΓ∞ ó«º¼«ª¡«ßΓ∞
  409. »α«óÑα∩Γ∞ ¡Ñ¬«Γ«αδÑ ß¿¼ó«½δ, «»αÑñѽ∩ѼδÑ Turbo Pascal.
  410.      é Γáí½. 6.2. »ÑαÑτ¿ß½Ñ¡δ φΓ¿ ß¿¼ó«½δ.
  411.  
  412.               Æáí½¿µá 6.2. ÅαÑñ«»αÑñѽѡ¡δÑ ß¿¼ó«½δ.
  413.  
  414. ───────────────────────────────────────────────────────────────────
  415. VER60              éßÑúñá «»αÑñѽѡ (TP 4.0. «»αÑñѽ∩ÑΓ VER 4.0
  416.                    ¿ Γ.ñ.)
  417.  
  418. MSDOS              éßÑúñá «»αÑñѽѡ
  419.  
  420. CPU86              éßÑúñá «»αÑñѽѡ
  421.  
  422. CPU87              Ä»αÑñѽѡ, Ñß½¿ »α¿ßπΓßΓóπÑΓ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿
  423.                    »α«µÑßß«α 8087
  424. ───────────────────────────────────────────────────────────────────
  425.  
  426.  
  427.                            æ¿¼ó«½ VER60.
  428.  
  429.      ¥Γ«Γ ß¿¼ó«½ «»αÑñѽѡ óßÑúñá ó  Turbo  Pascal  6.0.  ìá»α¿¼Ñα,
  430. VER40  «»αÑñѽѡ  ó  óÑαß¿¿  4.0  ¿  Γ.ñ.  Å«ß½ÑñπεΘ¿Ñ óÑαß¿¿ íπñπΓ
  431. ß««ΓóÑΓßΓóÑ¡¡« ¿¼ÑΓ∞ ó¿ñ:
  432.  
  433.      - VER65 ñ½∩ óÑαß¿¿ 6.5;
  434.      - VER70 ñ½∩ óÑαß¿¿ 7.0.
  435.      ¿ Γ.ñ.
  436.  
  437.      ¥Γ« »«ºó«½¿Γ   ß«ºñáóáΓ∞   ¿ßσ«ñ¡δÑ   ¬«ñδ,   ß«ó¼ÑßΓ¿¼δÑ    ß
  438. »«ß½ÑñπεΘ¿¼¿ óÑαß¿∩¼¿.
  439.  
  440.  
  441.                       æ¿¼ó«½δ MSDOS ¿ CPU86.
  442.  
  443.      ¥Γ¿ ß¿¼ó«½δ  «»αÑñÑ½Ñ¡δ   óßÑúñá.   æ¿¼ó«½   MSDOS   π¬áºδóáÑΓ
  444. ¬«¼»¿½∩µ¿ε »«  π»αáó½Ñ¡¿Ñ¼  «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ DOS.  æ¿¼ó«½ CPU86
  445. «º¡áτáÑΓ,  τΓ« ó ¬«¼»∞εΓÑαÑ ¿ß»«½∞ºπÑΓß∩  »α«µÑßß«α  iAPx86  (8088,
  446. 8086, 80186, 80286, 80386 ¿ 80486) Intel.
  447.      Å«ß¬«½∞¬π, ó »«ß½ÑñπεΘѼ  »«∩ó∩Γß∩  óÑαß¿¿  Turbo  Pascal  ñ½∩
  448. ñαπú¿σ  «»Ñαᵿ«¡¡δσ  ß¿ßΓѼ  ¿  »α«µÑßß«α«ó,  Γ«  ¿  ó  ¡¿σ  íπñπΓ
  449. á¡á½«ú¿τ¡δÑ   ß¿¼ó«½δ,   «»αÑñѽ∩εΘ¿Ñ   «»Ñαᵿ«¡¡δÑ   ß¿ßΓÑ¼δ    ¿
  450. »α«µÑßß«αδ.
  451.  
  452.  
  453.                            æ¿¼ó«½ CPU87.
  454.  
  455.      Turbo Pascal óÑαß¿¿ 6.0 »«ññÑনóáÑΓ «»Ñαᵿ¿  ¡áñ  τ¿ß½á¼¿  ß
  456. »½áóáεΘÑ⌐  Γ«τ¬«⌐ ñóπ¼∩ ß»«ß«íἿ:  á»»áαáΓ¡« ¿ »α«úαá¼¼¡«.  àß½¿ ó
  457. ¬«¼»∞εΓÑαÑ πßΓá¡«ó½Ñ¡ ¼áΓѼáΓ¿τÑ߬¿⌐ ß«»α«µÑßß«α  80σ87,  Γ«  ¼«ª¡«
  458. ¿ß»«½∞º«óáΓ∞ ßΓá¡ñáαΓ  IEEE  ñ½∩  τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ (Single,
  459. Double, Extended,  Comp).  é φΓ«¼ ß½πτáÑ Turbo Pascal  «ßπΘÑßΓó½∩ÑΓ
  460. »α∩¼δÑ «íαáΘÑ¡¿∩ ¬ ¼áΓѼáΓ¿τÑ߬«¼π »α«µÑßß«απ.
  461.      àß½¿ π  óáß  ¡ÑΓ  »α«µÑßß«αá  8087,  Γ«   ¼«ª¡«   ¿ß»«½∞º«óáΓ∞
  462. ßΓá¡ñáαΓ¡δÑ IEEE  Γ¿»δ,  π¬áºáó Turbo Pascal φ¼π½¿α«óáΓ∞ 8087.  Æá¬
  463. ªÑ, óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ßΓá¡ñáαΓ¡δ⌐ óÑΘÑßΓóÑ¡¡δ⌐ Γ¿» ß »½áóáεΘÑ⌐
  464. Γ«τ¬«⌐,  Γ«úñá  Turbo Pascal íπñÑΓ »«ññÑনóáΓ∞ óßÑ «»Ñαᵿ¿ ß φΓ¿¼
  465. Γ¿»«¼ ñá¡¡δσ.  æ »«¼«Θ∞ε ñ¿αÑ¬Γ¿ó $N ¿ $E ¼«ª¡« «»αÑñѽ¿Γ∞,  τΓ« óδ
  466. σ«Γ¿ΓÑ ¿ß»«½∞º«óáΓ∞.
  467.      Åα¿ ºáúαπº¬Ñ ¬«¼»¿½∩Γ«αá Turbo Pascal  «ßπΘÑßΓó½∩ÑΓß∩ »α«óÑα¬á
  468. ¡á½¿τ¿∩ 80σ87.  àß½¿  «¡  ¿¼ÑÑΓß∩,  «»αÑñѽ∩ÑΓß∩  ß¿¼ó«½  CPU87.  é
  469. »α«Γ¿ó¡«¼ ß½πτáÑ, ¡Ñ «»αÑñѽ∩ÑΓß∩. Å«φΓ«¼π ó ¡áτá½Ñ »α«úαá¼¼δ ¼«ª¡«
  470. »«¼ÑßΓ¿Γ∞ ß½ÑñπεΘÑÑ:
  471.  
  472. {$N+}                    {éßÑúñá ¿ß»«½∞ºπÑΓß∩ ßΓá¡ñáαΓ IEEE}
  473. {$IFDEF  CPU87}          {àß½¿ ÑßΓ∞ 80x87}
  474. {$E+}                    {ìÑΓ, ¿ß»«½∞ºπÑΓß∩ í¿í½¿«ΓѬá φ¼π½∩µ¿¿}
  475. {$ENDIF}
  476.  
  477.  
  478.                     C¿¼ó«½δ IFxxx,ELSE ¿ ENDIF.
  479.  
  480.      æ¼δß½ ¿ß»«½∞º«óá¡¿∩  πß½«ó¡δσ  ñ¿αÑ¬Γ¿ó  ó Γ«¼,  τΓ« éδ ¼«ªÑΓÑ
  481. óδíαáΓ∞ ¿ßσ«ñ¡δ⌐ ¬«ñ ñ½∩ ¬«¼»¿½∩µ¿¿, Ñß½¿ ¬á¬«⌐-Γ« ß¿¼ó«½ «»αÑñѽѡ
  482. ¿½¿ ¡Ñ«»αÑñѽѡ, ¿½¿ Ñß½¿ ¬á¬á∩-Γ« «»µ¿∩ ó¬½ετѡᠿ½¿ ó䬽ετÑ¡á.
  483.      ö«α¼áΓ:
  484.  
  485.                {$IFxxx}
  486.                  ¿ßσ«ñ¡δ⌐ ¬«ñ
  487.                {$ENDIF}
  488.  
  489.      úñÑ IFxxx - φΓ« IFDEF,  IFNDEF ¿½¿ IFOPT,  ºá ¬«Γ«αδ¼  ß½ÑñπÑΓ
  490. ß««ΓóÑΓßΓóπεΘ¿⌐   áαúπ¼Ñ¡Γ;   á  ¿ßσ«ñ¡δ⌐  ¬«ñ  -  ¡Ñ¬«Γ«αá∩  τáßΓ∞
  491. »α«úαá¼¼δ ¡á Turbo Pascal.  àß½¿ óδαáªÑ¡¿Ñ ó ñ¿αÑ¬Γ¿óÑ IFxxx  ¿¼ÑÑΓ
  492. º¡áτÑ¡¿Ñ  True,  Γ« ¿ßσ«ñ¡δ⌐ ¬«ñ ¬«¼»¿½¿απÑΓß∩.  é »α«Γ¿ó¡«¼ ß½πτáÑ
  493. »α«»π߬áÑΓß∩ ¿ αáßß¼áΓα¿óáÑΓß∩ ¬á¬ ¬«¼¼Ñ¡Γáα¿⌐.
  494.      ùáßΓ« éδ  ¿¼ÑÑΓÑ  á½∞ΓÑα¡áΓ¿ó¡δÑ  τáßΓ¿  ¿ßσ«ñ¡«ú« ¬«ñá.  àß½¿
  495. óδαáªÑ¡¿Ñ  ¿¼ÑÑΓ  º¡áτÑ¡¿Ñ  True,  Γ«  ¬«¼»¿½¿απÑΓß∩   «ñ¡á   τáßΓ∞
  496. »α«úαá¼¼δ, á Ñß½¿ º¡áτÑ¡¿Ñ óδαáªÑ¡¿∩ - False,  Γ« ñαπúá∩. ä½∩ φΓ«ú«
  497. ßπΘÑßΓóπÑΓ ñ¿αÑ¬Γ¿óá $ELSE:
  498.  
  499.                {$IFxxx}
  500.                  ¿ßσ«ñ¡δ⌐ ¬«ñ Ç
  501.                {$ELSE}
  502.                  ¿ßσ«ñ¡δ⌐ ¬«ñ é
  503.                {$ENDIF}
  504.  
  505.      é φΓ«¼ »α¿¼ÑαÑ,  Ñß½¿ óδαáªÑ¡¿Ñ IFxxx - True, Γ« ¬«¼»¿½¿απÑΓß∩
  506. ¿ßσ«ñ¡δ⌐  ¬«ñ  Ç,  ¿¡áτÑ (False) ¿ßσ«ñ¡δ⌐ ¬«ñ é.  ÄΓ¼ÑΓ¿¼,  τΓ« óßÑ
  507. ñ¿αÑ¬Γ¿óδ IFxxx ñ«½ª¡δ íδΓ∞  ó¡πΓα¿  «ñ¡«ú«  ¿  Γ«ú«  ªÑ  ¿ßσ«ñ¡«ú«
  508. Σá⌐½á,  Γ«  ÑßΓ∞  Γᬫ⌐  ß¿Γπᵿ¿:  ¡áτὫ  ó «ñ¡«¼ Σá⌐½Ñ - ¬«¡Ñµ ó
  509. ñαπú«¼, íδΓ∞ ¡Ñ ñ«½ª¡«.
  510.      Äñ¡á¬«, ¼Ñªñπ  ñ¿αÑ¬Γ¿óἿ  IFxxx  ¼«úπΓ  ¡áσ«ñ¿Γß∩ ó¬½ετáѼδÑ
  511. Σá⌐½δ:
  512.  
  513.                {$IFxxx}
  514.                {$I file1.pas}
  515.                {$ELSE}
  516.                {$I file2.pas}
  517.                {$ENDIF}
  518.  
  519.      Æá¬¿¼ «íαẫ¼, ¿¼ÑÑΓß∩ ó«º¼«ª¡«ßΓ∞ óδí«αá ßαÑñ¿ á½∞ΓÑα¡áΓ¿ó¡δσ
  520. ó¬½ετáѼδσ Σá⌐½«ó  ó ºáó¿ß¿¼«ßΓ¿ «Γ ¡Ñ¬«Γ«αδσ πß½«ó¿⌐.
  521.      ä«»π߬áεΓß∩ ó½«ªÑ¡¡δÑ ñ¿αÑ¬Γ¿óδ IFxxx...ENDIF:
  522.  
  523.                {$IFxxx}               {ÅÑαóá∩ IF ñ¿αÑ¬Γ¿óá}
  524.                ...
  525.                {$IFxxx}               {éΓ«αá∩ IF ñ¿αÑ¬Γ¿óá}
  526.                ...
  527.                {$ENDIF}               {諡ѵ óΓ«α«⌐ IF ñ¿αÑ¬Γ¿óδ}
  528.                ...
  529.                {$ENDIF}               {諡ѵ »Ñαó«⌐ IF ñ¿αÑ¬Γ¿óδ}
  530.  
  531.  
  532.  
  533.                      ä¿αÑ¬Γ¿óδ IFDEF ¿ IFNDEF.
  534.  
  535.      ÆÑ»Ñα∞ éδ  º¡áÑΓÑ,  ¬á¬  «»αÑñѽ¿Γ∞   ß¿¼ó«½   ¿   «   ¡á½¿τ¿¿
  536. »αÑñóáα¿Γѽ∞¡« «»αÑñѽѡ¡δσ ß¿¼ó«½«ó. ä¿αÑ¬Γ¿óδ IFDEF ¿ IFNDEF ñáεΓ
  537. 󫺼«ª¡«ßΓ∞ πß½«ó¡«⌐ ¬«¼»¿½∩µ¿¿ ó ºáó¿ß¿¼«ßΓ¿ «Γ  Γ«ú«,  «»αÑñѽѡδ
  538. ¡Ñ¬«Γ«αδÑ ß¿¼ó«½δ ¿½¿ ¡Ñ «»αÑñѽѡδ.
  539.      ¥Γ«Γ »α¿¼Ñα πªÑ óßΓαÑτá½ß∩:
  540.  
  541. {$IFDEF CPU87}            {àß½¿ ÑßΓ∞ 80x87}
  542. {$N+,E-}                  {Æ«úñá ¿ß»«½∞ºπεΓß∩ ¬«ñδ ñ½∩ 80x87}
  543. {$ELSE}                   {é »α«Γ¿ó¡«¼ ß½πτáÑ}
  544. {$N+,E+}                  {êß»«½∞ºπÑΓß∩ í¿í½¿«ΓѬᠻα«úαá¼¼
  545. {$ENDIF}                            φ¼π½∩µ¿¿}
  546.  
  547.      éßΓáó¬á φΓ¿σ  ñ¿αÑ¬Γ¿ó  ó  »α«úαá¼¼π  «º¡áτáÑΓ  áóΓ«¼áΓ¿τÑ߬«Ñ
  548. ó¬½ετÑ¡¿Ñ «»µ¿¿ $N »α¿ ¡á½¿τ¿¿ ¼áΓѼáΓ¿τÑ߬«ú« ß«»α«µÑßß«αá 8087 ó«
  549. óαѼ∩ ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ. é᪡δ⌐ ¼«¼Ñ¡Γ:
  550.      $N -  φΓ«  «»µ¿∩ óαѼѡ¿ ¬«¼»¿½∩µ¿¿.  àß½¿ ¿¼ÑÑΓß∩ ß«»α«µÑßß«α
  551. 8087, Γ« »α«úαá¼¼á «Γ¬«¼»¿½¿απÑΓß∩ »α¿ ó¬½ετÑ¡¡«⌐ ñ¿αÑ¬Γ¿óÑ  $N+  ¿
  552. ó䬽ετÑ¡¡«⌐ ñ¿αÑ¬Γ¿óÑ $E-,  τΓ« «º¡áτáÑΓ óδí«α »α∩¼δσ ó맮ó«ó 8087.
  553. é »α«Γ¿ó¡«¼ ß½πτáÑ »α«úαá¼¼á íπñÑΓ ¬«¼»¿½¿α«óáΓ∞ß∩ ß $N+ ¿ $à+, Γ.Ñ
  554. ¿ß»«½∞ºπÑΓß∩ í¿í½¿«ΓѬᠻα«úαá¼¼ φ¼π½∩µ¿¿. é ß½πτáÑ, Ñß½¿ »α«úαá¼¼á
  555. ¬«¼»¿½¿απÑΓß∩ ¡á ¼áΦ¿¡Ñ ß ß«»α«µÑßß«α«¼ 8087, Γ« .àòà Σá⌐½ ¡Ñ ¼«ªÑΓ
  556. íδΓ∞ ºá»πΘÑ¡ ¡á ¼áΦ¿¡Ñ íѺ »α«µÑßß«αá 8087. è«¡Ñτ¡«, Ñß½¿ »α«úαá¼¼á
  557. ¬«¼»¿½¿α«óá½áß∞ ß ¿ß»«½∞º«ó᡿Ѽ ñ¿αÑ¬Γ¿óδ {$N+,E+},  Γ«  ÑÑ  ¼«ª¡«
  558. ºá»π߬áΓ∞  ¡á  ½εí«⌐  ß¿ßΓѼѠ¿ ¿ß»«½∞º«óáΓ∞ φ¼π½∩µ¿ε ó Γ«¼ ß½πτáÑ,
  559. ¬«úñá   á»»áαáΓ¡«Ñ   «íÑß»ÑτÑ¡¿Ñ   8087   ¡Ñ   «í¡áαπªÑ¡«.
  560.      äαπú«⌐ αáß»α«ßΓαá¡Ñ¡¡δ⌐  ß»«ß«í  ¿ß»«½∞º«óá¡¿∩ φΓ¿σ ñ¿αÑ¬Γ¿ó -
  561. »α¿ «Γ½áñ¬Ñ.
  562.  
  563.      ìá»α¿¼Ñα, ó ¡áτá½Ñ ¬áªñ«ú« ¼«ñπ½∩ »«¼ÑΘáÑΓß∩ ¬«ñ:
  564.  
  565.      {$IFDEF debug}
  566.      {$D+,L+}
  567.      {$ELSE}
  568.      {$D-,L-}
  569.      {$ENDIF}
  570.  
  571.      àß½¿ ó ¡áτὫ »α«úαá¼¼δ »«¼ÑßΓ¿Γ∞ ñ¿αÑ¬Γ¿óπ
  572.  
  573.      {$DEFINE debug}
  574.  
  575.      ¿ «Γ¬«¼»¿½¿α«óáΓ∞ ÑÑ,  Γ« »«½¡á∩ «Γ½áñ«τ¡á∩  ¿¡Σ«α¼áµ¿∩  íπñÑΓ
  576. úÑ¡Ñα¿α«óáΓ∞ß∩ ¬«¼»¿½∩Γ«α«¼   ñ½∩   ¿ß»«½∞º«óá¡¿∩   ß«   óßΓα«Ñ¡¡δ¼
  577. ¿¡ΓÑúα¿α«óá¡¡δ¼  «Γ½áñτ¿¬«¼   ¿½¿   áóΓ«¡«¼¡δ¼   «Γ½áñτ¿¬«¼   Turbo
  578. Debugger.   Ç¡á½«ú¿τ¡«,  ¼«ª¡«  «»αÑñѽ¿Γ∞  τáßΓ¿  ¿ßσ«ñ¡«ú«  ¬«ñá,
  579. ¬«Γ«αδÑ íπñπΓ »«ñ¬½ετÑ¡δ ¬ ¬«¼»¿½∩µ¿¿ Γ«½∞¬« »α¿  «Γ½áñ¬Ñ.  é  φΓ«¼
  580. ß½πτáÑ »¿ΦÑΓß∩:
  581.  
  582.                {$IFDàF debug}
  583.                  ¿ßσ«ñ¡δÑ ¬«ñδ
  584.                {$ENDIF}
  585.  
  586.      úñÑ ¿ßσ«ñ¡δÑ  ¬«ñδ  ¬«¼»¿½¿απεΓß∩  Γ«½∞¬«  Γ«úñá,  ¬«úñá debug
  587. «»αÑñѽѡ ó φΓ«⌐ Γ«τ¬Ñ.
  588.  
  589.  
  590.                          ä¿αÑ¬Γ¿óá IFOPT.
  591.  
  592.      ê¡«úñá íδóáÑΓ   ¡Ñ«íσ«ñ¿¼«   óßΓáó¿Γ∞   ¿½¿  ¿ß¬½ετ¿Γ∞  ¬«ñ  ó
  593. ºáó¿ß¿¼«ßΓ¿ «Γ Γ«ú«,  ¬á¬¿Ñ  «»µ¿¿  ¬«¼»¿½∩Γ«αá  óδíαá¡δ  (»α«óÑα¬á
  594. ñ¿á»áº«¡á,  óδó«ñá,  «íαáí«Γ¬á  τ¿ßѽ  ¿  Γ.ñ).  é Turbo Pascal φΓ«
  595. «ßπΘÑßΓó½∩ÑΓß∩ »α¿ »«¼«Θ¿ ñ¿αÑ¬Γ¿óδ IFOPT:
  596.  
  597.                {$IFOPT x+}
  598.  
  599.                ¿
  600.  
  601.                {$IFOPT x-}
  602.  
  603.      úñÑ x - «ñ¡á ¿º «»µ¿⌐ ¬«¼»¿½∩Γ«αá: $Ç, $é, $D, $à, $F, $G, $I,
  604. $L, $N,  $O,  $R,  $S, $V, $X (ß¼. ú½áóπ 21 "ä¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá"
  605. Éπ¬«ó«ñßΓóá  »α«úαá¼¼¿ßΓá).  é  »Ñαó«¼  ß½πτáÑ,   »«ß½ÑñπεΘ¿⌐   ¬«ñ
  606. ¬«¼»¿½¿απÑΓß∩ »α¿ ß««ΓóÑΓßΓóπεΘÑ⌐ á¬Γ¿ó¿º¿α«óá¡¡«⌐ «»µ¿¿. é« óΓ«α«¼
  607. ß½πτáÑ, Ñß½¿ ß««ΓóÑΓßΓóπεΘá∩ «»µ¿∩ ¡Ñ á¬Γ¿ó¿º¿α«óá¡á.
  608.  
  609.      Åα¿¼Ñα:
  610.  
  611.      var
  612.      {$IFOPT N+}
  613.          Radius,Circ,Area:double;
  614.      {$ELSE}
  615.          Radius, Circ, Area : real;
  616.      {$ENDIF}
  617.  
  618.      éδí¿αáÑΓß∩ Γ¿»   ñá¡¡δσ   ñ½∩   »ÑαÑτ¿ß½Ñ¡¡δσ   »ÑαѼѡ¡δσ   ó
  619. ºáó¿ß¿¼«ßΓ¿ «Γ »«ññÑ᪬¿ »α«µÑßß«αá 8087.
  620.  
  621.      Ç½∞ΓÑα¡áΓ¿ó¡δ⌐ »α¿¼Ñα:
  622.  
  623.      Assign (F, FileName);
  624.      Reset (F);
  625.      {$IOFOPT I-}
  626.      IOCheck;
  627.      {$ENDIF}
  628.  
  629.      úñÑ, IOCheck  -  »α«µÑñπαá  »«½∞º«óáΓѽ∩,   ¬«Γ«αá∩   »«½πτáÑΓ
  630. º¡áτÑ¡¿Ñ  IOResult  ¿  »ÑτáΓáÑΓ ó ß½πτáÑ ¡Ñ«íσ«ñ¿¼«ßΓ¿ ß««íΘÑ¡¿Ñ «í
  631. «Φ¿í¬Ñ. Åα¿ ¡á½¿τ¿¿  ñ¿αÑ¬Γ¿óδ  {$I+},  ¡Ñ  ¿¼ÑÑΓ  ß¼δ߽ᠠóδºδóáΓ∞
  632. IOCheck,  Γ.¬.  »α¿  «í¡áαπªÑ¡¿¿ «Φ¿í¬¿ »α«úαá¼¼á íπñÑΓ «ßΓá¡«ó½Ñ¡á
  633. αá¡∞ΦÑ, τѼ íπñÑΓ «íαáΘÑ¡¿Ñ ¬ IOCheck.
  634.  
  635.  
  636.                     Ä»Γ¿¼¿ºáµ¿∩ ¬«ñá »α«úαá¼¼δ.
  637.  
  638.      ìѬ«Γ«αδÑ «»µ¿¿  ¬«¼»¿½∩Γ«αá  «¬áºδóáεΓ ó½¿∩¡¿Ñ ¬á¬ ¡á αẼÑα,
  639. Γᬠ¿ ¡á ß¬«α«ßΓ∞ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ.  Åα«¿ßσ«ñ¿Γ φΓ« »«Γ«¼π, τΓ«
  640. ó  ºáó¿ß¿¼«ßΓ¿  «Γ  φΓ¿σ «»µ¿⌐ ó »α«úαá¼¼π óßΓáó½∩ÑΓß∩ ¬«ñ »α«óÑન
  641. «Φ¿í«¬ ¿ ¿σ «íαáí«Γ¬¿.  ¥Γ¿ «»µ¿¿ ½πτΦÑ ¿ß»«½∞º«óáΓ∞ »α¿ αáºαáí«Γ¬Ñ
  642. »α«úαá¼¼.   é   «¬«¡τáΓѽ∞¡«⌐  óÑαß¿¿  ¿σ  αѬ«¼Ñ¡ñπÑΓß∩  ¿ß¬½ετáΓ∞
  643. (π¼Ñ¡∞ΦáÑΓß∩ αẼÑα ¿ ß«¬αáΘáÑΓß∩ óαѼ∩ óδ»«½¡Ñ¡¿∩).  ì¿ªÑ »α¿óÑñÑ¡
  644. ß»¿ß«¬  «»µ¿⌐  ¿ ¿σ º¡áτÑ¡¿⌐,  ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ ñ½∩ «»Γ¿¼¿ºáµ¿¿
  645. »α«úαá¼¼δ.
  646.      - {$A+}   »«ºó«½∩ÑΓ   óδαáó¡¿óáΓ∞  »ÑαѼѡ¡δÑ  ¿  Γ¿»¿α«óá¡¡δÑ
  647. ¬«¡ßΓá¡Γδ ¡á úαá¡¿µπ ß½«óá. ¥Γ« «íÑß»Ñτ¿óáÑΓ í«½ÑÑ íδßΓαδ⌐ ñ«ßΓπ» ¬
  648. »á¼∩Γ¿ ñ½∩ ß¿ßΓѼ 80σ86. Å« π¼«½τá¡¿ε φΓá «»µ¿∩ ó¬½ετÑ¡á.
  649.  
  650.      - {$B-} πßΓá¡áó½¿óáÑΓ ¬«α«Γ¬«Ñ óδτ¿ß½Ñ¡¿Ñ íπ½Ñó߬¿σ óδαáªÑ¡¿⌐.
  651. éδαáíáΓδóáÑΓß∩ ¬«ñ óαѼѡ¿ óδ»«½¡Ñ¡¿∩, ¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞ ¼Ñ¡∞ΦÑ, ó
  652. ºáó¿ß¿¼«ßΓ¿   «Γ   »«ßΓα«Ñ¡¿∩  íπ½Ñó߬¿σ  óδαáªÑ¡¿⌐.  Å«  π¼«½τá¡¿ε
  653. ¿ß»«½∞ºπÑΓß∩ «»µ¿∩ {$B-}.
  654.  
  655.      - {$E-} «Γ¬½ετáÑΓ í¿í½¿«ΓѬπ  φ¼π½∩µ¿¿  8087.  ¥Γ«  ºáßΓáó½∩ÑΓ
  656. Turbo Pascal ¿ß»«½∞º«óáΓ∞ ½¿í« ß«»α«µÑßß«α 8087, ½¿í« ßΓá¡ñáαΓ¡δ⌐ 6
  657. -Γ¿ íá⌐Γ¡δ⌐ Γ¿» Real,  ó ºáó¿ß¿¼«ßΓ¿ «Γ ß«ßΓ«∩¡¿∩  «»µ¿¿  {$N}.  Å«
  658. π¼«½τá¡¿ε ¿ß»«½∞ºπÑΓß∩ - {$E-}.
  659.  
  660.      - {$G-}   ¿ß»«½∞ºπÑΓ   ñ«»«½¡¿Γѽ∞¡δÑ   ¿¡ßΓαπ¬µ¿¿  80286  ñ½∩
  661. π½πτΦÑ¡¿∩ úÑ¡Ñα¿απѼ«ú« ¬«ñá;  »α«úαá¼¼á,  «Γ¬«¼»¿½¿α«óá¡¡á∩ ß φΓ«⌐
  662. «»µ¿Ñ⌐ ¡Ñ ¼«ªÑΓ óδ»«½¡∩Γ∞ß∩ ¡á »α«µÑßß«αáσ 8088 ¿ 8086.
  663.  
  664.      - {$I-}  «Γ¬½ετáÑΓ  »α«óÑα¬π  «Φ¿í«¬  óó«ñá/óδó«ñá.  æ »«¼«Θ∞ε
  665. ó맮óá óßΓα«Ñ¡¡«⌐ Σπ¡¬µ¿¿ IOResult ó »α«úαá¼¼Ñ,  ¼«ª¡« «íαáíáΓδóáΓ∞
  666. «Φ¿í¬¿ óó«ñá/óδó«ñá ßἿ¼. Å« π¼«½τá¡¿ε ¿ß»«½∞ºπÑΓß∩ {$I+}.
  667.  
  668.      - {$N-}  úÑ¡Ñα¿απÑΓ  ¬«ñ  8087,  óδ»«½¡∩εΘ¿⌐  óßÑ  «»Ñαᵿ¿  ß
  669. »½áóáεΘÑ⌐ Γ«τ¬«⌐,  ¿ß»«½∞ºπ∩ óßΓα«Ñ¡¡δ⌐ 6-íá⌐Γ«óδ⌐ Γ¿» Real.  è«úñá
  670. φΓá  «»µ¿∩  ó¬½ετÑ¡á,  íπñÑΓ  ¿ß»«½∞º«óáΓ∞ß∩ á»»áαáΓ¡«Ñ «íÑß»ÑτÑ¡¿Ñ
  671. 8087 ¿½¿ »α«úαá¼¼¡á∩ φ¼π½∩µ¿∩. àß½¿ éδ ¬«¼»¿½¿απÑΓÑ »α«úαá¼¼π ¿ óßÑ
  672. ¼«ñπ½¿, ¿ß»«½∞ºπ∩  {$N-},  í¿í½¿«ΓѬᠠóαѼѡ¿  óδ»«½¡Ñ¡¿∩  8087 ¡Ñ
  673. ΓαÑí∞πÑΓß∩ ¿ Turbo Pascal ¿ú¡«α¿απÑΓ ñ¿αÑ¬Γ¿óπ $E.  Å« π¼«½τá¡¿ε  -
  674. {$N-}.
  675.  
  676.      - {$R-}  ó䬽ετáÑΓ  »α«óÑα¬π ñ¿á»áº«¡á.  Åα¿ úÑ¡Ñαᵿ¿ ¬«ñá ¡Ñ
  677. «ßπΘÑßΓó½∩ÑΓß∩ »α«óÑα¬á  «Φ¿í«¬  ó  ¿¡ñѬ߿α«óá¡¿¿  ¼áßß¿ó«ó  ¿  ¡Ñ
  678. »α«óÑα∩ÑΓß∩   »α¿¡áñ½Ñª¡«ßΓ∞   »α¿ßóá¿óáѼδσ  º¡áτÑ¡¿⌐  ñ«»πßΓ¿¼«¼π
  679. ñ¿á»áº«¡π. Å« π¼«½τá¡¿ε φΓá «»µ¿∩ «Γ¬½ετÑ¡á.
  680.  
  681.      - {$S-}  ó䬽ετáÑΓ  »α«óÑα¬π  ßΓѬá.  Åα¿  úÑ¡Ñαᵿ¿  ¬«ñá  ¡Ñ
  682. »α«óÑα∩ÑΓß∩ ¡á½¿τ¿Ñ  ñ«ßΓáΓ«τ¡«⌐  »á¼∩Γ¿  ñ½∩  ßΓѬᠬáªñ«ú« ó맮óá
  683. »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. Å« π¼«½τá¡¿ε φΓá «»µ¿∩ «Γ¬½ετÑ¡á.
  684.  
  685.      - {$V-} «Γ¼Ñ¡∩ÑΓ »α«óÑα¬π  »áαá¼ÑΓα«ó  var,  ¬«Γ«αδÑ  ∩ó½∩εΓß∩
  686. ßΓα«¬á¼¿.   ¥Γ«   »«ºó«½∩ÑΓ   »ÑαÑñáóáΓ∞   ó  ¬áτÑßΓóÑ  Σá¬Γ¿τÑ߬¿σ
  687. »áαá¼ÑΓα«ó ßΓ᫬¿, ñ½¿¡á ¬«Γ«αδσ «Γ½¿τ¡á «Γ Γ¿»á, «»αÑñѽѡ¡«ú« ñ½∩
  688. Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá var. Å« π¼«½τá¡¿ε φΓá «»µ¿∩ ó¬½ετÑ¡á.
  689.  
  690.      - {$X+}  αáºαÑΦáÑΓ  ¿ß»«½∞º«óáΓ∞ ó맮óδ Σπ¡¬µ¿⌐ ¬á¬ «»ÑαáΓ«αδ;
  691. αѺπ½∞ΓáΓ ó맮óá Σπ¡¬µ¿¿ ¼«ªÑΓ íδΓ∞ «Γíα«ΦÑ¡.
  692.  
  693.      æ¼. ú½áóπ  21  Éπ¬«ó«ñßΓóá  »α«úαá¼¼¿ßΓá  ñ½∩   ñ«»«½¡¿Γѽ∞¡«⌐
  694. ¿¡Σ«α¼áµ¿¿ « ñ¿αÑ¬Γ¿óá󠬫¼»¿½∩Γ«αá.
  695.  
  696.      Ä»Γ¿¼¿ºáµ¿∩ ¬«ñá   ß   ¿ß»«½∞º«ó᡿Ѽ  φΓ¿σ  «»µ¿⌐  ¿¼ÑÑΓ  ñóá
  697. »αÑ¿¼πΘÑßΓóá:
  698.  
  699.      - «íδτ¡« π¼Ñ¡∞ΦáÑΓ ¬«ñ ¿ óαѼ∩ óδ»«½¡Ñ¡¿∩;
  700.      - »«ºó«½∩ÑΓ ¿ºíáó¿Γ∞ß∩ «Γ Γ«ú«, «Γ τÑú« «íδτ¡« ¡Ñ ¿ºíáó¿Γ∞ß∩.
  701.  
  702.      Äñ¡á¬«, ¿σ    ¿ß»«½∞º«óá¡¿Ñ    «º¡áτáÑΓ   «»αÑñѽѡ¡δ⌐   α¿ß¬.
  703. Å«½∞º«óáΓ∞ß∩ ¿¼¿ ¡áñ« «ßë᫪¡«.  àß½¿ ªÑ  »α«úαἼᠠ»«óÑñÑΓ  ßÑí∩
  704. ¡Ñ»«¡∩Γ¡« ¿ ¡Ñ»αÑñ߬áºπѼ«, Γ« ¿σ ß½ÑñπÑΓ ó¬½ετ¿Γ∞ ó¡«ó∞.
  705.      Å«¼¿¼« ó«º¼«ª¡«ßΓ¿ ó¬½ετÑ¡¿∩  φΓ¿σ  ßαÑñßΓó  ó  ¿ßσ«ñ¡δ⌐  ¬«ñ,
  706. ¿¼ÑÑΓß∩ ó«º¼«ª¡«ßΓ∞ πßΓá¡«ó¿Γ∞ ¿σ ß »«¼«Θ∞ε ¼Ñ¡ε Options/Compiler ó
  707. ¿¡ΓÑúα¿α«óá¡¡«⌐ ßαÑñÑ ¿½¿ ß »«¼«Θ∞ε «»µ¿¿ $X  ó  ¬«¼á¡ñ¡«⌐  ßΓ᫬Ñ,
  708. (úñÑ X - φΓ« ß««ΓóÑΓßΓóπεΘá∩ íπ¬óá ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá).
  709.