Previous: Scripts, Up: Output Formats   [Contents][Index]


2.6 If-then-else¤òÍѤ¤¤¿¥Õ¥¡¥¤¥ë¤Î¥Þ¡¼¥¸

Æó¤Ä¤ÎC¥½¡¼¥¹¥³¡¼¥É¤ò¥Þ¡¼¥¸¤¹¤ë¤¿¤á¤Ëdiff¤ò»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ ¤Ç¤¹¡¥¤³¤Î½ñ¼°¤Îdiff¤Î½ÐÎϤϡ¤Î¾Êý¤Î¥Õ¥¡¥¤¥ë¤Î¤¹¤Ù¤Æ¤Î¹Ô¤ò´Þ¤ß ¤Þ¤¹¡¥Î¾Êý¤Î¥Õ¥¡¥¤¥ë¤Ë¶¦Ä̤ιԤϡ¤°ì²ó¤À¤±½ÐÎϤµ¤ì¤Þ¤¹¡¥º¹°Û¤Î¤¢¤ëÉôʬ¤Ï¡¤ C¥×¥ê¥×¥í¥»¥Ã¥µ¤Î»Ø¼¨¸ì¤Î#ifdef name¤ä#ifndef name¡¤#else¡¤¤½¤·¤Æ#endif¤ÇʬΥ¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥½ÐÎϤò ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¡¤¥Þ¥¯¥íname¤òÄêµÁ¤·¤¿¤ê̤ÄêµÁ¤Ë¤·¤¿¤ê¤¹¤ë¤³¤È¤Ç¡¤ ¥Ð¡¼¥¸¥ç¥ó¤òÁªÂò¤·¤Þ¤¹¡¥

Æó¤Ä¤Î¥Õ¥¡¥¤¥ë¤ò¥Þ¡¼¥¸¤¹¤ë¤¿¤á¤Ë¡¤-D name¤ä --ifdef=name¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Ædiff¤ò»ÈÍѤ·¤Æ¤¯ ¤À¤µ¤¤¡¥°ú¿ô¤Îname¤Ï¡¤#ifdef¤È#ifndef¤È¤¤¤Ã¤¿»Ø¼¨¸ì ¤Ç»ÈÍѤ¹¤ëC¥×¥ê¥×¥í¥»¥Ã¥µ¤Î¼±Ê̻ҤǤ¹¡¥

Î㤨¤Ð¡¤wait (&s)¤Îʸ¤òwaitpid (-1, &s, 0)¤ËÊѹ¹¤·¡¤¿·µì¤Î ¥Õ¥¡¥¤¥ë¤ò--ifdef=HAVE_WAITPID¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ¥Þ¡¼¥¸¤·¤¿¾ì¹ç¡¤ ±Æ¶Á¤¹¤ëÉôʬ¤Î¥³¡¼¥É¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡¥

    do {
#ifndef HAVE_WAITPID
        if ((w = wait (&s)) < 0  &&  errno != EINTR)
#else /* HAVE_WAITPID */
        if ((w = waitpid (-1, &s, 0)) < 0  &&  errno != EINTR)
#endif /* HAVE_WAITPID */
            return w;
    } while (w != child);

¼¡¤Î¥»¥¯¥·¥ç¥ó¤ÇÀâÌÀ¤¹¤ë¡¤¹Ô¤Î¥°¥ë¡¼¥×¤ò»ÈÍѤ·¤¿½ñ¼°¤È¡¤¹Ô¤Î½ñ¼°¤ò»ÈÍѤ¹ ¤ë¤³¤È¤Ç¡¤C°Ê³°¤Î¸À¸ì¤ËÂФ¹¤ë½ñ¼°¤ò»ØÄꤹ¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥