home *** CD-ROM | disk | FTP | other *** search
-
-
-
- âïÇéÇ 11.
-
-
- ÇóΓ«¼áΓ¿º¿α«óá¡¡á∩ αáºαáí«Γ¬á »α«úαá¼¼ ß
- »«¼«Θ∞ε πΓ¿Γ½¿Γδ MAKE.
-
-
- 11.1. "æÑαñµÑ" πΓ¿Γ¿½¿Γδ MAKE:
- öá⌐½δ «»¿ßá¡¿∩.
- 11.1.1. Å«ßΓα«Ñ¡¿Ñ Σá⌐½á «»¿ßá¡¿∩ πΓ¿½¿Γδ MAKE.
- 11.1.2. ü½«¬¿ «»¿ßá¡¿∩.
- 11.2. çá»π߬ πΓ¿½¿Γδ MAKE.
- 11.3. êß»«½∞º«óá¡¿Ñ ó πΓ¿½¿ΓÑ MAKE ¼á¬α«-
- «»αÑñѽѡ¿⌐.
- 11.3.1. Ä»αÑñѽѡ¿Ñ ¿ ºáñá¡¿Ñ ¼á¬α«¬«¼á¡ñ.
- 11.3.2. êß»«½∞º«óá¡¿Ñ ¼á¬α«¬«¼á¡ñ ó ¼á¬α«-
- «»αÑñѽѡ¿∩σ.
- 11.3.3. êß»«½∞º«óá¡¿Ñ ß»Ñµ¿á½∞¡δσ ¼á¬α«¬«¼á¡ñ.
- 11.4. Ä»αÑñѽѡ¿Ñ »αáó¿½ óδó«ñá.
- 11.5. êß»«½∞º«óá¡¿Ñ Σá⌐½«ó Γ¿»á .MAK.
- 11.5.1. êß»«½∞º«óá¡¿Ñ Σá⌐½«ó Γ¿»á .MAK ß
- πΓ¿½¿Γ«⌐ MAKE.
- 11.5.2. 鬽ετÑ¡¿Ñ ºáó¿ß¿¼«ßΓÑ⌐ Σá⌐½«ó.
- 11.5.3. çáñá¡¿Ñ «»µ¿⌐ ¬«¼»á¡«óΘ¿¬á.
-
-
- ôΓ¿½¿Γá αáºαáí«Γ¬¿ »α«úαá¼¼ MAKE »«¼«ªÑΓ óá¼ ó αáºαáí«Γ¬Ñ »α«úαá¼¼,
- ß«ñÑαªáΘ¿σ í«½ÑÑ «ñ¡«ú« ¼«ñπ½∩. ôΓ¿½¿Γá MAKE áóΓ«¼áΓ¿τÑ߬¿ «í¡«ó½∩ÑΓ
- Σá⌐½, πßΓáαÑóΦ¿⌐ »« ñáΓÑ »« ßαáó¡Ñ¡¿ε ß ñαπú¿¼¿ α«ñßΓóÑ¡¡á¼¿ Σá⌐½á¼¿, ¿
- íδóáÑΓ »«½Ñº¡á ó ß½ÑñπεΘ¿σ ß¿Γπᵿ∩σ:
-
- -Åα¿ αáºαáí«Γ¬Ñ »α«úαá¼¼ πΓ¿½¿Γá MAKE ¼«ªÑΓ áóΓ«¼áΓ¿τÑ߬¿ «í¡«ó½∩Γ∞
- óδ»«½¡∩Ѽδ⌐ Σá⌐½, ¬á¬ Γ«½∞¬« ¿º¼Ñ¡¿Γß∩ ½εí«⌐ ¿ßσ«ñ¡δ⌐ ¿½¿ «íΩÑ¬Γ¡δ⌐
- Σá⌐½.
-
- -Åα¿ π»αáó½Ñ¡¿¿ í¿í½¿«ΓѬἿ πΓ¿½¿Γá MAKE ¼«ªÑΓ áóΓ«¼áΓ¿τÑ߬¿
- »ÑαÑßΓα«¿Γ∞ í¿í½¿«ΓѬπ, ¬á¬ Γ«½∞¬« ¿º¼Ñ¡¿Γß∩ «ñ¿¡ ¿º ¼«ñπ½Ñ⌐ í¿í½¿«ΓѬ¿.
-
- -é ßÑΓÑó«⌐ ßαÑñÑ πΓ¿½¿Γá MAKE ¼«ªÑΓ áóΓ«¼áΓ¿τÑ߬¿ «í¡«ó½∩Γ∞
- ½«¬á½∞¡πε ¬«»¿ε »α«úαá¼¼δ ¿½¿ Σá⌐½á, σαá¡¿¼δσ ó ßÑΓ¿, ¬á¬ Γ«½∞¬«
- «ß¡«ó¡á∩ ¬«»¿∩ íπñÑΓ ¿º¼Ñ¡Ñ¡á.
-
- Åα¿ ºá»π᪥ πΓ¿½¿Γδ MAKE óδ ñ«½ª¡δ ºáñáΓ∞ ¿¼∩ Σá⌐½á. äá¡¡δ⌐ Σá⌐½,
- ¿ºóÑßΓ¡δ⌐ »«ñ ¡áºó᡿Ѽ "Σá⌐½ «»¿ßá¡¿⌐ πΓ¿½¿Γδ MAKE", ß«ñÑনΓ
- ¿¡ßΓαπ¬µ¿¿, ß««íΘáεΘ¿Ñ πΓ¿½¿ΓÑ MAKE, ¬á¬¿Ñ Σá⌐½δ ß½ÑñπÑΓ «í¡«ó¿Γ∞, ¬á¬¿Ñ
- Σá⌐½δ ñ«½ª¡δ ¿º¼Ñ¡¿Γ∞ß∩ »ÑαÑñ «í¡«ó½Ñ¡¿Ñ¼, ¬á¬«⌐ Γ¿» «í¡«ó½Ñ¡¿∩ ß½ÑñπÑΓ
- óδ»«½¡¿Γ∞.
-
- öá⌐½ «»¿ßá¡¿⌐ ¼«ªÑΓ ß«ñÑαªáΓ∞ ß½ÑñπεΘ¿Ñ ñá¡¡δÑ:
-
- TEST.EXE: TEST.C TEST2.C
- QCL TEST.C TEST2.C
-
- é ñá¡¡«¼ »α¿¼ÑαÑ TEST.EXE-φΓ« Σá⌐½, ¬«Γ«αδ⌐ ñ«½ªÑ¡ íδΓ∞ «í¡«ó½Ñ¡,
- Ñß½¿ ¬á¬«⌐-½¿í« ¿º ¿ßσ«ñ¡δσ Σá⌐½«ó TEST.C ¿½¿ TEST2.C »αÑΓÑα»¿Γ
- ¿º¼Ñ¡Ñ¡¿∩.ÉÑá½∞¡«Ñ «í¡«ó½Ñ¡¿Ñ óδ»«½¡∩ÑΓß∩ ß »«¼«Θ∞ε ¬«¼á¡ñδ QCL ¡á
- ß½ÑñπεΘÑ⌐ ßΓ᫬Ñ. Å«ñα«í¡«ßΓ¿ « Σá⌐½áσ «»¿ßá¡¿⌐ óδ ¡á⌐ñÑΓÑ ó ÉáºñѽÑ
- 11.1.
-
- àß½¿ óδ ¬«¼»¿½¿απÑΓÑ óáΦ¿ »α«úαá¼¼δ ó ßαÑñÑ Quick-C, Σá⌐½ «»¿ßá¡¿⌐
- ñ½∩ óáΦ¿σ »α«úαá¼¼ ßΓα«¿Γß∩ áóΓ«¼áΓ¿τÑ߬¿.
-
- é ÉáºñÑ½Ñ 11.2 «»¿ßδóáÑΓß∩ ¿¡Σ«α¼áµ¿∩, ¬«Γ«απε ß½ÑñπÑΓ ºáñáΓ∞ ó
- ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ πΓ¿½¿Γδ MAKE ó¼ÑßΓÑ ß ¿¼Ñ¡Ñ¼ Σá⌐½á «»¿ßá¡¿⌐, ó¬½ετá∩
- «»µ¿¿ »α«úαá¼¼δ MAKE. é Éáºñѽáσ 11.3-11.4 «»¿ßδóáεΓß∩ ñαπú¿Ñ
- «ßí«Ñ¡¡«ßΓ¿ πΓ¿½¿Γδ MAKE.
-
-
- 11.1 "æÑαñµÑ" »α«úαá¼¼δ MAKE:
- öá⌐½δ «»¿ßá¡¿⌐.
-
- ôΓ¿½¿Γá MAKE ¿ß»«½∞ºπÑΓ "Σá⌐½δ «»¿ßá¡¿⌐" ñ½∩ Γ«ú«, τΓ«íδ «»αÑñѽ¿Γ∞,
- ¬á¬¿Ñ Σá⌐½δ ß½ÑñπÑΓ «í¡«ó½∩Γ∞, ¬«úñá ¿σ «í¡«ó½∩Γ∞ ¿ ¬á¬¿Ñ ß½ÑñπÑΓ ñ½∩
- φΓ«ú« óδ»«½¡¿Γ∞ «»Ñαᵿ¿. öá⌐½ «»¿ßá¡¿⌐ πΓ¿½¿Γδ MAKE ß«ßΓ«¿Γ ¿º «ñ¡«ú«
- ¿½¿ í«½ÑÑ "í½«¬«ó «»¿ßá¡¿⌐", ¬áªñδ⌐ ¿º ¬«Γ«αδσ ºáñáÑΓ «»¿ßá¡¿Ñ ñ½∩
- «ñ¡«ú« Σá⌐½á.
-
- é ÉáºñÑ½Ñ 11.1.1 αáß߬áºδóáÑΓß∩, ¬á¬ ß«ºñáΓ∞ »α«ßΓ«⌐ Σá⌐½ «»¿ßá¡¿⌐,
- ß«ßΓ«∩Θ¿⌐ ¿º Ññ¿¡ßΓóÑ¡¡«ú« í½«¬á «»¿ßá¡¿⌐.
-
- é Éáºñѽáσ 11.1.1-11.1.2 αáºΩ∩ß¡∩ÑΓß∩ Σ«α¼áΓ í½«¬á «»¿ßá¡¿⌐, »αáó¿½á
- ñ½∩ ¿σ πßΓá¡«ó¬¿ ¿ º¡á¬¿ ñ½∩ «í«º¡áτÑ¡¿∩ «Γñѽ∞¡δσ í½«¬«ó ó Σá⌐½Ñ
- «»¿ßá¡¿⌐.
-
- é ÉáºñÑ½Ñ 11.1.2 αáßß¼áΓα¿óáεΓß∩ Σá⌐½δ «»¿ßá¡¿⌐ »α«úαá¼¼δ MAKE,
- ¬«Γ«αδÑ ßΓα«¿Γ Quick-C »α¿ αáºαáí«Γ¬Ñ »α«úαá¼¼ ó ßαÑñÑ Quick-C.
-
-
- 11.1.1. Å«ßΓα«Ñ¡¿Ñ Σá⌐½á «»¿ßá¡¿⌐ ñ½∩ πΓ¿½¿Γδ MAKE.
-
- é φΓ«¼ αáºñÑ½Ñ ñ½∩ ¿½½εßΓαᵿ¿ αáí«Γδ πΓ¿½¿Γδ MAKE »«¬áºá¡«, ¬á¬
- »«ßΓα«¿Γ∞ »α«ßΓÑ⌐Φ¿⌐ Σá⌐½ «»¿ßá¡¿⌐ ñ½∩ »α«úαá¼¼δ MAKE. ū߬«½∞¬π Σá⌐½
- «»¿ßá¡¿⌐ πΓ¿½¿Γδ MAKE-φΓ« ΓѬßΓ«óδ⌐ Σá⌐½, ñ½∩ Ñú« ß«ºñá¡¿∩ ¼«ª¡«
- ó«ß»«½∞º«óáΓ∞ß∩ ½εíδ¼ αÑñá¬Γ«α«¼ ΓѬßΓ«ó.
-
- é ¡áΦѼ »α¿¼ÑαÑ, »αÑñ»«½«ª¿¼, τΓ« óδ σ«Γ¿ΓÑ «í¡«ó¿Γ∞ óδ»«½¡∩Ѽδ⌐
- Σá⌐½ ß ¿¼Ñ¡Ñ¼ UPDATE.EXE, ¬á¬ Γ«½∞¬« ¿º¼Ñ¡¿Γß∩ «ñ¿¡ ¿º ¿ßσ«ñ¡δσ Σá⌐½«ó.
- ÅαÑñ»«½«ª¿¼ ñá½ÑÑ, τΓ« ¿¼Ñ¡á ¿ßσ«ñ¡δσ Σá⌐½«ó GETINPUT.C, FINDREC.C ¿
- UPDATE.C. ä½∩ ß«ºñá¡¿∩ Σá⌐½á «»¿ßá¡¿∩ πΓ¿½¿Γδ MAKE, ß »«¼«Θ∞ε ¬«Γ«α«ú«
- áóΓ«¼áΓ¿τÑ߬¿ «í¡«ó½∩ÑΓß∩ Σá⌐½ UPDATE.EXE, ¿ß»«½∞ºπ⌐ΓÑ ß½ÑñπεΘπε
- »α«µÑñπαπ:
-
- 1.æ »«¼«Θ∞ε∩ ΓѬßΓ«ó«ú« αÑñá¬Γ«αá, ß«ºñá⌐ΓÑ Σá⌐½ ß ¿¼Ñ¡Ñ¼ UPDATE.
- ò«Γ∩ Σá⌐½ «»¿ßá¡¿⌐ πΓ¿½¿Γδ MAKE ¼«ªÑΓ ¿¼ÑΓ∞ ½εí«Ñ ¿¼∩, ¼«ªÑΓ «¬áºáΓ∞ß∩
- »«½Ñº¡δ¼ »α¿ßó«Ñ¡¿Ñ Σá⌐½π «»¿ßá¡¿⌐ Γ« ªÑ ßá¼«Ñ ¿¼∩, τΓ« ¿ «íαáíáΓδóáѼδ⌐
- Σá⌐½ (íѺ αáßΦ¿αÑ¡¿∩).
-
- 2.éóÑñ¿ΓÑ ¿¼∩ «íαáíáΓδóáѼ«ú« Σá⌐½á, ºá ¬«Γ«α∩¼ ß½ÑñπÑΓ ñó«ÑΓ«τ¿Ñ,
- ¬á¬ »«¬áºá¡« ¡¿ªÑ. äá¡¡δ⌐ Σá⌐½ ¿ºóÑßΓÑ¡, ¬á¬ "óδσ«ñ¡«⌐", »«ß¬«½∞¬π
- πΓ¿½¿Γá MAKE ß«ºñáÑΓ «í¡«ó½Ñ¡¡πε óÑαß¿ε φΓ«ú« Σá⌐½á. (éδσ«ñ¡δÑ Σá⌐½δ
- Γá¬ªÑ ¼«úπΓ ¡áºδóáΓ∞ß∩ "µÑ½Ñó묨").
-
- UPDATE.EXE:
-
- 3.äá½ÑÑ ºá ñó«ÑΓ«τ¿Ñ¼ óóÑñ¿ΓÑ ¿¼Ñ¡á Σá⌐½«ó, ¿º¼Ñ¡Ñ¡¿Ñ ¬«Γ«αδσ ¼«ªÑΓ
- »α¿óÑßΓ¿ ¬ ¿º¼Ñ¡Ñ¡¿ε óδσ«ñ¡«ú« Σá⌐½á. é ¡áΦѼ »α¿¼ÑαÑ, óδ ñ«½ª¡δ
- «í¡«ó¿Γ∞ Σá⌐½ UPDATE.EXE, ¬á¬ Γ«½∞¬« ¿º¼Ñ¡¿Γß∩ «ñ¿¡ ¿º Σá⌐½«ó
- GETINPUT.C, FINDREC.C, UPDATE.C; ßΓ᫬á Σá⌐½á «»¿ßá¡¿∩ ó ñá¡¡«¼ ß½πτáÑ
- íπñÑΓ óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- UPDATE.EXE: UPDATE.C GETINPUT.C FINDREC.C
-
- öá⌐½δ ß»αáóá «Γ ñó«ÑΓ«τ¿∩ ¡áºδóáεΓß∩ "óσ«ñ¡δ¼¿", »«ß¬«½∞¬π »α«úαá¼¼á
- MAKE ¿ß»«½∞ºπÑΓ ¿σ ó ¬áτÑßΓóÑ óσ«ñ¡«⌐ ¿¡Σ«½α¼áµ¿¿, τΓ«íδ «»αÑñѽ¿Γ∞
- ß½ÑñπÑΓ ¿½¿ ¡ÑΓ «í¡«ó¿Γ∞ óδσ«ñ¡«⌐ Σá⌐½. (éσ«ñ¡δÑ Σá⌐½δ ¡áºδóáεΓß∩ ΓᬪÑ
- "ºáó¿ß¿¼δÑ Σá⌐½δ"). èáªñδ⌐ óσ«ñ¡«⌐ Σá⌐½ «Γñѽ∩ÑΓß∩ «Γ ñαπú«ú« »α«íѽ«¼.
-
- 4.àß½¿ óδ σ«Γ¿ΓÑ ñ«íáó¿Γ∞ ¬«¼¼Ñ¡Γáα¿⌐ ¬ ½εí«⌐ ¿º ßΓ᫬ Σá⌐½á
- «»¿ßá¡¿⌐ πΓ¿½¿Γδ MAKE, óóÑñ¿ΓÑ º¡á¬ (#) Åα«úαá¼¼á MAKE ¿ú¡«α¿απÑΓ óßÑ
- ß¿¼ó«½δ ¼Ñªñπ φΓ¿¼ º¡á¬«¼ (#) ¿ ß¿¼ó«½«¼ »ÑαÑσ«ñá ¡á ¡«óπε ßΓ᫬π.
- ìá»α¿¼Ñα, óδ ¼«ªÑΓÑ ºáñáΓ∞ ß½ÑñπεΘ¿⌐ ¬«¼¼Ñ¡Γáα¿⌐:
-
- UPDATE.EXE: UPDATE.C GETINPUT.C FINDREC.C #UPDATE ROUTINE
-
- 5.àß½¿ ½εí«⌐ ¿σ óσ«ñ¡δ⌐ Σá⌐½«ó ¿º¼Ñ¡∩ÑΓß∩, óóÑñ¿ΓÑ ¬«¼á¡ñπ, ¬«Γ«απε
- óδ σ«Γ¿ΓÑ óδ»«½¡¿Γ∞. é ñá¡¡«¼ »α¿¼ÑαÑ »αÑñ»«½áúáÑΓß∩, τΓ« óδ σ«Γ¿ΓÑ
- »ÑαѬ«¼»¿½¿α«óáΓ∞ ¿ »ÑαѬ«¼»á¡«óáΓ∞ óßÑ óσ«ñ¡δÑ Σá⌐½δ. é αѺπ½∞ΓáΓÑ,
- Σá⌐½ «»¿ßá¡¿⌐ íπñÑΓ óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- UPDATE.EXE:UPDATE.C GETINP.C FINDREC.C #UPDATE ROUTINE
- QCL UPDATE.C GETINPUT.C FINDREC.C
-
- àß½¿ óδ σ«Γ¿ΓÑ ñ«íáó¿Γ∞ ¬«¼¼Ñ¡Γáα¿⌐ ñ« ¿½¿ »«ß½Ñ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿,
- ¬«¼¼Ñ¡Γáα¿⌐, ¬á¬ »«¬áºá¡« ¡¿ªÑ, ñ«½ªÑ¡ ¡áτ¿¡áΓ∞ß∩ ó ¬«- ½«¡¬Ñ 1:
-
- UPDATE.EXE:UPDATE.C GETINPUT.C FINDREC.C #UPDATE ROUTINE
- # RECOMPILE AND RELINK
- QCL UPDATE.C GETINPUT.C FINDREC.C
-
- 6.Åα¿ óδσ«ñÑ ¿º αÑñá¬Γ«αá ΓѬßΓ«ó ß«σαá¡¿ΓÑ Σá⌐½ «»¿ßá¡¿⌐. çáΓѼ
- óóÑñ¿ΓÑ: MAKE
-
- ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ ¿¼∩ Σá⌐½á «»¿ßá¡¿⌐ ¿ ¡áª¼¿ΓÑ ENTER. é ¡áΦѼ
- »α¿¼ÑαÑ óá¼ ß½ÑñπÑΓ óóÑßΓ¿:
-
- MAKE UPDATE
-
- 7.ôΓ¿½¿Γá MAKE ßαáó¡¿óáÑΓ ñáΓδ »«ß½Ññ¡Ñ⌐ ¼«ñ¿Σ¿¬áµ¿¿ ¬áªñ«ú« ¿º
- óσ«ñ¡δσ Σá⌐½«ó ß ñáΓ«⌐ óδσ«ñ¡«ú« Σá⌐½á. àß½¿ óßÑ ñáΓδ óσ«ñ¡δσ Σá⌐½«ó
- "ßΓáαÑÑ", τѼ ñáΓá óδσ«ñ¡«ú« Σá⌐½á, πΓ¿½¿Γá MAKE ¡Ñ »α«¿ºó«ñ¿Γ ¡¿¬á¬¿σ
- ñÑ⌐ßΓó¿⌐. àß½¿ ªÑ ¬á¬«⌐-½¿í« óσ«ñ¡«⌐ Σá⌐½ "¡«óÑÑ" »« ñáΓÑ, τѼ óδσ«ñ¡«⌐
- Σá⌐½, πΓ¿½¿Γá MAKE αáß»«º¡áÑΓ, »« «Γ¡«ΦÑ¡¿ε ¬ ¬á¬«¼π óσ«ñ¡«¼π Σá⌐½π
- "πßΓáαѽ" óδσ«ñ¡«⌐ Σá⌐½ ¿, Γᬿ¼ «íαẫ¼, óδ»«½¡∩ÑΓ ¬«¼á¡ñπ, ¡áº¡áτÑ¡¡πε
- óἿ. é ñá¡¡«¼ »α¿¼ÑαÑ »α«úαá¼¼á MAKE »ÑαѬ«¼»¿½¿απÑΓ ¿ßσ«ñ¡δÑ Σá⌐½δ ¿
- »ÑαѬ«¼»á¡πÑΓ ß««ΓóÑΓßóπεΘ¿Ñ «íΩÑ¬Γ¡δÑ Σá⌐½δ ñ½∩ ß«ºñá¡¿∩ ¡«ó«ú« Σá⌐½á
- UPDATE.EXE.
-
-
- 11.1.2. ü½«¬¿ «»¿ßá¡¿⌐.
-
- ü½«¬ «»¿ßá¡¿⌐ ¿¼ÑÑΓ ß½ÑñπεΘπε «ß¡«ó¡πε Σ«α¼π:
-
- outfile:[infile]...[#comment]
-
- [#comment]
- command
- [command]
- .
- .
- .
-
- é ß½ÑñπεΘÑ⌐ Æáí½¿µÑ »α¿óÑñÑ¡« «»¿ßá¡¿Ñ ß«ßΓáó¡δσ τáßΓÑ⌐ í½«¬á
- «»¿ßá¡¿⌐:
-
- Å«½Ñ ç¡áτÑ¡¿Ñ
-
-
- ontfile ê¼∩ «í¡«ó½∩Ѽ«ú« Σá⌐½á; ¼«ªÑΓ ó¬½ετáΓ∞ ߻ѵ¿Σ¿-
- ¬áµ¿ε ñ¿ó¬«ó«ñá ¿½¿ ¼áαΦαπΓá. ä«»π߬áÑΓß∩ Γ«½∞
- ¬« «ñ¿¡ óδσ«ñ¡«⌐ Σá⌐½.
- infile ê¼Ñ¡á Σá⌐½«ó, ¬«Γ«αδÑ »α¿ ¿º¼Ñ¡Ñ¡¿¿ »α¿óÑñπΓ ¬
- ¿º¼Ñ¡Ñ¡¿ε óδσ«ñ¡«ú« Σá⌐½á; ¼«úπΓ ó¬½ετáΓ∞ ß»Ñ-
- µ¿Σ¿¬áµ¿¿ ñ¿ß¬«ó«ñá ¿½¿ ¼áαΦαπΓá. Äñ¡« ¿¼∩ óσ«
- ñ¡«ú« Σá⌐½á «Γ ñαπú«ú« ñ«½ª¡« «Γñѽ∩Γ∞ß∩ »«
- ¬αá⌐¡Ñ⌐ ¼ÑαÑ «ñ¡¿¼ »α«íѽ«¼. àß½¿ π óáß Σá⌐½«ó
- í«½∞ΦÑ, τѼ ¼«ªÑΓ π¼ÑßΓ¿Γ∞ß∩ ¡á «ñ¡«⌐ ßΓ᫬Ñ,
- óóÑñ¿ΓÑ «íαáΓ¡δ⌐ ß½φΦ (\), ¡áª¼¿ΓÑ ENTER ¿ ºá-
- ΓѼ »α«ñ«½ª¿ΓÑ óó«ñ ¡á ß½ÑñπεΘÑ⌐ ßΓ᫬Ñ. àß½¿
- ¡Ñ ºáñá¡« ¡¿ «ñ¡«ú« óσ«ñ¡«ú« Σá⌐½á, πΓ¿½¿Γá
- MAKE óδ»«½¡∩ÑΓ óßÑ ¬«¼á¡ñδ ó í½«¬Ñ áóΓ«¼áΓ¿-
- τÑ߬¿.
- command 諼á¡ñá, ¬«Γ«αá∩ íπñÑΓ óδ»«½¡∩Γ∞ß∩ áóΓ«¼áΓ¿-
- τÑ߬¿, Ñß½¿ óδσ«ñ¡«⌐ Σá⌐½ πßΓáαѽ »« ñáΓÑ »«
- «Γ¡«ΦÑ¡¿ε ¬ óσ«ñ¡«¼π Σá⌐½π. 諼á¡ñἿ ó ñá¡¡«¼
- ß½πτáÑ ¼«úπΓ íδΓ∞ »α«úαá¼¼δ, »á¬ÑΓ¡δÑ ¬«¼á¡ñδ,
- ½¿í« ¬«¼á¡ñδ DOS. 諼á¡ñ ¼«ªÑΓ íδΓ∞ ½εí«Ñ τ¿ß-
- ½«, ¡« ¬áªñá∩ ñ«½ª¡á ¡áτ¿¡áΓ∞ß∩ ß ¡«ó«⌐ ßΓ᫬¿
- ¿ Ñ⌐ ñ«½ªÑ¡ »αÑñΦÑßΓó«óáΓ∞ σ«Γ∩ íδ «ñ¿¡ »α«íѽ
- ¿½¿ º¡á¬ Γáíπ½∩µ¿¿.
- comment æ¿¼ó«½ ¬«¼¼Ñ¡Γáα¿∩ (#), ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ
- «ñ¿¡ ¿½¿ í«½ÑÑ ß¿¼ó«½«ó. Åα«úαá¼¼á MAKE ¿ú¡«-
- α¿απÑΓ óßÑ ß¿¼ó«½δ, ¬«Γ«αδÑ ó ñá¡¡«⌐ ßΓ᫬Ñ
- ß½ÑñπεΓ ºá ß¿¼ó«½«¼ ¬«¼¼Ñ¡Γáα¿∩. Å«φΓ«¼π, Ñß½¿
- óδ σ«Γ¿ΓÑ αẼÑßΓ¿Γ∞ ¬«¼¼Ñ¡Γáα¿⌐ ¡á Γ«⌐ ªÑ
- ßΓ᫬Ñ, τΓ« ¿ ¿¼∩ óδσ«ñ¡«ú« Σá⌐½á, óδ ñ«½ª¡δ
- óóÑßΓ¿ Ñú« »«ß½Ñ ¿¼Ñ¡ óσ«ñ¡δσ Σá⌐½«ó. àß½¿ ¬«-
- ¼¼Ñ¡Γáα¿⌐ »«∩ó½∩ÑΓß∩ ó ßΓ᫬Ñ, ó ¬«Γ«α«⌐ «ª¿-
- ñáÑΓß∩ ¬«¼á¡ñá, ß¿¼ó«½ ¬«¼¼Ñ¡Γáα¿∩ ñ«½ªÑ¡ íδΓ∞
- »Ñαóδ¼ ß¿¼ó«½«¼ ó ßΓ᫬Ñ, »α¿τѼ ½¿ñ¿απεΘ¿Ñ
- »α«íÑ½δ ¡Ñ ñ«»π߬áεΓß∩.
-
-
-
- ---------------------------------------------------------------------
-
- Åα¿¼Ñτá¡¿Ñ:
-
- ò«α«Φ¿⌐ ß»«ß«í ºá»«¼¡¿Γ∞ Σ«α¼áΓ Σá⌐½á «»¿ßá¡¡¿⌐ πΓ¿½¿Γδ MAKE-φΓ«
- »αÑñßΓáó¿Γ∞ Ñú« ó Σ«α¼Ñ "Ñß½¿, Γ«": "Ñß½¿ óδσ«ñ¡«⌐ Σá⌐½ πßΓáαѽ »« ñáΓÑ
- »« ßαáó¡Ñ¡¿ε ß óσ«ñ¡δ¼ Σá⌐½«¼, ½¿í« Ñß½¿ óδσ«ñ¡«⌐ Σá⌐½ ¡Ñ ßπΘÑßΓóπÑΓ,
- óδ»«½¡∩εΓß∩ ¬«¼á¡ñδ".
-
- ---------------------------------------------------------------------
-
-
- é Σá⌐½Ñ «»¿ßá¡¿⌐ óδ ¼«ªÑΓÑ ºáñáΓ∞ ½εí«Ñ ¬«½¿τÑßΓó« í½«¬«ó «»¿ßá¡¿⌐.
- îѪñπ »«ß½Ññ¡Ñ⌐ ßΓ᫬«⌐ «ñ¡«ú« í½«¬á «»¿ßá¡¿⌐ ¿ »Ñαó«⌐ ßΓ᫬«⌐
- ß½ÑñπεΘÑú« í½«¬á «»¿ßá¡¿⌐ ñ«½ª¡á íδΓ∞ ßΓ᫬á. è«úñá óδ ºá»π߬áÑΓÑ
- πΓ¿½¿Γπ MAKE, «¡á ßτ¿ΓδóáÑΓ ßΓ᫬π ó »Ñαó«¼ í½«¬Ñ «»¿ßá¡¿⌐, ¬«Γ«αá∩
- ¿¼Ñ¡πÑΓ óσ«ñ¡δÑ ¿ óδσ«ñ¡δÑ Σá⌐½δ ¿ ºáΓѼ »α«óÑα∩ÑΓ ñáΓδ ¼«ñ¿Σ¿¬áµ¿¿
- ñá¡¡δσ Σá⌐½«ó. àß½¿ ñáΓá ¼«ñ¿Σ¿¬áµ¿¿ ñ½∩ ¬á¬«ú«-½¿í« óσ«ñ¡«ú« Σá⌐½á
- "ßΓáαÑÑ" ñáΓδ ¼«ñ¿Σ¿¬áµ¿¿ óδσ«ñ¡«ú« Σá⌐½á, Ñß½¿ óδσ«ñ¡«⌐ Σá⌐½ ¡Ñ
- ßπΘÑßΓóπÑΓ,½¿í« Ñß½¿ óσ«ñ¡δÑ Σá⌐½δ ¡Ñ ºáñá¡δ, πΓ¿½¿Γá MAKE óδßóÑτ¿óáÑΓ
- ¬«¼á¡ñδ, ºáñá¡¡δÑ ó í½«¬Ñ.
-
- é »α«Γ¿ó¡«¼ ß½πτáÑ «¡á »ÑαÑσ«ñ¿Γ ¬ ß½ÑñπεΘѼπ í½«¬π, »«óΓ«α∩∩ Γá¬πε
- ªÑ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ñÑ⌐ßΓó¿⌐ ñ½∩ ¬áªñ«ú« í½«¬á ó Σá⌐½Ñ.
-
- àß½¿ πΓ¿½¿Γá MAKE ¡Ñ ¼«ªÑΓ ¡á⌐Γ¿ óσ«ñ¡«⌐ Σá⌐½, óδσ«ñ¡«⌐ Σá⌐½ ¿½¿
- ¬«¼á¡ñπ, «¡á óδßóÑτ¿óáÑΓ ñ¿áú¡«ßΓ¿τÑ߬«Ñ ß««íΘÑ¡¿Ñ. àß½¿ »α«»πΘÑ¡¡δ⌐
- Σá⌐½ ∩ó½∩ÑΓß∩ óδσ«ñ¡δ¼, πΓ¿½¿Γá MAKE »α«ñª«½ªáÑΓ αáí«ΓáΓ∞, Γᬠ¬á¬ ó
- í«½∞Φ¿¡ßΓóÑ ß½πτáÑó, ¡Ññ«ßΓáεΘ¿Ñ Σá⌐½δ ß«ºñáεΓß∩ ¡¿ªÑß½ÑñπεΘ¿¼¿
- ¬«¼á¡ñἿ. àß½¿ Σá⌐½-óσ«ñ¡«⌐ ½¿í« ¬«¼á¡ñ¡δ⌐-πΓ¿½¿Γá MAKE »αѬαáΘáÑΓ
- αáí«Γπ.
-
- ôΓ¿½¿Γá MAKE, ¬α«¼Ñ Γ«ú«, »αѬαáΘáÑΓ αáí«Γπ ¿ óδßóÑτ¿óáÑΓ ¬«ñ
- »αÑαδóá¡¿∩ Ñß½¿ σ«Γ∩ íδ «ñ¡á ¬«¼á¡ñá ó«ºóαáΘáÑΓ «Φ¿í¬π. ū߬«½∞¬π
- πΓ¿½¿Γá MAKE «íαáíáΓδóáÑΓ í½«¬¿ «»¿ßá¡¿⌐ ó Γ«¼ »«α∩ñ¬Ñ, ó ¬«Γ«α«¼ «¡¿
- αáß»«½«ªÑ¡δ ó Σá⌐½Ñ «»¿ßá¡¿⌐, ó᪡«, τΓ«íδ í½«¬¿ «»¿ßá¡¿⌐ í뫨
- αáß»«½«ªÑ¡δ ó ΓαÑíπѼ«¼ »«α∩ñ¬Ñ.
-
- -Åα¿¼Ñα:
-
- MOD1.OBJ: MOD1.C
- QCL /c MOD1.C
- MOD2.OBJ: MOD2.C
- QCL /c MOD2.C
- EXAMPLE.EXE: MOD1.OBJ MOD2.OBJ
- LINK MOD2+MOD2,EXAMPLE,EXAMPLE;
-
- é »α¿óÑñÑ¡¡«¼ óδΦÑ »α¿¼ÑαÑ í½«¬¿ «»¿ßá¡¿⌐ ¡áσ«ñ∩Γß∩ ó Γ«¼ »«α∩ñ¬Ñ, ó
- ¬«Γ«α«¼ «í¡«ó½∩εΓß∩ ¿½¿ ß«ºñáεΓß∩ óδσ«ñ¡δÑ Σá⌐½δ. Æá¬¿¼ «íαẫ¼,
- »α«úαá¼¼á MAKE «í¡«ó½∩ÑΓ Σá⌐½δ MOD1.OBJ ¿ MOD2.OBJ (½¿í« ß«ºñáÑΓ ¿σ,
- Ñß½¿ ¡Ñ«íσ«ñ¿¼«) ñ« Γ«ú«, ¬á¬ íπñÑΓ «í¡«ó½Ñ¡ ¿½¿ ß«ºñá¡ Σá⌐½
- EXAMPLE.EXE. Å«ß½Ñ αáí«Γδ πΓ¿½¿Γδ MAKE ½εíδÑ ¿º¼Ñ¡Ñ¡¿∩ ó ¿ßσ«ñ¡δσ Σá⌐½áσ
- íπñπΓ «ΓαáªÑ¡δ ó Σá⌐½Ñ EXAMPLE.EXE.
-
-
- 11.2. çá»π߬ »α«úαá¼¼á MAKE.
-
- -æ¿¡Γá¬ß¿ß:
-
- MAKE [«»µ¿¿] [¼á¬α««»αÑñѽѡ¿∩] ¿¼∩ Σá⌐½á
-
- àß½¿ óδ ºá»π߬áÑΓÑ πΓ¿½¿Γπ MAKE ¡á ß¿ßΓÑ¼Ñ ß ªÑßΓ¬¿¼ ñ¿ß¬«¼,
- ¿ß»«½∞ºπ⌐∞Ñ ¬«¼á¡ñπ DOS CD ñ½∩ Γ«ú«, τΓ«íδ ßñѽáΓ∞ αáí«τ¿¼ ¬áΓὫú,
- ß«ñÑαªáΘ¿⌐ Σá⌐½ «»¿ßá¡¿⌐ ¿ óáΦ¿ αáí«τ¿Ñ Σá⌐½δ. àß½¿ óδ αáí«ΓáÑΓÑ ¡á
- ß¿ßΓÑ¼Ñ ß ú¿í¬¿¼¿ ñ¿ß¬á¼¿, πßΓá¡«ó¿ΓÑ ó ñ¿ß¬áó«ñ Ç αáí«τπε ¬«»¿ε óáΦÑú«
- ñ¿ßΓα¿íπΓ¿ó¡«ú« ñ¿ß¬á Libraries#1, á ñ¿ß¬, ß«ñÑαªáΘ¿⌐ Σá⌐½ «»¿ßá¡¿⌐ ¿
- óáΦ¿ αáí«τ¿Ñ Σá⌐½δ ó ñ¿ß¬«ó«ñ é..
-
- 諼á¡ñ¡á∩ ßΓ᫬á πΓ¿½¿Γδ MAKE »«ºó«½∩ÑΓ óá¼ ó¼ÑßΓÑ ß ¿¼Ñ¡Ñ¼ Σá⌐½á
- ºáñáΓ∞ ñ«»«½¡¿Γѽ∞¡πε ¿¡Σ«α¼áµ¿ε. é ß½ÑñπεΘÑ⌐ Γáí½¿µÑ «»¿ßδóáÑΓß∩
- ¿¡Σ«α¼áµ¿∩, ¬«Γ«απε óδ ¼«ªÑΓÑ ºáñáΓ∞ ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ πΓ¿½¿Γδ MAKE.
-
- Å«½Ñ ç¡áτÑ¡¿Ñ
-
-
- «»µ¿¿ Äñ¡á ¿½¿ í«½ÑÑ «»µ¿⌐ πΓ¿½¿Γδ MAKE.
- ¼á¬α«- Äñ¡« ¿½¿ í«½ÑÑ ¼á¬α««»αÑñѽѡ¿⌐ πΓ¿½¿Γδ MAKE.
- «»αÑñÑ-
- ½Ñ¡¿∩
- ¿¼∩ ê¼∩ Σá⌐½á «»¿ßá¡¿⌐ πΓ¿½¿Γδ MAKE. Äíδτ¡«, φΓ« ¿¼∩ «íαáíáΓδóá-
- Σá⌐½á Ѽ«⌐ »α«úαá¼¼δ íѺ αáßΦ¿αÑ¡¿∩. àß½¿ óδ «í¡«ó½∩ÑΓÑ »α«úαá¼¼π ß
- ¿¼Ñ¡Ñ¼ PROGRAM.C, ß«ºñá¡¡πε ó ßαÑñÑ Quick-C, ¿¼∩ Σá⌐½á íπñÑΓ
-
- PROGRAM.MAK.
-
- é ß½ÑñπεΘѼ ß»¿ß¬Ñ «»¿ßδóáÑΓß∩ ¬áªñá∩ «»µ¿∩, ¿ß»«½∞ºπѼá∩ ß πΓ¿½¿Γ«⌐
- MAKE ¿ ÑÑ ñÑ⌐ßΓó¿∩:
-
- Ä»µ¿∩ äÑ⌐ßΓó¿Ñ
-
-
- /D éδßóÑτ¿óáÑΓ »«ß½Ññ¡εε ñáΓπ ¼«ñ¿Σ¿¬áµ¿¿ ñ½∩ ¬áªñ«ú« «íαáíáΓδ-
- óáѼ«ú« Σá⌐½á.
- /I êú¡«α¿απÑΓ ¬«ñδ ºáóÑαΦÑ¡¿∩ (¡áºδóáѼδÑ Γá¬ªÑ ¬«ñἿ »« πα«ó¡ε
- «Φ¿í«¬), ó«ºóαáΘáѼδÑ »α«úαἼἿ, óδºδóáÑ¼δ¼¿ ¿º Σá⌐½á «»¿-
- ßá¡¿⌐ πΓ¿½¿Γδ MAKE.
- /N "íѺ óδ»«½¡Ñ¡¿∩" óδßóÑτ¿óáÑΓ ¬«¼á¡ñδ ¿º Σá⌐½á «»¿ßá¡¿⌐, ¡« ¡Ñ
- óδ»«½¡∩ÑΓ ¿σ. äá¡¡á∩ «»µ¿∩ íδóáÑΓ »«½Ñº¡á ñ½∩ «Γ½áñ¬¿ Σá⌐½á
- «»¿ßá¡¿⌐ πΓ¿½¿Γδ MAKE.
- /S "ÉѪ¿¼ ¼«½τá¡¿∩" ßΓ᫬¿ ó« óαѼδ óδ»«½¡Ñ¡¿∩ ¡Ñ óδßóÑτ¿óáεΓß∩.
- /X ¿¼∩ ÅÑαÑáñαÑßπÑΓ ß««íΘÑ¡¿Ñ «í «Φ¿í¬áσ πΓ¿½¿Γδ MAKE ¿½¿ ½εí«⌐ ñαπ-
- Σá⌐½á ú«⌐ »α«úαá¼¼δ, óδºδóáѼ«⌐ πΓ¿½¿Γ«⌐ MAKE ó ñá¡¡δ⌐ Σá⌐½. àß½¿
- ó¼ÑßΓ« ¿¼Ñ¡¿ Σá⌐½á ßΓ«¿Γ ñÑΣ¿ß (-), ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ ¡á-
- »αáó½∩εΓß∩ ¡á ßΓá¡ñáαΓ¡«Ñ πßΓα«⌐ßΓó« óδó«ñá. àß½¿ ñá¡¡á∩ «»-
- µ¿∩ ¡Ñ «»αÑñѽѡá, ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ ¡á»αáó½∩εΓß∩ ¡á ßΓá¡
- ñáαΓ¡«Ñ πßΓα«⌐ßΓó« ñ½∩ óδó«ñá ß««íΘÑ¡¿⌐ «í «Φ¿í¬áσ ó««íΘÑ.
-
-
-
- 11.3. êß»«½∞º«óá¡¿Ñ ¼á¬α««»αÑñѽѡ¿⌐
- ñ½∩ πΓ¿½¿Γδ MAKE.
-
- Äñ¿¡ ¿º ß»«ß«í«ó π»α«ßΓ¿Γ∞ Σá⌐½δ «»αÑñѽѡ¿⌐-φΓ« ¿ß»«½∞º«óáΓ∞
- ¼á¬α«¬«¼á¡ñδ. îá¬α«¬«¼á¡ñá-φΓ« »α«ßΓ« ¿¼∩, ¬«Γ«α«Ñ ºáΓѼ ó Σá⌐½Ñ
- «»¿ßá¡¿⌐ πΓ¿½¿Γδ MAKE óδ ¼«ªÑΓÑ ºá¼Ñ¡¿Γ∞ ¡á ½εí«⌐ ΓѬßΓ. àß½¿ óδ σ«Γ¿ΓÑ
- ¿º¼Ñ¡¿Γ∞ ΓѬßΓ, »«ñßΓáó½∩Ѽ«⌐ ¡á ¼ÑßΓ« ¿¼Ñ¡¿ ¼á¬α«¬«¼á¡ñδ, óδ ¼«ªÑΓÑ
- »α«ßΓ« ¿º¼Ñ¡¿Γ∞ Ñú« ó ¼á¬α««»αÑñѽѡ¿¿. ÆÑ¬ßΓ áóΓ«¼áΓ¿τÑ߬¿ «í¡«ó¿Γß∩
- »«óßεñπ, úñÑ ¿ß»«½∞ºπÑΓß∩ ¿¼∩ ñá¡¡«⌐ ¼á¬α«¬«¼á¡ñδ.
-
- îá¬α«¬«¼á¡ñδ ¼«úπΓ óá¼ »«¡áñ«í¿Γ∞ß∩:
-
- -é ¬áτÑßΓóÑ íẫóδσ ¿¼Ñ¡ ¿ßσ«ñ¡δσ, «íΩÑ¬Γ¡δσ ¿ óδ»«½¡∩Ѽδσ Σá⌐½«ó ó
- »α«µÑßßÑ αáºαáí«Γ¬¿. àß½¿ ¿¼∩ »α«úαá¼¼δ ¼Ñ¡∩ÑΓß∩, óδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞
- íẫó«Ñ ¿¼∩ ¼á¬α««»αÑñѽѡ¿∩; Γ«úñá íẫó«Ñ ¿¼∩ áóΓ«¼áΓ¿τÑ߬¿ ¿º¼Ñ¡¿Γß∩
- ñ½∩ ¿ßσ«ñ¡«ú«, «íΩÑ¬Γ¡«ú« ¿ óδ»«½¡∩Ѽ«ú« Σá⌐½á, ºáñá¡¡«ú« ó Σá⌐½Ñ
- «»¿ßá¡¿∩.
-
- -ä½∩ ºáñá¡¿∩ «»αÑñѽѡ¡«ú« ¡áí«αá «»µ¿⌐ Γá¬¿σ ¬«¼á¡ñ, ¬á¬ QCL ¿½¿
- LINK. àß½¿ «»µ¿∩ ¿º¼Ñ¡∩ÑΓß∩, óδ ¼«ªÑΓÑ »«¼Ñ¡∩Γ∞ ¿σ ó« óßѼ Σá⌐½Ñ
- «»¿ßá¡¿⌐ »πΓѼ »α«ßΓ«ú« ¿º¼Ñ¡Ñ¡¿∩ ¼á¬α««»αÑñѽѡ¿∩.
-
-
-
-
- 11.3.1. Ä»αÑñѽѡ¿Ñ ¿ ºáñá¡¿Ñ ¼á¬α«¬«¼á¡ñ.
-
- îá¬α««»αÑñѽѡ¿Ñ ¿¼ÑÑΓ ß½ÑñπεΘπε «ß¡«ó¡πε Σ«α¼π:
-
- name=text
-
- Å«ß½Ñ Γ«ú«, ¬á¬ óδ «»αÑñѽ¿ΓÑ ¼á¬α«¬«¼á¡ñπ, óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞
- ÑÑ ó Σá⌐½Ñ «»¿ßá¡¿⌐ ß½ÑñπεΘ¿¼ ß»«ß«í«¼ ¡¿ªÑ:
-
- $(name)
-
- èá¬ Γ«½∞¬« Φáí½«¡ $(name) »«∩ó¿Γß∩ ó Σá⌐½Ñ «»¿ßá¡¿⌐, ñá¡¡δ⌐ Φáí½«¡
- ºá¼Ñ¡∩ÑΓß∩ ¡á text. ê¼∩ name »αÑ«íαáºπÑΓß∩ ¬ óÑασ¡Ñ¼π αÑú¿ßΓαπ;
- ¡á»α¿¼Ñα, ¿¼Ñ¡á flags ¿ FLAGS φ¬ó¿óá½Ñ¡Γ¡δ. àß½¿ óδ «»αÑñѽ¿ΓÑ ¿¼∩
- ¼á¬α«¬«¼á¡ñδ, ¡« text «ßΓáó¿ΓÑ »πßΓδ¼, ½¿í« Ñß½¿ óδ ¿ß»«½∞ºπÑΓÑ ¿¼∩
- ¼á¬α«¬«¼á¡ñδ, ¬«Γ«α«Ñ ¡Ñ «»αÑñѽѡ«, text íπñÑΓ ¡π½Ñó«⌐ ßΓ᫬«⌐. ä½∩
- ¿¼Ñ¡¿ name ¼«ª¡« Γá¬ªÑ ¿ß»«½∞º«óáΓ∞ ½εíπε »ÑαѼѡ¡πε «»Ñαᵿ«¡¡«⌐ ßαÑñδ,
- «»αÑñѽѡ¡πε ó ΓѬπΘÑ⌐ ßαÑñÑ. ìá»α¿¼Ñα, Ñß½¿ »ÑαѼѡ¡á∩ ßαÑñδ PATH
- «»αÑñѽѡá ó ΓѬπΘÑ⌐ ßαÑñÑ, º¡áτÑ¡¿Ñ PATH ºá¼Ñ¡¿Γ óßÑ óσ«ªñÑ¡¿∩
- ¼á¬α«¬«¼á¡ñδ $(PATH) ó Σá⌐½Ñ «»¿ßá¡¿⌐. (çá¼ÑΓ¿¼, τΓ« »α¿¼Ñ¡Ñ¡¿Ñ ñá¡¡«⌐
- ¼á¬α«¬«¼á¡ñδ ¡Ñ »ÑαÑ«»αÑñѽ¿Γ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ PATH ó ΓѬπΘÑ⌐ ßαÑñÑ).
-
- îá¬α««»αÑñѽѡ¿∩ óδ ¼«ªÑΓÑ ºáñáΓ∞ ó «ñ¡«¼ ¿º ß½ÑñπεΘ¿σ ¼ÑßΓ:
-
- -ÅÑαÑñ ½εíδ¼ í½«¬«¼ «»¿ßá¡¿⌐ ó Σá⌐½Ñ «»¿ßá¡¿⌐ πΓ¿½¿Γδ MAKE. èáªñ«Ñ
- ¼á¬α««»αÑñѽѡ¿Ñ ñ«½ª¡« íδΓ∞ αáß»«½«ªÑ¡« ¡á «Γñѽ∞¡«⌐ ßΓ᫬Ñ. éßÑ º¡á¬¿
- Γáíπ½∩µ¿¿ ¿½¿ »α«íÑ½δ ¼Ñªñπ name ¿ º¡á¬«¼ αáóÑ¡ßΓóá, ½¿í« ¼Ñªñπ º¡á¬«¼
- αáóÑ¡ßΓóá ¿ text-¿ú¡«α¿απεΓß∩. éßÑ Γáíπ½∩µ¿¿ ¿½¿ »α«íѽδ ßτ¿ΓáεΓß∩
- τáßΓ∞ε ΓѬßΓá text.
-
- -é ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ πΓ¿½¿Γδ MAKE.
-
- ä½∩ Γ«ú«, τΓ«íδ ó¬½ετ¿Γ∞ º¡á¬¿ Γáíπ½∩µ¿¿ ¿½¿ »α«íѽδ ó
- ¼á¬α««»αÑñѽѡ¿Ñ ó ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ, ºá¬½ετ¿ΓÑ ß«ñÑন¼«Ñ «»αÑñѽѡ¿∩ ó
- ñó«⌐¡δÑ ¬áóδτ¬¿ ('' '').
-
- àß½¿ «ñ¡« ¿ Γ« ªÑ ¿¼∩ name «»αÑñѽѡ« í«½ÑÑ «ñ¡«ú« αáºá, ß«í½εñáÑΓß∩
- ß½ÑñπεΘ¿⌐ »α¿«α¿ΓÑΓ:
-
- 1. Ä»αÑñѽѡ¿Ñ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿.
-
- 2. Ä»αÑñѽѡ¿Ñ Σá⌐½á «»¿ßá¡¿⌐.
-
- 3. Ä»αÑñѽѡ¿Ñ «»Ñαᵿ«¡¡«⌐ ßαÑñδ.
-
- ìá»α¿¼Ñα, Ñß½¿ PATH «»αÑñѽѡá ó ßαÑñÑ DOS ¿ ó Σá⌐½Ñ «»¿ßá¡¿⌐,
- πΓ¿½¿Γá MAKE ¿ß»«½∞ºπÑΓ «»αÑñѽѡ¿Ñ, ¡áσ«ñ∩ΘÑÑß∩ ó Σá⌐½Ñ «»¿ßá¡¿⌐. àß½¿
- «¡á «»αÑñѽѡá Γá¬ªÑ ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ πΓ¿½¿Γδ MAKE, ñá¡¡«Ñ «»αÑñѽѡ¿Ñ
- »«ñáó½∩ÑΓ «íá ñαπú¿σ «»αÑñѽѡ¿∩.
-
- -Åα¿¼Ñα:
-
- ÅαÑñ»«½«ª¿¼, τΓ« ßπΘÑßΓóπÑΓ ß½ÑñπεΘ¿⌐ Σá⌐½ «»¿ßá¡¿⌐ πΓ¿½¿Γδ MAKE ß
- ¿¼Ñ¡Ñ¼ COMPILE:
-
- base = ABC
- debug = "/Zi"
- $(base).EXE: $(base).C
- QCL $(debug)$(base).C
-
- é ñá¡¡«¼ Σá⌐½Ñ «»¿ßá¡¿⌐ ¼á¬α««»αÑñѽѡ¿∩ ºáñá¡δ ñ½∩ ¿¼Ñ¡ base ¿
- debug.
-
- îá¬α«¬«¼á¡ñá base «»αÑñѽ∩ÑΓ íẫó«Ñ ¿¼∩ «íΩÑ¬Γ¡«ú« ¿ óδ»«½¡∩Ѽ«ú«
- Σá⌐½«ó, ¬«Γ«αδÑ íπñπΓ «íαáíáΓδóáΓ∞ß∩. ôΓ¿½¿Γá MAKE ºá¼Ñ¡¿Γ ß««ΓóÑΓßóÑ¡¡«
- óßÑ óσ«ªñÑ¡¿∩ $(base) ¡á ΓѬßΓ ABC. àß½¿ ¿¼∩ »α«úαá¼¼δ ¿º¼Ñ¡¿Γß∩, óá¼
- íπñÑΓ ¡πª¡« Γ«½∞¬« ºá¼Ñ¡¿Γ∞ ABC ó ¼á¬α««»αÑñѽѡ¿¿ ¡á ¡«ó«Ñ ¿¼∩
- »α«úαá¼¼δ, ¿ íẫóδÑ ¿¼Ñ¡á ñóπσ Σá⌐½«ó íπñπΓ ¿º¼Ñ¡Ñ¡δ áóΓ«¼áΓ¿τÑ߬¿.
-
- îá¬α«¬«¼á¡ñá debug »α«ß¿Γ ¬«¼á¡ñπ QCL ß«ºñáΓ∞ óδ»«½¡∩Ѽδ⌐ Σá⌐½ ñ½∩
- «Γ½áñτ¿¬á Quick-C, ½¿í« «Γ½áñτ¿¬á Code View.
-
- àß½¿ óδ σ«Γ¿ΓÑ «Γ¼Ñ¡¿Γ∞ «ñ¡« ¿º ¼á¬α««»αÑñѽѡ¿⌐, ¡áσ«ñ∩Θ¿σß∩ ó
- Σá⌐½Ñ «»¿ßá¡¿⌐, óδ ¼«ªÑΓÑ ºáñáΓ∞ ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ πΓ¿½¿Γδ MAKE ¡«ó«Ñ
- ¼á¬α««»αÑñѽѡ¿Ñ, ¬á¬ «»¿ßá¡« ó ß½ÑñπεΘѼ »α¿¼ÑαÑ:
-
- MAKE base = DEF compile
-
- äá¡¡«Ñ «»αÑñѽѡ¿Ñ ¼á¬α«¬«¼á¡ñδ base «Γ¼Ñ¡∩ÑΓ «»αÑñѽѡ¿Ñ base ó
- Σá⌐½Ñ «»¿ßá¡¿⌐. é αѺπ½∞ΓáΓÑ, base ºá¼Ñ¡∩ÑΓß∩ ¡á DEF, ó¼ÑßΓ« ABC. àß½¿
- óδ ¡Ñ σ«Γ¿ΓÑ ß«ºñáóáΓ∞ óδ»«½¡∩Ѽδ⌐ Σá⌐½, ß«ñÑαªáΘ¿⌐ «Γ½áñ«τ¡πε
- ¿¡Σ«α¼áµ¿ε, óδ ¼«ªÑΓÑ ºá»π߬áΓ∞ πΓ¿½¿Γπ MAKE ß »«¼«Θ∞ε ß½ÑñπεΘÑ⌐
- ¬«¼á¡ñ¡«⌐ ßΓ᫬¿:
-
- MAKE debug = compile
-
- ū߬«½∞¬π ¼á¬α«¬«¼á¡ñδ, «»αÑñѽѡ¡δÑ ó ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ, ¿¼ÑεΓ
- »α¿«α¿ΓÑΓ óδΦÑ, τѼ ΓÑ ªÑ ¼á¬α«¬«¼á¡ñδ, «»αÑñѽѡ¡δÑ ó Σá⌐½Ñ «»¿ßá¡¿⌐,
- πΓ¿½¿Γá MAKE ¿ß»«½∞ºπÑΓ ñ½∩ ¼á¬α«¬«¼á¡ñδ $(debug) «»αÑñѽѡ¿∩ ¬«¼á¡ñ¡«⌐
- ßΓ᫬¿ (¡π½Ñóπε ßΓ᫬π; «íαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ ¡á »α«íѽ ¼Ñªñπ º¡á¬«¼
- αáóÑ¡ßΓóá ¿ ¿¼Ñ¡Ñ¼ Σá⌐½á «»¿ßá¡¿⌐ πΓ¿½¿Γδ MAKE). é αѺπ½∞ΓáΓÑ,
- »ÑαѬ½ετáΓѽ∞ /Zi ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ QCL ¡Ñ »«∩ó¿Γß∩, ¿ óδ»«½¡∩Ѽδ⌐ Σá⌐½
- ¡Ñ íπñÑΓ ó¬½ετáΓ∞ ¿¡Σ«α¼áµ¿ε ñ½∩ «Γ½áñ¬¿.
-
-
- 11.3.2. êß»«½∞º«óá¡¿Ñ ¼á¬α«¬«¼á¡ñ
- ó ¼á¬α««»αÑñѽѡ¿∩σ.
-
- îá¬α«¬«¼á¡ñδ ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ ó¡πΓα¿ ñαπú¿σ ¼á¬α«¬«¼á¡ñ.
- ìá»α¿¼Ñα, ó Σá⌐½Ñ «»¿ßá¡¿⌐ πΓ¿½¿Γδ MAKE PICTURE óδ ¼«ªÑΓÑ ¿¼ÑΓ∞
- ß½ÑñπεΘÑÑ ¼á¬α««»αÑñѽѡ¿Ñ:
-
- LIBS=$(DLIB)\MLIBCE.LIB $(DLIB)\GRAPHICS.LIB
-
- éδ ¼«ªÑΓÑ ºáΓѼ ºá»πßΓ¿Γ∞ πΓ¿½¿Γπ MAKE ¿ ºáñáΓ∞ «»αÑñѽѡ¿Ñ ñ½∩
- ¼á¬α«¬«¼á¡ñδ ß ¿¼Ñ¡Ñ¼ $(DLIB) ó ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ, ¬á¬ »«¬áºá¡« ó
- ß½ÑñπεΘѼ »α¿¼ÑαÑ:
-
- MAKE DLIB = C:\LIB PICTURE
-
- é ñá¡¡«¼ ß½πτáÑ, ¬áªñ«Ñ óσ«ªñÑ¡¿Ñ ¼á¬α«¬«¼á¡ñδ $(DLIB) íπñÑΓ ó Σá⌐½Ñ
- «»¿ßá¡¿⌐ αáßΦ¿αÑ¡« ñ« C:\LIB; ß««ΓóÑΓßΓóÑ¡¡«, «»αÑñѽѡ¿Ñ ¼á¬α«¬«¼á¡ñδ
- LIBS ó Σá⌐½Ñ «»¿ßá¡¿⌐ íπñÑΓ αáßΦ¿αÑ¡« ñ« ß½ÑñπεΘÑú«:
-
- LIBS=C:\LIB\MLIBCE.LIB C:\LIB\GRAPHICS.LIB
-
- üπñ∞ΓÑ «ßë᫪¡δ, ¿ºíÑúá⌐ΓÑ αѬπαß¿ó¡«ú« 󽫪ѡ¿∩ ¼á¬α«¬«¼á¡ñ, ¬á¬
- ¡á»α¿¼Ñα, ó ß½ÑñπεΘѼ ß½πτáÑ:
-
- A= $(B)
- B= $(C)
- C= $(A)
-
- é »α¿óÑñÑ¡¡«¼ óδΦÑ »α¿¼ÑαÑ, Ñß½¿ ¼á¬α«¬«¼á¡ñá $(B) ¡Ñ íδ½á
- «»αÑñÑ½Ñ¡á »ÑαÑñ óδ»«½¡Ñ¡¿Ñ¼ ßΓ᫬¿ A= $(B), óßÑ «ßΓá½∞¡δÑ ¼á¬α«¬«¼á¡ñδ
- Γá¬ªÑ ¡Ñ íπñπΓ «»αÑñѽѡδ.
-
-
-
-
- 11.3.3. êß»«½∞º«óá¡¿Ñ ß»Ñµ¿á½∞¡δσ ¼á¬α«¬«¼á¡ñ.
-
- ôΓ¿½¿Γá MAKE ¿¼ÑÑΓ ó«º¼«ª¡«ßΓ∞ αáß»«º¡áóáΓ∞ ß½ÑñπεΘ¿Ñ ß»Ñµ¿á½∞¡δÑ
- ¿¼Ñ¡á ¼á¬α«¬«¼á¡ñ ¿ áóΓ«¼áΓ¿τÑ߬¿ »«ñßΓáó½∩ÑΓ ñ½∩ ¬áªñ«⌐ ß««ΓóÑΓßΓóπεΘ¿⌐
- ΓѬßΓ:
-
- ê¼∩ Å«ñßΓáó½∩Ѽδ⌐ ΓѬßΓ
-
-
- $* üẫó«Ñ ¿¼∩ óδσ«ñ¡«ú« Σá⌐½á
- $@ Å«½¡«Ñ ¿¼∩ óδσ«ñ¡«ú« Σá⌐½á.
- $** Å«½¡δ⌐ ß»¿ß«¬ ¿¼Ñ¡ óσ«ñ¡δσ Σá⌐½«ó.
-
-
- -Åα¿¼Ñα:
-
- TEST.EXE: MOD1.OBJ MOD2.OBJ MOD3.OBJ
- LINK $**, $@;
- $*
-
- é »α¿óÑñÑ¡¡«¼ óδΦÑ »α¿¼ÑαÑ ¬«¼á¡ñδ LINK, $** »αÑñßΓáó½∩ÑΓ óßÑ
- óσ«ñ¡δÑ Σá⌐½δ, ß««ΓóÑΓßΓóπεΘ¿Ñ óδσ«ñ¡«¼π Σá⌐½π TEST.EXE, á $@ «»αÑñѽ∩ÑΓ
- »«½¡«Ñ ¿¼∩ TEST.EXE, ¬á¬ ¿¼∩ óδ»«½¡∩Ѽ«ú« Σá⌐½á ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ LINK.
- ū߽Ññ¡∩∩ ßΓα«¬á ¿ß»«½∞ºπÑΓ ß¿¼ó«½δ $* ñ½∩ «»αÑñѽѡ¿∩ íẫó«ú« ¿¼Ñ¡¿
- Σá⌐½á TEST.EXE, Γ« ÑßΓ∞ TEST-¬á¬ ß½ÑñπεΘπε óδ»«½¡∩Ѽπε ¬«¼á¡ñπ. Æá¬¿¼
- «íαẫ¼, »α¿óÑñÑ¡¡δ⌐ óδΦÑ »α¿¼Ñα φ¬ó¿óá½Ñ¡ΓÑ¡ ß½ÑñπεΘѼπ:
-
- TEST.EXE: MOD1.OBJ MOD2.OBJ MOD3.OBJ
- LINK MOD1.OBJ MOD2.OBJ MOD3.OBJ, TEST.EXE;
- TEST
-
-
-
-
- 11.4. Ä»αÑñѽѡ¿Ñ »αáó¿½ óδó«ñá.
-
- ùáßΓ«, πΓ¿½¿Γá MAKE ¿ß»«½∞ºπÑΓß∩ ñ½∩ «í¡«ó½Ñ¡¿∩ Σá⌐½«ó «ñ¡«ú« Γ¿»á
- »α¿ ¿º¼Ñ¡Ñ¡¿¿ Σá⌐½«ó ñαπú«ú« Γ¿»á. ìá»α¿¼Ñα, τáßΓ« ß½ÑñπÑΓ «í¡«ó¿Γ∞
- «íΩÑ¬Γ¡δÑ Σá⌐½δ »α¿ ¿º¼Ñ¡Ñ¡¿¿ ¿ßσ«ñ¡δσ Σá⌐½«ó, ½¿í« «í¡«ó¿Γ∞ óδ»«½¡∩ѼδÑ
- Σá⌐½δ ¿½¿ í¿í½¿«ΓѬ¿ »α¿ ¿º¼Ñ¡Ñ¡¿¿ ¿ßσ«ñ¡δσ ¿½¿ «íΩÑ¬Γ¡δσ Σá⌐½«ó.
-
- é Γᬿσ ß½πτá∩σ óδ ¼«ªÑΓÑ ºáñáΓ∞ ߻ѵ¿á½∞¡δÑ "»αáó¿½á óδó«ñá",
- ¬«Γ«αδ¼ íπñÑΓ ß½Ññ«óáΓ∞ ó αáí«ΓÑ πΓ¿½¿Γá MAKE. äá¡¡δÑ »αáó¿½á »«ºó«½∩Γ
- óá¼ ºáñáΓ∞ Ññ¿¡ßΓóÑ¡¡πε ¬«¼á¡ñπ MAKE ñ½∩ »αÑ«íαẫóá¡¿∩ óßÑσ óδσ«ñ¡δσ
- Σá⌐½«ó ß ñá¡¡δ¼ αáßΦ¿αÑ¡¿Ñ¼ ó Σá⌐½δ ß ñαπú¿¼ αáßΦ¿αÑ¡¿Ñ¼. ìá»α¿¼Ñα,
- ¼«ª¡« »α¿¼Ñ¡¿Γ∞ »αáó¿½á óδó«ñá ñ½∩ ºáñá¡¿∩ Ññ¿¡ßΓ¡óÑ¡¡«⌐ ¬«¼á¡ñδ QCL,
- ¬«Γ«αá∩ »αÑóαáΓ¿Γ óßÑ Σá⌐½δ (Γ« ÑßΓ∞ Σá⌐½δ ß αáßΦ¿αÑ¡¿Ñ¼ .C) ó
- óδ»«½¡∩ѼδÑ Σá⌐½δ (¬«Γ«αδÑ ¿¼ÑεΓ αáßΦ¿αÑ¡¿Ñ .EXE). ū߬«½∞¬π πΓ¿½¿Γá
- MAKE ¿ΘÑΓ ß««ΓóÑΓßΓóπεΘ¿Ñ »αáó¿½á óδó«ñá, ¬á¬ Γ«½∞¬« ó í½«¬Ñ «»¿ßá¡¿⌐ ¡Ñ
- «¬áªÑΓß∩ ¬«¼á¡ñ, óá¼ ¡Ñ ¡πª¡« ó¬½ετáΓ∞ ¬«¼á¡ñπ QCL ó« óßÑ í½«¬¿, ó
- ¬«Γ«αδσ óδ ¬«¼»¿½¿απÑΓÑ ¿ ¬«¼»á¡πÑΓÑ Σá⌐½.
-
- Åαáó¿½á óδó«ñá ¿¼ÑεΓ ß½ÑñπεΘπε «ß¡«ó¡πε Σ«α¼π:
-
- .inextension.outextension:
- command
- [command]
- .
- .
- .
-
- é ñá¡¡«¼ Σ«α¼áΓÑ, command «»αÑñѽ∩ÑΓ «ñ¡π ¿º ¬«¼á¡ñ, ¬«Γ«απε óδ
- ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ ñ½∩ »αÑ«íαẫóá¡¿∩ Σá⌐½«ó ß αáßΦ¿αÑ¡¿Ñ¼ inextension
- ó Σá⌐½δ ß αáßΦ¿αÑ¡¿Ñ¼ outextension.
-
- àß½¿ ¼δ αáßß¼«Γα¿¼ »α¿óÑñÑ¡¡δ⌐ αá¡ÑÑ »α¿¼Ñα »αÑ«íαẫóá¡¿∩ ¿ßσ«ñ¡δσ
- Σá⌐½«ó ó óδ»«½¡∩ѼδÑ Σá⌐½δ, óá¼ ß½ÑñπÑΓ «»αÑñѽ¿Γ∞ ñ½∩ ¬«¼»¿½∩µ¿¿ ¿
- ¬«¼»á¡«ó¬¿ óßÑσ ¿ßσ«ñ¡δσ Σá⌐½«ó ΓѬπΘÑú« ¬áΓὫúá ó «íΩÑ¬Γ¡δÑ Σá⌐½δ
- ß½ÑñπεΘ¿Ñ »αáó¿½á óδó«ñá:
-
- .C.EXE:
- QCL $*.C
-
- çáñá¡¿Ñ »αáó¿½ óδó«ñá íѺ ¬«¼á¡ñ ¿¼ÑÑΓ ñÑ⌐ßΓó¿Ñ ß¡∩Γ¿∩ πªÑ
- «»αÑñѽѡ¡δσ αá¡ÑÑ »αáó¿½.
-
- àß½¿ πΓ¿½¿Γá MAKE ¡áσ«ñ¿Γ í½«¬ «»¿ßá¡¿∩ íѺ ¬á¬¿σ-½¿í« ¬«¼á¡ñ, «¡á
- ¿ΘÑΓ »αáó¿½á óδó«ñá, »«ñσ«ñ∩Θ¿Ñ ¬á¬ ñ½∩ αáßΦ¿αÑ¡¿∩ óδσ«ñ¡«ú« Σá⌐½á, Γá¬
- ¿ ñ½∩ αáßΦ¿αÑ¡¿∩ óσ«ñ¡«ú« Σá⌐½á. àß½¿ Γá¬«Ñ »αá󿽫 ¡á⌐ñÑ¡«, πΓ¿½¿Γá
- MAKE óδ»«½¡∩ÑΓ óßÑ ¬«¼á¡ñδ, ºáñá¡¡δÑ ó ñá¡¡«¼ »αáó¿½Ñ.
-
- Åαáó¿½á óδó«ñá óδ ¼«ªÑΓÑ αẼÑßΓ¿Γ∞ ó «ñ¡«¼ ¿º ß½ÑñπεΘ¿σ ¼ÑßΓ:
-
- -é Σá⌐½Ñ «»¿ßá¡¿⌐ πΓ¿½¿Γδ MAKE.
-
- -é Σá⌐½Ñ ß ¿¼Ñ¡Ñ¼ TOOLS.INI. äá¡¡δ⌐ Σá⌐½ ¿ºóÑßΓÑ¡ »«ñ ¡áºó᡿Ѽ
- "¿¡ßΓαπ¼Ñ¡Γá½∞¡δ⌐ ßΓáαΓ«óδ⌐ Σá⌐½". æΓ᫬á, ¡áτ¿¡áεΘá∩ß∩ ß Γφúá [make]
- ñ«½ª¡á ßΓ«∩Γ∞ ó Σá⌐½Ñ TOOLS.INI »ÑαÑñ óßѼ¿ »αáó¿½á¼¿ ºáó¿ß¿¼«ßΓÑ⌐.
-
- ôΓ¿½¿Γá MAKE ¿ΘÑΓ »αáó¿½á ºáó¿ß¿¼«ßΓÑ⌐ ó ß½ÑñπεΘѼ »«α∩ñ¬Ñ:
-
- 1.é ΓѬπΘѼ Σá⌐½Ñ «»¿ßá¡¿⌐.
-
- 2.é Σá⌐½Ñ TOOLS.INI ó ΓѬπΘѼ ¬áΓὫúÑ ¿ ¡á ΓѬπΘѼ πßΓα«⌐ßΓóÑ. àß½¿
- «¡á ¡Ñ ¼«ªÑΓ ¡á⌐Γ¿ ñá¡¡δ⌐ Σá⌐½, Γ« Σá⌐½ TOOLS.INI íπñÑΓ ¿ß¬áΓ∞ß∩ ó
- ¬áΓὫúÑ, «»αÑñѽѡ¡«¼ »ÑαѼѡ¡«⌐ «»Ñαᵿ«¡¡«⌐ ßαÑñδ INIT. èá¬ Γ«½∞¬«
- πΓ¿½¿Γá MAKE ¡áσ«ñ¿Γ Σá⌐½ TOOLS.INI, «¡á »α«ß¼áΓα¿óáÑΓ Σá⌐½ ó »«¿ß¬áσ
- ßΓ᫬¿, ¡áτ¿¡áεΘÑ⌐ß∩ ß Γφúá [make]. çáΓѼ «¡á »α¿¼Ñ¡∩ÑΓ óßÑ »«ñσ«ñ∩Θ¿Ñ
- »αáó¿½á óδó«ñá, ß½ÑñπεΘ¿Ñ ºá ñá¡¡«⌐ ßΓ᫬«⌐.
-
-
-
- -Åα¿¼Ñα:
-
- ÅαÑñ»«½«ª¿¼, τΓ« Σá⌐½ TOOLS.INI ß«ñÑαª¿Γ ß½ÑñπεΘÑÑ:
-
- [make]
- .OBJ.LIB:
- LIB TEST.LIB +$*.OBJ;
-
- ÆÑ»Ñα∞, »αÑñ»«½«ª¿¼, τΓ« óδ ¿¼ÑÑΓÑ ß½ÑñπεΘ¿⌐ Σá⌐½ «»¿ßá¡¿⌐:
-
- EXAMPLE1.LIB: EXAMPLE1.OBJ
- EXAMPLE2.EXE: EXAMPLE2.OBJ
- LINK /C0 EXAMPLE2,,,LIBV3.LIB
-
- öá⌐½ TOOLS.INI «»αÑñѽ∩ÑΓ »αáó¿½á óδó«ñá, ¬«Γ«αδÑ óδ»«½¡∩εΓ ¬«¼á¡ñπ
- LIB ó Σá⌐½Ñ «»¿ßá¡¿⌐, τΓ«íδ «í¡«ó¿Γ∞ í¿í½¿«ΓѬπ, ¬á¬ Γ«½∞¬« íπñπΓ
- ßñѽá¡δ ¿º¼Ñ¡Ñ¡¿∩ ó ß««ΓóÑΓßΓóπεΘѼ «íΩÑ¬Γ¡«¼ Σá⌐½Ñ. ê¼∩ Σá⌐½á ó »αáó¿½Ñ
- óδó«ñá «»αÑñѽ∩ÑΓß∩ ߻ѵ¿á½∞¡«⌐ ¼á¬α«¬«¼á¡ñ«⌐ $*, ΓᬠτΓ« ñá¡¡«Ñ »αá󿽫
- íπñÑΓ »α¿¼Ñ¡∩Γ∞ß∩ ¬ ½εí«¼π Σá⌐½π ß αáßΦ¿αÑ¡¿Ñ¼ .OBJ.
-
- èá¬ Γ«½∞¬« πΓ¿½¿Γá MAKE óßΓαÑτáÑΓ ßΓ᫬π, ß«ñÑαªáΘπε óδσ«ñ¡«⌐ Σá⌐½ ¿
- «ñ¿¡ ¿½¿ í«½ÑÑ óσ«ñ¡δσ Σá⌐½«ó, ß¡áτá½á «¡á ¿ΘÑΓ ¬«¼á¡ñδ ó ß½ÑñπεΘÑ⌐
- ßΓ᫬Ñ. àß½¿ ¡¿¬á¬¿σ ¬«¼á¡ñ ¡Ñ ¡á⌐ñÑ¡«, πΓ¿½¿Γá MAKE ¿ΘÑΓ »αá󿽫,
- ¬«Γ«α«Ñ «¡á ¼«ªÑΓ »α¿¼Ñ¡¿Γ∞; ó ñá¡¡«¼ ß½πτáÑ íπñÑΓ ¡á⌐ñÑ¡« »αá󿽫,
- «»αÑñѽѡ¡«Ñ ó Σá⌐½Ñ TOOLS.INI. ôΓ¿½¿Γá MAKE »α¿¼Ñ¡¿Γ ñá¡¡«Ñ »αá󿽫,
- ºá¼Ñ¡¿ó »α¿ óδ»«½¡Ñ¡¿¿ ñá¡¡«⌐ ¬«¼á¡ñδ ¼á¬α«¬«¼á¡ñπ $* ¡á EXAMPLE1.
- æ««ΓóÑΓßΓóÑ¡¡«, ¬«¼á¡ñá LIB íπñÑΓ óδú½∩ñÑΓ∞:
-
- LIB TEST.LIB +EXAPLE1.OBJ
-
- è«úñá πΓ¿½¿Γá MAKE ñ«ßΓ¿úáÑΓ ßΓ᫬¿, ß«ñÑαªáΘÑ⌐ óδσ«ñ¡«⌐ Σá⌐½
- EXAMPLE2.EXE, «¡á ¡Ñ ¿ΘÑΓ »αá󿽫 ºáó¿ß¿¼«ßΓ¿, »«ß¬«½∞¬π ñ½∩ ñá¡¡«ú«
- ß««Γ¡«ΦÑ¡¿∩ ¼Ñªñπ óσ«ñ¡δ¼ ¿ óδσ«ñ¡δ¼ Σá⌐½«¼ ¬«¼á¡ñá ºáñá¡á ∩ó¡«. Æá¬¿¼
- «íαẫ¼, ó ñá¡¡«¼ ß½πτáÑ,ñ½∩ ß«ºñá¡¿∩ óδ»«½¡∩Ѽ«ú« Σá⌐½á πΓ¿½¿Γá MAKE
- ߬«¼»á¡πÑΓ «íΩÑ¬Γ¡δ⌐ Σá⌐½ EXAMPLE2.OBJ ß í¿í½¿«ΓѬ«⌐ LIBV3.LIB ó¼ÑßΓ«
- ñ«íáó½Ñ¡¿∩ Σá⌐½á EXAPMLE2.OBJ ¬ í¿í½¿«ΓÑ¬Ñ TEST.LIB.
-
-
- 11.5. êß»«½∞º«óá¡¿Ñ Σá⌐½«ó .MAK.
-
- àß½¿ óδ ß«ºñáÑΓÑ »α«úαá¼¼¡δ⌐ ß»¿ß«¬ ñ½∩ »α«úαá¼¼δ ó ßαÑñÑ Quick-C,
- Quick-C áóΓ«¼áΓ¿τÑ߬¿ ßΓα«¿Γ Σá⌐½ «»¿ßá¡¿∩ ñ½∩ ñá¡¡«⌐ »α«úαá¼¼δ. öá⌐½
- «»¿ßá¡¿∩ ¿¼ÑÑΓ Γ« ªÑ ßá¼«Ñ íẫó«Ñ ¿¼∩, τΓ« ¿ »α«úαá¼¼á, ¡« ß
- αáßΦ¿αÑ¡¿Ñ¼ .MAK. öá⌐½ «»¿ßá¡¿∩ »«ºó«½∩ÑΓ »á¬ÑΓπ Quick-C
- »ÑαѬ«¼»¿½¿α«óáΓ∞ ¿ »ÑαѬ«¼»á¡«óáΓ∞ óßÑ ¼«ñπ½¿, ß«ßΓáó½∩εΘ¿Ñ »α«úαá¼¼π,
- Ñß½¿ ¬á¬«⌐-½¿í« ¼«ñπ½∞ ó »α«úαá¼¼Ñ, ½¿í« »«ñ¬½ετáѼδ⌐ Σá⌐½, «»αÑñѽѡ¡δ⌐
- ó »α«úαá¼¼¡«¼ ¼«ñπ½Ñ, »αÑΓÑα»Ñ½ ¿º¼Ñ¡Ñ¡¿∩.
-
-
- 11.5.1. êß»«½∞º«óá¡¿Ñ Σá⌐½«ó Γ¿»á .MAK
- ß πΓ¿½¿Γ«⌐ MAKE.
-
- Åα¿ ¡Ñº¡áτ¿Γѽ∞¡δσ ¿º¼Ñ¡Ñ¡¿∩σ πΓ¿½¿Γπ MAKE ¿ Σá⌐½ .MAK ¼«ª¡«
- ¿ß»«½∞º«óáΓ∞ ó¡Ñ »α«úαá¼¼¡«⌐ ßαÑñδ Quick-C. àß½¿ óδ ß«ºñáÑΓÑ »α«úαá¼¼π
- ó¡Ñ ßαÑñδ Quick-C ó Σá⌐½Ñ .MAK ñ«½ªÑ¡ »α¿ßπΓßΓó«óáΓ∞ ó맮ó í¿í½¿«ΓѬ¿ ß
- αáßΦ¿αÑ¡¿Ñ¼ .LIB. àß½¿ ªÑ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ ó ßαÑñÑ Quick-C
- íδ½á ºáúαπªÑ¡á í¿í½¿«ΓѬá Quick, Σá⌐½ .MAK íπñÑΓ ß«ñÑαªáΓ∞ í¿í½¿«ΓѬ¿
- Quick.
-
- Åα¿ «í¡«ó½Ñ¡¿¿ »α«úαá¼¼δ ó¡Ñ ßαÑñδ Quick-C »«½∞ºπ⌐ΓÑß∞ ß½ÑñπεΘÑ⌐
- »α«µÑñπα«⌐:
-
-
- 1.櫺ñá⌐ΓÑ ¬«»¿ε Σá⌐½á .MAK ß ñαπú¿¼ ¿¼Ñ¡Ñ¼, ñ½∩ Γ«ú«, τΓ«íδ Quick-C
- ¼«ú »α«ñ«½ªáΓ∞ ¿ß»«½∞º«óáΓ∞ «α¿ú¿¡á½.
-
- 2.ÄΓαÑñá¬Γ¿απ⌐ΓÑ ñá¡¡πε ¬«»¿ε, »«ñßΓáó¿ó ¿¼∩ ß««ΓóÑΓßΓóπεΘÑ⌐
- áóΓ«¡«¼¡«⌐ í¿í½¿«ΓѬ¿ ó ßΓ᫬𠬫¼¼Ñ¡Γáα¿∩, »«¬áºδóáεΘπε ¬á¬á∩
- í¿í½¿«ΓѬá íπñÑΓ ¿ß»«½∞º«óáΓ∞ß∩.
-
- 3.çá»πßΓ¿ΓÑ πΓ¿½¿Γπ MAKE ¿ ºáñá⌐ΓÑ ¿¼∩ ¿º¼Ñ¡Ñ¡¡«ú« Σá⌐½á .MAK ó
- ¬áτÑßΓóÑ »α«úαá¼¼¡«ú« óσ«ñá. ôΓ¿½¿Γá MAKE áóΓ«¼áΓ¿τÑ߬¿ »ÑαѬ«¼»¿½¿απÑΓ
- ¿ »ÑαѬ«¼»á¡πÑΓ »α«úαá¼¼π, ¬«Γ«αá∩ ¼«ªÑΓ íδΓ∞ ºáúαπªÑ¡á ó ßαÑñπ Quick-C,
- ¬á¬ «íδτ¡«.
-
-
- 11.5.2. çáó¿ß¿¼«ßΓ¿ ó¬½ετáѼδσ Σá⌐½«ó.
-
- é »α«µÑßßÑ αáºαáí«Γ¬¿ »α«úαá¼¼ óá¼ τáßΓ« »α¿ñÑΓß∩ ¡á¬á»½¿óáΓ∞
- «»αÑñѽѡ¿∩ ó« ó¬½ετáѼ«¼ Σá⌐½Ñ, á ºáΓѼ ¿ß»«½∞º«óáΓ∞ ñ¿αÑ¬Γ¿óπ #include
- ñ½∩ ó¬½ετÑ¡¿∩ ñá¡¡«ú« ¬«ñá ó αẽ¿τ¡δÑ »α«úαá¼¼¡δÑ ¼«ñπ½¿. êß»«½∞ºπ∩
- ñá¡¡δ⌐ ¼Ñσá¡¿º¼, óδ ¼«ªÑΓÑ ¿º¼Ñ¡∩Γ∞ Γ«½∞¬« ¬«ñ, ß«ñÑαªáΘ¿⌐ß∩ ó
- »«ñ¬½ετáѼ«¼ Σá⌐½Ñ, »«ß¬«½∞¬π, ¼«ñπ½¿, ß«ñÑαªáΘ¿Ñ ¬«»¿¿ ñá¡¡«ú« ¬«ñá,
- íπñπΓ áóΓ«¼áΓ¿τÑ߬¿ «í¡«ó½∩Γ∞ß∩ »α¿ »«óΓ«α¡«⌐ ¬«¼»¿½∩µ¿¿.
-
- ùΓ«íδ ¿¼ÑΓ∞ úáαá¡Γ¿ε Γ«ú«, τΓ« »α«úαá¼¼á íπñÑΓ áóΓ«¼áΓ¿τÑ߬¿
- «í¡«ó½∩Γ∞ß∩ »α¿ ¿º¼Ñ¡Ñ¡¿¿ ½εí«ú« ¿º »«ñ¬½ετáѼδσ Σá⌐½«ó, πñ«ßΓ«óÑα∞ΓÑß∞
- τΓ« óδ ºáñ὿ ó¬½ετáѼδÑ Σá⌐½δ ó ¬áτÑßΓóÑ óσ«ñ¡δσ Σá⌐½«ó Σá⌐½á .MAK.
- ò«Γ∩ ¬«¼»¿½∩Γ«α Quick-C ¡Ñ »«¼ÑΘáÑΓ ó¬½ετáѼδÑ Σá⌐½δ ó Σá⌐½ .MAK
- áóΓ«¼áΓ¿τÑ߬¿, «¡ ß«σαá¡¿Γ óßÑ ó¬½ετáѼδÑ Σá⌐½δ, ¬«Γ«αδÑ óδ »«¼ÑßΓ¿ΓÑ ó
- Σá⌐½ .MAK ß »«¼«Θ∞ε αÑñá¬Γ«αá ΓѬßΓ«ó. è«úñá óδ ºáúαπº¿ΓÑ »α«úαá¼¼¡δ⌐
- ß»¿ß«¬ ó ßαÑñπ Quick-C ß »«¼«Θ∞ε ¬«¼á¡ñδ Set Program LIst, óßÑ
- ó¬½ετáѼδÑ Σá⌐½δ, ºáñá¡¡δÑ ó Σá⌐½Ñ .MAK íπñπΓ ó¬½ετÑ¡δ ó »α«úαá¼¼¡δ⌐
- ß»¿ß«¬. 諼»¿½∩Γ«α Quick-C ¿ß»«½∞ºπÑΓ ó¬½ετáѼδÑ Σá⌐½δ ΓѼ ªÑ ß»«ß«í«¼,
- τΓ« ¿ «ßΓá½∞¡δÑ Σá⌐½δ ó »α«úαá¼¼¡«¼ ß»¿ß¬Ñ, Ñß½¿ ó¬½ετáѼδ⌐ Σá⌐½ íδ½
- «í¡«ó½Ñ¡ ß« óαѼѡ¿ »«ß½Ññ¡Ñ⌐ ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ, »α«úαá¼¼á íπñÑΓ
- »ÑαѬ«¼»¿½¿α«óá¡á.
-
- -Åα¿¼Ñα:
-
- ÅαÑñ»«½«ª¿¼, τΓ« ¬áªñδ⌐ ¼«ñπ½∞ »α«úαá¼¼δ ß ¿¼Ñ¡Ñ¼ Lexer ß«ñÑনΓ
- ó¬½ετáѼδ⌐ Σá⌐½ ß ¿¼Ñ¡Ñ¼ globals.h, ¬«Γ«αδ⌐ αáß»«½áúáÑΓß∩ ó ¬áΓὫúÑ
- \INCLUDE. ÅαÑñ»«½«ª¿¼ ΓᬪÑ, τΓ« »ÑαóδÑ ¡Ñ߬«½∞¬« ßΓ᫬ Σá⌐½á lexer.mak
- ß½ÑñπεΘ¿Ñ:
-
- #
- # Program: Lexer
- #
- qcl -c -WO -Zq -AM $*.c
- lexer.obj : C:\SRC\lexer.c
- gettoken.obj : C:\SRC\gettoken.c
- .
- .
- .
-
-
- éδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ Σá⌐½ lexer.mak, ¬á¬ »«¬áºá¡« ¡¿ªÑ- ñ½∩ Γ«ú«,
- τΓ«íδ ¿¼ÑΓ∞ πóÑαÑ¡¡«ßΓ∞, τΓ« »α«úαá¼¼á Lexer íπñÑΓ «í¡«ó½Ñ¡á »α¿
- ¿º¼Ñ¡Ñ¡¿¿ Σá⌐½á globals.h:
-
- #
- # Program: Lexer
- #
- qcl -c -WO -Zq -AM $*.c
- lexer.obj : C:\SRC\lexer.c C:\INCLUDE\globals.h
- gettoken.obj : C:\SRC\gettoken.c C:\INCLUDE\globals.h
- .
- .
-
-
- 11.5.3. çáñá¡¿Ñ «»µ¿⌐ ¬«¼»á¡«óΘ¿¬á.
-
- è«úñá ¬«¼»¿½∩Γ«α Quick-C ¬«¼»¿½¿απÑΓ »α«úαá¼¼π ß »«¼«Θ∞ε
- »α«úαá¼¼¡«ú« ß»¿ß¬á, ß¡áτá½á «¡ ¬«¼»¿½¿απÑΓ ¼«ñ㫨 ó »α«úαá¼¼¡«¼ ß»¿ß¬Ñ,
- á ºáΓѼ ßó∩ºδóáÑΓ αѺπ½∞Γ¿απεΘ¿Ñ «íΩÑ¬Γ¡δÑ Σá⌐½δ. Åα«µÑßß«¼ ¬«¼»á¡«ó¬¿
- ¼«ª¡« π»αáó½∩Γ∞ ß »«¼«Θ∞ε ºáñá¡¿∩ ߻ѵ¿á½∞¡δσ πß½«ó¿⌐ ó Σá⌐½Ñ .MAK,
- ß«ñÑαªáΘѼ »α«úαá¼¼¡δ⌐ ß»¿ß«¬.
-
- ¡« »α«ßΓ« «»αÑñѽ¿Γ∞ ¼á¬α«¬«¼á¡ñπ ß ¿¼Ñ¡Ñ¼ LDFLAGS, ¬á¬ »«¬áºá¡«
- ¡¿ªÑ:
-
- LDFLAGS= link-opt...
-
- îá¬α«¬«¼á¡ñá LDFLAGS áóΓ«¼áΓ¿τÑ߬¿ »«¼ÑΘáÑΓß∩ ó ßΓ᫬𠬫¼á¡ñδ LINK
- Σá⌐½á .MAK.éáΦÑ «»αÑñѽѡ¿Ñ ñ«½ª¡« ß½Ññ«óáΓ∞ »αáó¿½á¼, «»¿ßá¡¡δ¼ ó
- ÉáºñÑ½Ñ 11.3.1.
-
- Ä»µ¿¿ »α«úαá¼¼δ LINK, «»αÑñѽѡ¡δÑ óἿ, ¿ß»«½∞ºπεΓß∩ ¬áªñδ⌐ αáº,
- ¬á¬ Γ«½∞¬« óδ »ÑαѬ«¼»¿½¿απÑΓÑ ¿ »ÑαѬ«¼»á¡πÑΓÑ ¼«ñ㫨 ¿º »α«úαá¼¼¡«ú«
- ß»¿ß¬á; «¡¿ ñÑ⌐ßΓóπεΓ ñ« ΓÑσ »«α, »«¬á óδ ¡Ñ ¿º¼Ñ¡¿ΓÑ º¡áτÑ¡¿Ñ LDFLAGS ó
- Σá⌐½Ñ .MAK.
-
-