MIPCPP.PPP

                    - ܼ -
. 
    [1.1] 
    [1.2] ñʻˡ
    [1.3] Ҥμˤջ
. ܺ
    [2.1] #ifǥ쥯ƥ֤ɾ
    [2.2] "#if 0""#if 1" ɾ
    [2.3] CVS̵
. ˡ
    [3.1]  -Dץ      ޥ          : -D <mac>[=<val>]
    [3.2]  -Uץ      ޥ̤        : -U <mac>
    [3.3]  -$ץ      CVS         : -$
    [3.4]  -lץ      INCLUDEեɹ : -l <file>
    [3.5]  -Nץ      ɾ          : -N
    [3.6]  -Cץ      Ⱥ        : -C
    [3.7]  -Iץ      #if̵             : -I
    [3.8]  -Wץ      ٹɽ            : -W <level>
    [3.9]  -Eץ      顼ɽ          : -E
    [3.10] -Qץ      ٹ/顼ɽ޻ : -Q
    [3.11] -Fץ      ե̾ѹ޻  : -F
. ջʤ
    [4.1] ץץоݥեΥǥ쥯ƥ
    [4.2] #ifǥ쥯ƥ֤ɾ
    [4.3] "#elif"  "#else" ִ
    [4.4] "#elif"  "#if" ִ
    [4.5] ǥ쥯ƥ֤Υǥ
    [4.6] CVSθ경
    [4.7] ƥȤ߹ߥޥ
    [4.8] ޥեΥ
. ȥ֥륷塼
    [5.1] ץץå/ʸɤ "MIPCPP" ɽʤ
    [5.2] ץץå/ʸɤˤ "MIPCPP" ꤷƤⲿⵯʤ
    [5.3] #ifפäȤ˾äʤ
    [5.4] ե뤬椫äƤޤä
    [5.5] #includeե #define ȿǤʤ
    [5.6] ʸ
    [5.7] ե̾ѤäƤޤ
    [5.8] ץ餫ե򳫤ȥץץåŬѤƤޤ
    [5.9] ץץåŬѸ帵ե򳫤ɤ߼Ѥˤʤ
. ѹ
. ջ



. 
  MIPCPP.PPP(ʲ ܥġ)ϡ#if, #ifdef, #elif, #else, #endifǥ쥯ƥ
  (ʲ #ifǥ쥯ƥ) ˤäѻɤ뤿
  MIFESѥץץåǤ
  ե륪ץֳʤץˤƥץץåȤ
  ꤹ뤳ȤˤѤ뤳ȤǤޤ

  [1.1] 
      ܥġϡҤեˤꤵ줿#ifǥ쥯ƥ֤
        ɾ̵ʥɤޤ
        դˡΥޥŸԳɾ#ifǥ쥯ƥ֤
        ϹԤޤ
        ˤꡤɲϤӥ塼˲夵뤳ȤǤޤ
        CPP(C Preprocessor)ƤΥޥŸȺǥ쥯ƥ
        ɾʤɡɤꤵ뤳ȤŪȤΤФơܥġϡ
        ä#ifǥ쥯ƥ֤ɾ뤳ȤǤޤΤǡ»ʤ
        Ȥʤɤ뤳ȤǤޤ
      #ifǥ쥯ƥ֤ɾޤΤǡѥ륹å
        ΥޥʤɡΤޤ޻ĤƤΤݻƤ
        ȤǽǤ
        ŪѤ¾ˡե󥰤䥽ɥ꡼Υ
        ȤäӤͤޤ
          - 桼ɤιײ/
          - ɥ
          - ͭƥå׿ΥȤȤΥӥǥ
          - ѥ륹åǧ
          - ǥХåѥɤκ
          - ץ("#if 0"䡤פʤȤΤ#if ) ΰ
          - Хκ
          - CVSθ경

  [1.2] ñʻˡ
    Ǥñʻˡϡե𤷤ܥġΥޥ
      Ϥǥ쥯ƥ֤뤳ȤǤ
      ʲˤμ򼨤ޤ
          1) ܥġ(MIPCPP.PPP)MIWե˥ԡƤ
             MIWեϡע֥ޥեɤ߽񤭡פ
             ǧǤޤ
          2) 1)Ʊե "MIPCPP.cfg" Ȥ̾Υƥȥե
             ƤʹߤեȸƤӤޤ
             ե˥ޥ/̤򵭽Ҥ뤳Ȥˤ
             ܥġФƻؼͿ뤳ȤǤޤ
             ܥġΥե̾ѹ硤ե
             "<ѹΥե̾>.cfg" ȤʤޤΤǤդ
          3) 2)Ǻեޥʲν񼰤ǵҤ
             
                -D <mac>[=<val>]    : ޥ<mac>[<val>Ȥ]ޤ
                                      ޥ<val>Ͼά뤳ȤǤޤ
                -U <mac>            : ޥ<mac>Ṳ̄ˤޤ.
             Cץץå(CPP)Υޥɥ饤ե˵Ҥ
             ΤȹͤƤ
             񼰤ǤʤвԤƤ⹽ޤ
             ޤʣΥץ1Ԥ˵ҤϡȾѥڡޤ
             ʸǶڤäƤ
             ڵ
                  -D HOGE=1
                  -D HOGEHOGE=2 -DPIYO = 0
                  -DVALUE0=0 -DVALUE1=1 -DREFVALUE=VALUE1
                  -UOLD_SYSTEM    -DNEW_SYSTEM
          4) ե륪ץΡ֥ץ/ݥȥץåפޤ
             ʸɡפˤ "MIPCPP" 򤷡ե򳫤ޤ
             ˥ץ󤷤ƤեФƤϡֳʤ...פ顤
             ֥ץ/ݥȥץåפޤϡʸɡפˤơ"MIPCPP"
              򤷡ʤȤˤŬѤޤ
          5) ʾˤäƳե#ifǥ쥯ƥ֤⡤
             3) ޥˤꤷΤޤ
             Գ#ifǥ쥯ƥ֤ϤΤޤ
             Ĥޤ
             ("#if 0") ˤ ե "-N"ץ
             򵭽Ҥޤ

  [1.3] Ҥμˤջ
          a) ܥġϥץץåѤǤܥġǽ
             #ifǥ쥯ƥ֤ޤΤǡäˤդ
             ˤ븵ե˲򤹤뤿ᡤܥġǽ
             եϡե̾ "_proc**" (**00ϤޤϢο)
             Ϳ줿եȤưޤ
             ΥեμΤ¸ߤʤΤǡԤϰö
             ե¸Ƥ
          b) ץ/ݥȥץåλ;塤ܥġǽեФ
             ʸȽϹԤޤ󡥤äơSJISʳʸɤ
             󥳡ɤ줿եʸȯޤ
             ξ硤եSJISѴ뤫ѤΥեö
             ¸ʸɤǳʤƤ
             ʤܥġUnicodeˤбƤޤUnicodeΥե
             ФƽԤϡöʸɤSJISѴƤ
          c) ܥġץץå˻ꤷƳ硤եˤ
             ץץå̾¸ޤΤᡤե䥷
             鸵ե򳫤ˤ⡤ܥġ뤬ŬѤޤΤ
             դ
          d) ¾ջˤĤƤϡ֭. ջʤɡפ򤴻Ȥ



. ܺ
  ܾϤǤϡܥġưξܺ٤ˤĤƵܤޤ

  [2.1] #ifǥ쥯ƥ֤ɾ
    ϥե¸ߤ#ifǥ쥯ƥ֤Τ"-D" / "-U"ץ
    ޤϡҤ "-l" ץˤƳޥեˤä
    ꤵ줿ޥˤäơ#ifǥ쥯ƥ֤ɾꤹΤ
    ޤĤޤꡤŪ˥ޥ/̤ؼ줿ޥ̣
    ؼʤޥԳǤȤߤʤޤ
    ɾˤҤȤĤǤԳʥޥĤäƤ硤#ifǥ쥯ƥ֤Ͻ
    ޤ
    
        "-UTARGET1 -DSYSTEM1=1 -DSYSTEM=DSYSTEM1" ե˵Ҥ
        <ե>                        <ܥġŬѸ>
        void foo(void)                      void foo(void)
        {                                   {
            common();   /* common */            common();   /* common */
        #ifdef TARGET1                      #if   TARGET2
            hoge_1();                           hoge_2();
        #elif TARGET2                     #endif
            hoge_2();                           piyo_1();   /* piyo */
        #endif                              #ifdef  SPECIAL /* SP */
        #if SYSTEM >= SYSTEM1                   special_effect();
            piyo_1();   /* piyo */          #endif
        #else                               }
            piyo_other();                   [EOF]
        #endif                              
        #ifdef  SPECIAL /* SP */            
            special_effect();               
        #endif                              
        }                                   
        [EOF]                               

  [2.2] "#if 0""#if 1" ɾ
    ե "-N" ץ򵭽Ҥ뤳Ȥˤꡤ(ޥ˰¸ʤ
    ) Τߤǹ#ifǥ쥯ƥ֤ɾ뤳ȤǤޤ
    
        "-N -UTARGET1" ե˵Ҥ
        <ե>                        <ܥġŬѸ>
        void foo(void)                      void foo(void)
        {                                   {
            common();   /* common */            common();   /* common */
        #ifdef TARGET1                          hoge_other();
            hoge_1();                           meaningful();
        #else                             }
            hoge_other();                   [EOF]
        #endif                              
        #if 0                               
            meaningless();                  
        #endif                              
        #if 1+1                             
            meaningful();                   
        #endif                              
        #if  0                              
            This is a comment without /**/. 
        #endif                              
        }                                   
        [EOF]                               

  [2.3] CVS̵
    ʣΥݥȥǶ̤Υ硤"$" + Author, Date,
    Header, Id, Name, Log, RCSfile, State, Locker, Revision, Source
    (ʹ CVS)ˤִCVSƥ൯(äLog) 乽
    Թ礬ޤ
    Τ褦ʾ硤"-$" ץͿϥե뤳Ȥˤꡤ
    CVSƬ("$") ѹ̵경뤳ȤǤޤ
    ˤꡤʹߤCVSˤ륿ν񤭴޻ߤ뤳ȤǤޤ
    
        "-$" ե˵Ҥ("" "$" Ǥ)
        <ե>                        <ܥġŬѸ>
        /*                                  /*
         * Author: John Doe $              * %Author: John Doe $
         * Revision: 1.1.1.1 $             * %Revision: 1.1.1.1 $
         */                                */
        #if 0                               #if 0
          Author: John Doe $                %Author: John Doe $
          Revision: 1.1.1.1 $               %Revision: 1.1.1.1 $
        #endif                              #endif



. ˡ
  ܾϤǤϡե˵Ҳǽʥץν񼰤ӳƥץư
  Ĥޤ
  ܥġϡΥץ󤬵Ҥ줿եˤ椵ޤ
  եϡܥġ(MIPCPP.PPP) Ʊե˺줿 "MIPCPP.cfg"
  Ȥ̾ΥƥȥեǤ
  ܥġΥե̾ѹϡ"<ѹΥե̾>.cfg" 
  ȤʤޤΤǤդ
    ڥץ
        -D <mac>[=<val>]  ޥ<mac>[<val>Ȥ]ޤ
        -U <mac>          ޥ<mac>Ṳ̄ˤޤ
        -$                CVSprefix"%"ѹ̵ޤ
        -l <file>         <file>ޥɤ߹ߤޤ
        -N                ޥ¸#ifǥ쥯ƥ(#if 0 )ɾޤ
        -I                Ƥ#ǥ쥯ƥ֤ȥȤ̵뤷ޤ
        -W <level>        ٹϥ٥<level> ꤷޤ
        -E                ̿ŪǤʤ顼̵뤷ޤ
        -Q                顼/ٹϤޤ(pcpp.err˽)
        -F                ե̾ѹޤ

  [3.1]  -Dץ      -D <mac>[=<val>]
    ޥ<mac>  [<val>Ȥ] ޤ줿ޥϡ
    #ifǥ쥯ƥ֤ɾˤơ[<val>Ȥ] Ÿޤ
    ޥ<val> ά줿硤ޥ<mac> ͤ1Ȥʤޤ
    Ʊޥʣ줿硤Ǹ˽иΤͭȤʤޤ
    ʤ#ifǥ쥯ƥ֤ɾǤϡ"-D"ץޤϡҤ"-U"
    ץ󤪤 "-l"ץˤɤ߹ޤ줿ޥեˤä
    Ūޤ̤Ȼؼ줿ޥѤޤ
    ʳԳʥޥ˰¸#ifǥ쥯ƥϤΤޤ޻Ĥޤ
    ޤܥġϡʸ(#ifǥ쥯ƥְʳʬ)ΥޥŸ
    Ԥޤ

  [3.2]  -Uץ      -U <mac>
    ޥ<mac> Ṳ̄ǤΤȤޤη̡ꤵ줿ޥ
    ˰¸#ifdefdefined ϵȤʤꡤˤä#ifǥ쥯ƥ
    õ/ͭԤޤ
    ʤ#ifǥ쥯ƥ֤ɾǤϡ"-D"ץ"-U"ץ󤪤
    Ҥ"-l" ץˤɤ߹ޤ줿ޥեˤäŪ
    ޤ̤Ȼؼ줿ޥѤޤ
    ʳԳʥޥ˰¸#ifǥ쥯ƥϤΤޤ޻Ĥޤ
    ޤܥġϡʸ(#ifǥ쥯ƥְʳʬ)ΥޥŸ
    Ԥޤ

  [3.3]  -$ץ      -$
    ϥե˴ޤޤCVSprefix("$")"%" ѹ뤳Ȥˤꡤ
    CVS̵ޤ
    CVSȤϡ"$" + Author, Date, Header, Id, Name, Log, RCSfile,
    State, Locker, Revision, Sourceפؤޤ
    ("", '') ˽иCVSˤĤƤϽԤޤ

  [3.4]  -lץ      -l <file>
    ޥե<file> ޥӥޥɤ߹ߤޤ
    ǤޥեȤϡ#define#undefӥȤ󤵤줿
    ƥȥետޤƤޤ
    autoconf.hΤ褦ʴĶ䵡ǽ뤿ΥեȹͤƤ
    ޥե˵Ҥ줿"#define" ǥ쥯ƥ֤"-D" ץ
    Ʊư"#undef" ǥ쥯ƥ֤"-U" ץƱưȤʤޤ
    ޥեǤϡ"#define""#undef"#ifǥ쥯ƥ֤Τ
    ᤵ졤ʳ̵뤵ޤԥݥȤ#ifǥ쥯ƥ֤ɾ
    Ȥܥġ塤#includeǥ쥯ƥ֤ϽޤΤǤ
    
    ޤޥե#define#undef-D-UץˤƱ
    ޥʣ󵭽Ҥ줿硤ե뤪ƺǸ˽иΤ
    ͭȤʤޤ

  [3.5]  -Nץ      -N
    ϥե˵Ҥ줿ޥ¸#ifǥ쥯ƥ("#if 0"
    "#if 1" ) ɾ#ifǥ쥯ƥͭ/õԤޤ
    ɾ˱黻ҤޤޤƤϡ黻̤˴Ťɾޤ

  [3.6]  -Cץ      -C
    ϥեƤC/C++쥳Ȥޤ

  [3.7]  -Iץ      -I
    ϥեƤ#ifǥ쥯ƥ֤ӥȤФƲν
    Ԥʤʤޤ
    ΤȤ"-D""-U" ץ󤪤"-l" ץǻꤵ줿
    ե˵Ҥ줿"#define""#undef" ǥ쥯ƥ̵֤뤵ޤ
    "-$" ץϵǽޤĤޤꡤCVS
    Ѥ뤳ȤտޤƤޤ

  [3.8]  -Wץ      -W <level>
    ٹ٥<level> ꤷȯٹåܥå
    ɽޤ
    ǥեư(-WץͿʤ)ǤϡƤηٹ̵뤷ޤ
    <level> ˤ {0,1,2,4,8} ORͤꤷƤޤ"-Wall" Ƥ
    ٹϤޤ
    ¿ηٹޤϥեǤϡåܥåˤڤޤ
    Τǡ-QץȤʻѤ侩ޤ

  [3.9]  -Eץ      -E
    ȯ顼åܥåˤɽޤ
    ǥեư(-EץͿʤ)ǤϡƤΥ顼̵뤷ޤ
    ¿Υ顼ޤϥեǤϡåܥåˤ
    ޤΤǡ-QץȤʻѤ侩ޤ

  [3.10] -Qץ      -Q
    åܥåˤ륨顼/ٹɽ顼/ٹ "MIPCPP.err"
    Ȥե˽Ϥޤ"MIPCPP.err" եϡ顼/ٹȯ
    ܥġΤե(MIWե) ˺ޤ
    ܥġΥե̾ѹϡ"<ѹΥե̾>.err"
    ȤʤޤΤǤդ

  [3.11] -Fץ      -F
    ե̾ѹޤ-FץꤷƳեϡ
    եΤȤʤޤΤޤ¸硤ե
    ޤΤǡѤ˺ݤƤϤդ



. ջʤ
  [4.1] ץץоݥեΥǥ쥯ƥ
    ܥġǤϡץץоݥե˴ޤޤ#ifǥ쥯ƥְʳ
    ǥ쥯ƥ(#define, #undef, #include, #error #pragma ) ̵뤷ޤ
    ޤ#ifǥ쥯ƥְʳʬˤޥŸԤ鷺(
    #ifǥ쥯ƥɾˤƥġǥޥŸϹԤޤ)ǥߥ
    ̤ʤɤԤޤ
    Ĥޤꡤ
        #includeˤ륤󥯥롼ɥեŸޤ
        ץץоݥեƤޥŸޤ
        #ifǥ쥯ƥ(#if#endif) ʳѹޤ
     Ȥʤޤ

  [4.2] #ifǥ쥯ƥ֤ɾ
    #ifǥ쥯ƥ֤ɾʣΥޥ˰¸(ȤñȤΥޥ
    ꤹȤƤ)#ifǥ쥯ƥͭ/뤿
    ˤϡ#ifǥ쥯ƥ֤¸ƤΥޥ/̤ؼ
    
    ɾ̤Υޥ¸ߤ硤ܥġϤ#ifǥ쥯ƥ
    ͭ/ޤ󡥤ϡԳʥޥȽ꼰˱ƶʤȤ
    ˳ǧ뤳ȤǤ
    
        "-DOPTION1" ե˵Ҥ
        <ե>                        <ܥġŬѸ>
        void foo(void)                      void foo(void)
        {                                   {
            common();   /* common */            common();   /* common */
        #if  OPTION1 || OPTION2             #if  OPTION1 || OPTION2
            hoge_1();                           hoge_1();
        #else                             #else
            hoge_other();                       hoge_other();
        #endif                              #endif
        #if  OPTION1                            piyo_1();
            piyo_1();                       }
        #else                               
            piyo_other();                   
        #endif                              
        }                                   

  [4.3] "#elif"  "#else" ִ
    "#if#elif#endif" ֥åˤơ"#if" ɾȤʤꡤ
    "#elif" ɾȤʤä硤"#elif"  "#else" ִޤ
    ξ硤ǥȤϹԤޤΤǤդ
    
        "-DOPTION3=1" ե˵Ҥ
        <ե>                        <ܥġŬѸ>
        void foo(void)                      void foo(void)
        {                                   {
            common();   /* common */            common();   /* common */
        #if    defined(OPTION1)             #if    defined(OPTION1)
            hoge_1();                           hoge_1();
        #elif  defined(OPTION2)           #elif  defined(OPTION2)
            hoge_2();                           hoge_2();
        #elif  defined(OPTION3)             #else
            hoge_3();                           hoge_3();
        #else                               #endif
            hoge_4();                       }
        #endif                              
        }                                   

  [4.4] "#elif"  "#if" ִ
    "#if#elif#endif" ֥åˤơ"#if" ɾȤʤꡤ
    "#elif" ɾȤʤä硤"#elif"  "#if" ִޤ
    
        "-UOPTION1 -DOPTION4=1" ե˵Ҥ
        <ե>                        <ܥġŬѸ>
        void foo(void)                      void foo(void)
        {                                   {
            common();   /* common */            common();   /* common */
        #if    defined(OPTION1)             #if    defined(OPTION2)
            hoge_1();                           hoge_2();
        #elif  defined(OPTION2)           #elif  defined(OPTION3)
            hoge_2();                           hoge_3();
        #elif  defined(OPTION3)             #endif
            hoge_3();                           hoge_4();
        #endif                              }
        #if    OPTION4                      
            hoge_4();                       
        #endif                              
        }                                   

  [4.5] ǥ쥯ƥ֤Υǥ
    ڡ֤ʤɤˤꥤǥȤ줿 "#if" ɾݡǥʬ
    ϺޤΤǡɤκۤ»ʤȤϤޤ
    Ƭ˥줿ϼԤ˷겼äƤޤޤΤǡ
    "#" Ƭ˻Ĥʤɡɾǲ򤷤Ƥ
    
        "-DOPTION1 -DOPTION2" ե˵Ҥ
        <ե>                        <ܥġŬѸ>
        void foo(void)                      void foo(void)
        {                                   {
            common();   /* common */            common();   /* common */
          #if   defined(OPTION1)                hoge_1();
            hoge_1();                       /**/    hoge_2();
        /**/#if defined(OPTION2)          /**/    #if    OPTION4
            hoge_2();                           hoge_4();
        /**/#elif  defined(OPTION3)             #endif
            hoge_3();                           hoge_5();
        /**/#endif                          }
            #if    OPTION4                  
            hoge_4();                       
            #endif                          
        #/**/if    OPTION1                  
            hoge_5();                       
        #/**/endif                          
          #endif                            
        }                                   

  [4.6] CVSθ경
    "-$"ץˤCVSθ경κݡpostfix(ִʸνü"$"ʸ)
    ϳǧޤ󡥤Ĥޤꡤprefix("$") + (Author, Date)ǧ
    prefix֤»ܤޤ
    ޤΥȤǰϤޤ줿ʸˤCVS֤
    ޤ󡥤ϡCVSѤ뤳ȤץޤΰտޤǤǽ⤤
    Ǥ
    
        "-$" ե˵Ҥ(""  "$" Ǥ)
        <ե>                        <ܥġŬѸ>
        /*                                  /*
         * Author: John Doe $              * %Author: John Doe $
         * Revision: 1.1.1.1 $             * %Revision: 1.1.1.1 $
         */                                  */
        const char* is_me[] = {           const char* is_me[] = {
            "Name$",                          "Name$",
            "Date$",                          "Date$",
        };                                  };

  [4.7] ƥȤ߹ߥޥ
    ܥġϡ"__unix__""__i386__""__GNUC__" ΥƥȤ߹ߥޥ
    ޤࡤڤΥޥϿƤޤ
    ޤ__FILE____LINE____TIME__֤»ܤޤ

  [4.8] ޥեΥ
    "-l" ץˤޥեʣǽ(100ե)Ǥ
    "-l" ץˤɤ߹ޤ줿ե "#include" 
    ǥ쥯ƥ֤Ͻޤ󡥤ĤޤꡤġΥޥե뤴Ȥ
    "-l" ץˤ꤬ɬפȤʤޤ
    ޥե줿ޥϡиʹߤιԤӤʹߤ
    ɤޥե˽и#ifǥ쥯ƥ֤Ƚȿ
    ޤ



. ȥ֥륷塼
  [5.1] ץץå/ʸɤ "MIPCPP" ɽʤ
        MIWեMIPCPP.PPP¸ߤ뤳ȤǧƤ
          MIWեϡע֥ޥեɤ߽񤭡פ
          ǧǤޤ
        MIPCPP.PPPΥե̾ѹ硤ѹΥե̾Ȥʤޤ
          ξ硤ե̾ѹΥե̾˹碌ѹ
          
           "MIPCPP.PPP"  "ɽŪåץץå.PPP" ѹ
                 ե̾ϡ"ɽŪåץץå.cfg" Ȥʤޤ

  [5.2] ץץå/ʸɤˤ "MIPCPP" ꤷƤⲿⵯʤ
        Ŭڤ˵Ҥ줿ե뤬MIWե¸ߤ뤳Ȥǧ
          
          ܥġϡե(MIWեˤMIPCPP.cfg)˽ä
          ưޤե뤬ʤŬڤʥץ󤬵ܤ
          ʤ硤եˤϱƶͿޤ
        ץץåŬоݥե#ifǥ쥯ƥ֤ޤޤƤ
          ȤǧƤ
          ܥġϡC/C++#ifǥ쥯ƥ(ȥ) ɾ
          ̵ȤʤäɤΤǤΤᡤ#ifǥ쥯ƥ
          ʤեФƤϱƶͿޤ

  [5.3] #ifפäȤ˾äʤ
        оݥե#ifǥ쥯ƥ֤ꤷƤ뤳ȡĤޤ
          եˤƤΥޥޤ̤˻ꤵƤ뤳Ȥ
          ǧƤ
          1ĤǤ̤Υޥ¸ߤ#ifǥ쥯ƥ֤ϤΤޤ޻Ĥޤ
        "#if 0"  "#if 1" Τ褦Ǥ#ifǥ쥯ƥ֤
          ɾ뤿ˤ "-N" ץꤹɬפޤ
          ɾ#ifǥ쥯ƥ֤Τߤξ硤ե
           "-N" 򵭽ҤƤ
        ܥġϡեˤäṲ̄Ȼꤷʤ¤ϡ
          ޥ̤ȤϤߤʤޤ󡥤줬C/C++ץץå(CPP)
          ȺǤۤʤǤꡤܥġħǤ
          եƤ#ifǥ쥯ƥ֤ɾ뤿ˤϡե
          #ifǥ쥯ƥ֤ѤƤƤΥޥˤĤ/̤
          ؼɬפޤŪΤˤϡľCPPѤ뤳
          򤪴ᤷޤ

  [5.4] ե뤬椫äƤޤä
        #ifǥ쥯ƥ֤νüɽ "#endif" ҤƤ뤳Ȥ
          ǧƤ
        C/C++쥳Ⱥץ "-C" ꤵƤϡ
          Ƚü "*/" ҤƤ뤳ȤǧƤ

  [5.5] #includeե #define ȿǤʤ
        ܥġϡꤷޥФƤΤɾԤȤʾ塤
          оݥե#includeǥ쥯ƥ̵֤뤷ޤ
          Ū˥ե "include" ϡ"-l" ץ
          եꤷƤƱͳˤ "-l" ץ
          ꤷե˴ޤޤ "#include" ǥ쥯ƥ̵֤뤵ޤ
          ΤǤդ

  [5.6] ʸ
        ץץåŬʸɤSJISʳξϡŬѸΥե
          ö֤ǲʸɼưȽޤŬڤʸɤ
          ʤƤ
          ΤȤŬΥե̾ǥ֤ȸե뤳Ȥ
          ǤʤʤΤǤդ
        衤MIFESΥץץåSJISʳʸɤSJISѴ뤳
          ŪǤ뤿ᡤץץåŬѸʸɤSJISˤʤäƤ
          ȤޤܥġϡʸɤSJISѴ
          뤳ȤŪȤƤޤΤǡŬѸʸɤΤޤޤȤʤ
          ޤ
        ܥġUnicodeˤбƤޤUnicodeΥեФƽ
          ԤϡöʸɤSJISѴƤ

  [5.7] ե̾ѤäƤޤ
        ܥġϥץץåѤǤ뤿ᡤ°פ˾¸
          եǤʤʤޤɻߤ뤿ᡤտŪѴ
          Υե̾ѹƤޤ
        ե֤뤳ȤŪǤꡤե̾Ѵפ
          ϡ"-F" ץͿƤ

  [5.8] ץ餫ե򳫤ȥץץåŬѤƤޤ
        衤MIFESΥץץåSJISʳʸɤSJISѴ뤳
          ŪǤ뤿ᡤŬѤץץåФƤ
          ڤǤ
          λͤΤᡤMIPCPPǳեٳݤˤϼưŪ
          ץץåŬѤƤޤޤ
        򤹤뤿ˤϡMIFESʸɤꤷƳʤ
          ͽᲿˡǳեƤ
            - ꥹȥɥΥեˤDELETEˤ
            - עκפ鳺ե
            - ޥȤäĤʤ褦˳(Ʊmipcpp.macǤ
              Ƥޤ)

  [5.9] ץץåŬѸ帵ե򳫤ɤ߼Ѥˤʤ
        ԽΥեݸפӡݸ줿եɤ߼
          ѤǳפͭˤʤäƤ硤ץץåŬѸ
          ե򳫤֤Ǹե򳫤ɤ߼ѤȤʤޤ
        եԽǽ֤ǳˤϡץץåŬѸ
          եö֤뤫ԽΥեݸפޤ
          ݸ줿եɤ߼ѤǳפΤ줫̵ˤ
          



. ѹ
    2009/12/31    Ver.1.00꡼



. ջ
    ܥեȤѤϡѼԤǤˤäƹԤäƤܥեȤλѤ
      äȯ»»ФơǤ餤ޤ
    ܥեȤϡưγμݾ㤷Ƥޤ
    ܥեȤκۤϼͳǤƱܥեѤźդ
      
    ưǧϲδĶǹԤäƤޤ
        Windows XP SP3 / Windows Vista SP2
        MIFES 7.07 / 8.08
