¸®´ª½º ±âŸ ÀÚ·á |
---|
Á¦¸ñ | X-Windows Programming #2 1998/07/04 (16:26) |
À̸§ | ±èÈ¿¿ø |
¹øÈ£ | 41 |
Á¶È¸ | 272 |
º»¹® |
¡º¸®´ª½º Çдç-¸®´ª½º °Á / ¿¬Àç (go LINUX)¡» 226¹ø Á¦ ¸ñ:[°Á 02] X ÇÁ·Î±×·¡¹Ö ±âÃÊ : Xlib ¿Ã¸°ÀÌ:geoman (À̸¸¿ë ) 96/03/22 01:09 ÀÐÀ½:2492 °ü·ÃÀÚ·á ¾øÀ½ ----------------------------------------------------------------------------- ¿ì¸® °ç¿¡ ÀÖ´Â ¸®´ª½º¿¡ ´ëÇؼ ÇÑ ¹ø »ý°¢Çغ¾½Ã´Ù. ´Ù¸¥ »ó¿ë OSµé°ú´Â ´Þ¸® Á¤¸»·Î ÀÚÀ¯·Î¿î ¿î¿µÃ¼Á¦ÀÎ µ¿½Ã¿¡, ¾î´À ´©±¸µµ ÈìÀâÀ» µ¥ ¾øÀ» ¸¸Å ÈǸ¢ÇÑ ¿î¿µ üÁ¦ÀÔ´Ï´Ù. ±×·¯ÇÑ ÀÌÀ¯´Â ¹«¾ùÀϱî¿ä? Àú´Â °ú¿¬ ÀÚº»ÁÖÀÇ »çȸ¿¡¼ ÀÌ·¯ÇÑ ÈǸ¢ ÇÑ ¿î¿µÃ¼Á¦°¡ ÀÌÀÍÀ» À§Çؼ°¡ ¾Æ´Ï¶ó ÀÚ½ÅÀÇ ¸í¿¹¿Í ÀÌŸ½É¿¡¼ ºñ·ÔµÉ ¼ö ÀÖ´Ù´Â »ç½Ç¿¡ ¸Å¹ø °¨ÅºÇÕ´Ï´Ù. ±×¸®°í ¸®´ª½º´Â GNU ÄÄÆÄÀÏ·¯¶ó´Â ¸ÚÁø ÄÄÆÄÀÏ·¯¿Í ÇÔ²² ¿ì¸® °ç¿¡ ¿Í ÀÖ½À´Ï´Ù. ±×·¡¼ ¿ì¸®´Â ¸¶À½²¯ ¸®´ª½º¸¦ »ç¿ëÇÏ´Ù°¡ ¹®µæ ³ª ÀڽŠ½º½º·Î°¡ ¹«¾ð°¡¸¦ ¸¸µé¾î¼ ¾²°í ½ÍÀ» ¶§´Â ÀÌ°Í ¶ÇÇÑ µ·°ú ½Ã°£À» µéÀÏ ÇÊ¿ä¾øÀÌ ¹Ù·Î ¿ì¸® °ç¿¡ ÀÖ½À´Ï´Ù. ¿ì¸®´Â ¾ÆÁÖ ¼Õ½±°Ô X À©µµ¿ì ÇÁ·Î±×·¥À» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ¸ðµç Á¶°ÇÀÌ °®Ãß¾îÁ® ÀÖ°í ÇÊ¿äÇÑ °ÍÀº ´ÜÁö Àú¿Í ¿©·¯ºÐÀÇ ÀÇÁö »ÓÀÔ´Ï´Ù. ¿ì¸®°¡ ¼¼»óÀÇ ¸¹Àº ¾Æ¸¶Ãß¾î ÇÁ·Î±×·¡¸Óµé¿¡°Ô µµ¿ò ¹ÞÀº °ÍÀ» ´Ù½Ã ´Ù¸¥ ¸ðµç »ç¶÷µé¿¡°Ô ÀüÆÄÇÒ ¼ö ÀÖ´Â ±âȸ ¶ó°í »ý°¢ÇÕ´Ï´Ù. X À©µµ¿ì ÇÁ·Î±×·¡¹ÖÀ¸·Î ¿©·¯ºÐ°ú ¿ì¸® ³ª¶ó, ¸®´ª½º¸¦ ºû³»ÁÝ ½Ã´Ù. Àú´Â ÀÌ·± Èñ¸ÁÀ» °¡Áö°í °ÀǸ¦ ÁøÇàÇÏ°íÀÚ ÇÕ´Ï´Ù. :) 4) °£´ÜÇÑ Ã¢ Çϳª ¸¸µé¾î º¾½Ã´Ù. ù¹ø° °ÀÇ¿¡¼ ¸¸µç ¿øÃÊÀû(?) ÇÁ·Î±×·¥Àº ´ÜÁö ¼¹ö¿Í Á¢¼ÓÇÏÀÚ ¸¶ÀÚ Á¢¼ÓÀ» ²÷¾î¹ö¸®´Â °æ¿ì¿´½À´Ï´Ù. ±×·³, ÀÌÁ¦´Â ¼¹ö¿¡ Á¢¼ÓÇÏ°í ³ª¼ ¾ÆÁÖ °£´ÜÇÑ ÀÏÀ» Çϳª ½ÃÄѺ¸µµ·Ï ÇսôÙ. ¹Ù·Î â Çϳª¸¦ ¸¸µé¾î¼ Ç¥½ÃÇغ¸´Â °Ì´Ï´Ù. ¿¹Á¦ 2) #include <X11/Xlib.h> main() { Display *d ; Window w, root ; d = XOpenDisplay(NULL) ; root = XDefaultRootWindow (d); w = XCreateSimpleWindow ( d, root, 50, 50, 400, 300, 2, BlackPixel (d,0), WhitePixel(d,0) ); XMapWindow (d, w); XFlush (d); getchar(); XCloseDisplay (d); } À̹ø ¿¹Á¦¿¡¼´Â Window ¶ó´Â »õ·Î¿î ÀÚ·áÇü°ú XDefaultRootWindow(), XCreateSim- pleWindow(), XMapWindow(), XFlush() µîÀÇ »õ·Î¿î ÇÔ¼öµéÀÌ ³ª¿À´Â±º¿ä. ¾Ñ! BlackPixel(), WhitePixel()°ú °°Àº ¸ÅÅ©·Îµµ º¸À̴±º¿ä. ÇÏÁö¸¸ ÀÌ ¸ÅÅ©·ÎµéÀº ³ªÁß¿¡ ¼³¸íµå¸®±â·Î ÇÏ°Ú½À´Ï´Ù. ÇÏ·ç¿¡ ³Ê¹« ¸¹Àº °ÍÀ» ¹è ¿ì¸é ¸Ó¸®°¡ ¾ÆÇÁÀݾƿä? :) 4-1) Window Çü º¯¼ö ¿ì¸®°¡ âÀ» ¸¸µé°í ½ÍÀ» ¶§´Â â Çϳª¸¶´Ù À§ÀÇ ¿¹¿¡¼ ³ª¿Â Window Çü º¯¼ö Çϳª °¡ ÇÊ¿äÇÏ´Ù°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. Window Çü º¯¼ö Çϳª´Â ±× â¿¡ ´ëÇÑ ¸ðµç Á¤º¸ ¸¦ Áö´Ï°í ÀÖ´Â º¹ÀâÇÑ ±¸Á¶Ã¼ Á¤µµ¶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. ¿¹»óÇÒ ¼ö ÀÖ´Â °ÍÀ¸·Î ´Â âÀÇ Å©±â, À§Ä¡, »ö»ó µîÀÌ ÀÖ½À´Ï´Ù. 4-2) â »ý¼º, Ç¥½Ã ... Áö±ÝºÎÅÍ ¼³¸íµå¸®´Â ±âº»ÀûÀÎ ÀýÂ÷¸¦ ²À ¸Ó¸® ¼Ó¿¡ ³Ö¾îµÎ¼¼¿ä. ¾î¶² âÀ» ¸¸µéµçÁö ¿ì¸®´Â ¿ì¼±ÀûÀ¸·Î ±× â¿¡ ´ëÇÑ Á¤º¸¸¦ ÀúÀåÇÏ°í ÀÖÀ» º¯¼ö ÇÏ ³ª¸¦ ÀÌ¹Ì ¸¸µé¾î³õ¾ß¾ß ÇÕ´Ï´Ù. Áï Window Çü º¯¼ö Çϳª¸¦. ±× ´ÙÀ½ ¼¹ö´õ·¯ âÀ» Çϳª ¸¸µé°Ú´Ù°í ¼ºñ½º ¿äûÀ» ÇÕ´Ï´Ù. (Á¶±Ý µÚ¿¡ ¼³¸íµå¸®´Â ÇÔ¼ö¸¦ ÅëÇØ) À̺¯ÀÌ ¾ø´Â ÇÑ ¼¹ö´Â âÀ̶ó´Â ÀÚ¿ø Çϳª¸¦ ¼¹ö Ãø(!!!)¿¡ ¸¸µé¾î ³õ½À´Ï´Ù. ±×¸®°í â ÀÚ¿ø¿¡ ´ëÇÑ ÀÚ¿ø °íÀ¯¹øÈ£(Resource ID)¸¦ ¾Æ±î Ŭ¶óÀ̾ðÆ® ÂÊ¿¡¼ ¸¸µé¾î ³õÀº º¯¼ö¿¡ ¹ÝȯÇØÁÝ´Ï´Ù. ÀÌ º¯¼ö´Â ¹Ù·Î Ŭ¶óÀ̾ðÆ®¿Í ¼¹ö Ãø¿¡ ¸¸µé¾îÁø ÇÑ Ã¢¿¡ ´ë ÇÑ ¿¬°áÅë·Î ¿ªÇÒÀ» ÇØÁÝ´Ï´Ù. ¹«Áö Áß¿äÇÏÁÒ? ÀÌ·¸°Ô ¼¹ö Ãø¿¡´Ù â ÀÚ¿ø Çϳª¸¦ ¸¸µé¾î³õ°í, ±× ´ÙÀ½¿¡´Â ¿©·¯ºÐÀÌ ¿øÇÏ´Â ¶§¿¡ ±× âÀ» ȸ鿡 Ç¥½ÃÇØ´Þ¶ó°í ¿äûÇÏ¸é ¼¹ö°¡ ¾Ë¾Æ¼ ±× âÀ» Ç¥½ÃÇØÁÝ´Ï´Ù. ¹°·Ð ¿äû¿¡ µû¶ó ȸ鿡¼ »ç¶óÁö°Ô ¸¸µé ¼öµµ ÀÖ½À´Ï´Ù. ¶Ç´Â ÇöÀç ³ªÅ¸³»Á® Àִ â¿¡ ´ëÇÏ¿© ¹è°æ»ö°ú Å׵θ®»öÀ» ¹Ù²Û´ÙµçÁö ÇÏ´Â ¼öÁ¤ ÀÛ¾÷ ¶ÇÇÑ ¾Æ±îÀÇ Window Çü º¯¼ö¸¦ ÅëÇؼ ÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿ì¸®´Â ¾ÕÀ¸·Î ¸ðµç ÀÚ¿ø¿¡ ´ëÇÏ¿© ¼¹ö Ãø¿¡ ÀÚ¿øÀ» ¸¸µé¾î ³õ°í ¿ì¸® Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥¿¡¼´Â ´ÜÁö ±× ÀÚ¿ø¿¡ ´ëÇÑ ID¸¸À» º¯¼ö¿¡´Ù ÀúÀåÇسõ°í ÀÖ½À´Ï´Ù. ±×¸®°í ¿øÇÏ´Â ¶§¿¡ ±× ÀÚ¿øÀ» Ç¥½ÃÇÑ´ÙµçÁö, ¼öÁ¤ÇÑ´ÙµçÁö, ¶Ç´Â ¾ø¾Ø´ÙµçÁö ÇÏ´Â ÀÛ¾÷À» ÇàÇÕ´Ï´Ù. ±×¸®°í ³ªÁß¿¡ Á¤¸» ÇÊ¿ä°¡ ¾ø¾îÁø ÀÚ¿ø¿¡ ´ëÇؼ´Â ¼¹ö Ãø¿¡´Ù »èÁ¦ÇÏ ¶ó°í Åë°íÇÕ´Ï´Ù. Á¦°¡ ÀÌ·¸°Ô ±æ°Ô ¼³¸íµå¸° °³³äÀ» ²À ¼÷ÁöÇØÁֽʽÿä. ¾î¶»°Ô º¸¸é ¿ì¸®°¡ ¾ÕÀ¸·Î ÇÏ´Â ÀÏÀÇ °ÅÀÇ ´ëºÎºÐÀ» ¸»¾¸µå¸° °ÍÀ̳ª ´Ù¸§¾ø½À´Ï´Ù. 4-3) XCreateSimpleWindow ÇÔ¼ö¿¡ ´ëÇÏ¿©... ÇÔ¼ö À̸§ ±×´ë·Î Çؼ®Çغ¸¸é "°£´ÜÇÑ Ã¢À» »ý¼ºÇÑ´Ù"ÀÌÁö ¾Ê½À´Ï±î? ¿ì¸®°¡ ¿µ¾î ¹®È±Ç¿¡ »ì°í ÀÖ´Ù¸é, À̰͸¸Å ½ÄÀº Á× ¸Ô±â°¡ ¾îµð ÀÖ°Ú½À´Ï±î ¸¸Àº... °£´ÜÇÑ Ã¢À» ¸¸µå´Â ÇÔ¼ö¿¡ ´ëÇÏ¿© ¾Ë¾Æº¸µµ·Ï ÇÏÁö¿ä. ÇÔ¼öÀÇ ¿øÇü(Prototype) Window XCreateSimpleWindow ( Display* display, Window parent, int x, int y, unsigned int width, unsigned int height, unsigned int border_width, unsigned long border_color, unsigned long background_color ); ÇÔ¼ö ÇÑ ¹ø Á¤¸» °ÅâÇϱº¿ä. ¾ÕÀ¸·Î ³ª¿À´Â ÇÔ¼öµé ´ëºÎºÐÀÌ °ÅÀÇ ÀÌ·¸´Ù°í »ý°¢ Çϼŵµ ¹«¹æÇÕ´Ï´Ù. Á¤¸»·Î ¸¹Àº Á¤º¸¸¦ Àü´ÞÇØÁÖ¾î¾ß ÇÏ´Â °ÍÀ» º¸½Ç ¼ö ÀÖÀ» °Ì´Ï ´Ù. Áü ij¸®Ã³·³ ¼ûÀ» Å©°Ô µéÀ̽® ÈÄ, ´Ù´Ù´Ù ½¯ »õ ¾øÀÌ ¾ê±âÇغ¸ÀÚ¸é, 1¹ø° Display Çü Æ÷ÀÎÅÍ´Â XOpenDisplay()¿¡¼ Á¢¼ÓÇÑ µð½ºÇ÷¹À̸¦ °¡¸®Å°´Â Æ÷ÀÎ ÅÍÀ̸ç, 2¹ø° Window´Â ÇöÀç ¸¸µé°íÀÚ Çϴ âÀÇ ¼Ò¼ÓµÇ´Â ºÎ¸ð âÀ̸ç, 3¹ø°, 4¹ø°´Â °¢°¢ x, y ÁÂÇ¥¸¦ ¶æÇÏ°í, 5¹ø°´Â Çȼ¿ ´ÜÀ§ÀÇ °¡·ÎÆø, 6¹ø°´Â Çȼ¿ ´ÜÀ§ ÀÇ ¼¼·ÎÆø, ±×¸®°í 7¹ø°´Â Å׵θ®ÀÇ µÎ²², ¸¶Áö¸·À¸·Î 8¹ø°¿Í 9¹ø°´Â Å׵θ® »ö °ú âÀÇ ±âº»ÀûÀÎ ¹è°æ»öÀ» Ä«¸®Å°´Â unsigned long Çü ¼öÄ¡°ªÀÔ´Ï´Ù. º¸Åë ÇϳªÀÇ µð½ºÇ÷¹ÀÌ¿¡¼ ´ëºÎºÐÀÇ ÀÏÀ» ÇØÄ¡¿ì´Ï±î 1¹ø° Àμö°¡ »ó´çÈ÷ ±ÍÂú À» ¼öµµ ÀÖÁö¸¸, »ý°¢Çغ¸¼¼¿ä, ¿©·¯ºÐÀÇ Å¬¶óÀ̾ðÆ® ÇÁ·Î±×·¥ÀÌ ´ÙÁß µð½ºÇ÷¹ÀÌ Á¢¼Ó ÇÁ·Î±×·¥ÀÌ µÉ ¼öµµ ÀÖÁö ¾Ê½À´Ï±î? ±×·¯¸é, ¿©±â Àú±â µÎ °³ ÀÌ»óÀÇ µð½ºÇ÷¹ À̸¦ °£´ÜÇÏ°Ô Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹Ù·Î ¿ä ù¹ø° Àμö¸¦ °¡Áö°í ¸»ÀÔ´Ï´Ù. 2¹ø°, ºÎ¸ð âÀº ¹«¾ùÀΰ¡? --- X À©µµ¿ìÀÇ ¸ðµç âÀº Ç×»ó ¾î¶² â¿¡ ¼ÓÇØ ÀÖ °Å³ª, ¾î¶² âµéÀ» ÀÚ±â ÀÚ½Ä(Child)À¸·Î °®½À´Ï´Ù. ¾ÆÁÖ ±Ùº»ÀûÀ¸·Î´Â X À©µµ¿ì°¡ ¶ßÀÚ¸¶ÀÚ »ý±â´Â âÀº ¹Ù·Î Å׵θ®µµ ¾ø´Â â, ·çÆ®(root)âÀÔ´Ï´Ù. ¹Ù·Î ÀÌ Ã¢¿¡ ¸ðµç âµéÀÌ ¼ÓÇÏ´Â °ÍÀÔ´Ï´Ù. ¾î¶² ÇÁ·Î±×·¥À̵ç óÀ½ âÀº ¹Ù·Î ·çƮâÀÇ ÀÚ½Äâ ÀÌ µË´Ï´Ù. ±× âÀº ´Ù½Ã ÀÚ±â ÀÚ½ÄâµéÀ» ¾ó¸¶µçÁö °¡Áú ¼ö ÀÖÁö¿ä. ¾îÂî µÇ¾úµç °£¿¡ »õ·Î »ý¼ºµÇ´Â âÀº Á·º¸(?)¸¦ °¡Á®¾ß ÇÕ´Ï´Ù. Àڱ⠺θðâÀº ¾Ë¾Æ¾ß ÇÏÁö ¾Ê °Ú¾î¿ä? ¿©±â¼ Àá±ñ XDefaultRootWindow()¶ó´Â ÇÔ¼ö¿¡ ´ëÇÏ¿© ¾Ë¾Æº¾½Ã´Ù. ÇÔ¼öÀÇ ¿øÇü Window XDefaultRootWindow ( Display *display ); ÀÌ ³à¼®ÀÇ ±â´ÉÀº Display Çü Æ÷ÀÎÅÍ°¡ °¡¸®Å°´Â ¼¹öÀÇ ±âº»(Default) ·çƮâÀÇ Ã¢ ID¸¦ ¾Ë¾Æ´Ù°¡ ID¸¦ Window Çü º¯¼ö¿¡´Ù µÇµ¹·Á ÁÖ´Â ¿ªÇÒÀÔ´Ï´Ù. ¿ì¸®°¡ ¸¸µé°íÀÚ Çϴ âÀº Á÷Á¢ÀûÀ¸·Î ·çƮâÀÇ ¹Ù·Î ¾Æ·¡ ÀÚ½ÄâÀÌ µÇ¹Ç·Î, À§¿¡ ¼ ³ª¿Â XCreateSimpleWindow()ÀÇ µÎ¹ø°¿¡¼ ºÎ¸ðâ ID¸¦ ÁöÁ¤ÇØÁÖ¾î¾ß Çϱ⠶§¹® ¿¡ ÇÊ¿äÇÑ ÇÔ¼öÀÔ´Ï´Ù. ³ª¸ÓÁö´Â ÀÚ¸íÇϹǷΠ8¹ø°, 9¹ø° »ö»ó ÁöÁ¤ ºÎºÐ¿¡ ´ëÇÑ ¼³¸í¸¸ µå¸³´Ï´Ù. X À©µµ¿ì¿¡¼ »ö»óÀº ¶ÇÇÑ ¼¹ö°¡ Á¦°øÇÏ´Â ÇϳªÀÇ ÀÚ¿øÀ¸·Î¼ ¼¹ö°¡ °ü¸®¸¦ ÇÏ°í ÀÖ½À´Ï´Ù. µû¶ó¼ ¿ì¸®°¡ »ý°¢ÇÏ´Â °Í ¸¸Å ½±°Ô »ö»óÀ» ¾²°Å³ª ÇÒ ¼ö´Â ¾ø½À´Ï´Ù. Ȥ½Ã ¿©·¯ºÐÀº XV ¿Í °°Àº ±×·¡ÇÈ ÇÁ·Î±×·¥À» ¾²¸é¼ ±×·¡ÇÈ È¸éÀÇ ÁúÀÌ ¾î¶³ ¶§´Â ´Ù¸£°Ô ³ªÅ¸³ª´Â °ÍÀ» °æÇèÇغ¸½Å Àû ÀÖ½À´Ï±î? ±× °æ¿ì¿£ XV°¡ ¿øÇÏ´Â ¸¸ÅÀÇ »ö»ó ÀÚ¿øÀ» ¼¹ö¿¡°Ô¼ °ø±Þ¹ÞÁö ¸øÇϱ⠶§¹®ÀÔ´Ï´Ù. ¾î¶² ÀÌÀ¯¿¡¼µç... ¿¹¿¡¼ µå·¯³ªµí ±×³É °ËÁ¤°ú Èò»öÀ» ÁöĪÇÏ´Â ½¬¿î ¼ýÀÚ¸¦ ¾²´Â °Ô ¾Æ´Ï¶ó, Black- Pixel(), WhitePixel()À̶ó´Â ¸ÅÅ©·Î¸¦ ½è½À´Ï´Ù. À̹ø °Á¿¡¼´Â »ö»óÀ» ¾²´Â °ú Á¤ÀÌ ±×·¸°Ô °£´ÜÇÏÁö´Â ¾Ê´Ù´Â »ç½Ç¸¸ ±â¾ïÇØÁֽñ⠹ٶø´Ï´Ù. Á¶¸¸°£¿¡ »ö»ó¿¡ ´ë ÇÑ ¾ê±â°¡ À̾îÁý´Ï´Ù. ±× ¶§±îÁö¸¸ Âü¾ÆÁֽʽÿä. 4-4) XMapWindow() ÀÌ ³à¼®Àº ¹«¾ùÀΰ¡ Çϸé, À§¿¡¼ ¼¹öÃø¿¡ ¸¸µé¶ó°í Å뺸ÇÑ Ã¢À» ½ÇÁ¦·Î ³ªÅ¸³»¶ó ´Â Áö½Ã¸¦ ¼¹ö¿¡ º¸³»´Â ³à¼®ÀÔ´Ï´Ù. âÀÇ »ý¼º°ú Ç¥½Ã´Â º°°³ÀÇ °úÁ¤ÀÌÁö¿ä. ÇÔ¼öÀÇ ¿øÇü : XMapWindow ( Display *display, Window w ); ƯÁ¤ µð½ºÇ÷¹ÀÌ ¼¹ö¿¡¼ w¶ó´Â âÀ» ȸ鿡 ½ÇÁ¦·Î Ç¥½ÃÇÕ´Ï´Ù. ¿©±â¼ ¿µ¾î MapÀº µ¿»ç·Î¼ "Áöµµ·Î ±×¸®´Ù","¹èÄ¡ÇÏ´Ù"ÀÇ ¶æÀÔ´Ï´Ù. Á¦°¡ ´Ù´Ï´Â ÁöÁú°úÇаú¿¡¼´Â ÁöÁúµµ ±×¸®´Â °ÍÀ» ¸ÅÇÎ(Mapping)ÇÑ´Ù¶ó°í ¸»ÇÕ´Ï´Ù. 4-5) XFlush() ¾Æ´Ï, ÀÌ°Ç ¶Ç ¹»±î¿ä? Ç÷¯½¬(flush)´Â ÈÀå½Ç¿¡¼ º¼ ÀÏÀ» ´Ù º» ÈÄ, º¯±âÀÇ ¹°À» ³»¸®´Â °ÍÀ» ¸»ÇÕ´Ï´Ù. ÇѲ¨¹ø¿¡ ¹°À» Áà Èê·Áº¸³»´Â ±×·± ÀÏÀÔ´Ï´Ù. X À©µµ¿ì¿¡ ¹¹ ±×·± ÀÏÀÌ ÇÊ¿äÇϳı¸¿ä? °ÅÂü ÀÌ»óÇϱº¿ä. C ÇÁ·Î±×·¥À» °øºÎÇغ¸½Ã¸é, printf¿Í °°Àº ¸¹Àº Ãâ·Â¹®µéÀÌ ½ÇÇà Á÷ÈÄ¿¡ Ãâ·ÂÀÌ ÀÌ·ç¾îÁö´Â °ÍÀº ¾Æ´Ï¶ó´Â »ç½ÇÀ» ¾Æ½Ç °Ì´Ï´Ù. ½ÇÁ¦´Â ¸Å¹ø Ãâ·Â ¸í·ÉÀ» ¹ÞÀ» ¶§ ¸¶´Ù Ãâ·ÂÀ» ÇÏ´Â °Íº¸´Ù´Â ÇѲ¨¹ø¿¡ ¹öÆÛ¿¡ ¸ð¾Æ³õ°í ¶§°¡ µÇ¸é ´Ü ÇÑ ¹øÀÇ ½ÇÇàÀ¸ ·Î È¿À²¼ºÀ» ³ôÀÌ´Â ±â¼úÀ» äÅÃÇÕ´Ï´Ù. X À©µµ¿ìµµ ¶ÇÇÑ ±×·¸½À´Ï´Ù. ±× ¼ö¸¹Àº Ŭ¶óÀ̾ðÆ®µé·ÎºÎÅÍÀÇ ¼ºñ½º ¿äûÀ» ±× ¶§ ±× ¶§ ½ÇÇàÇÏ°Ô µÇ¸é ´É·üÀÌ ¶³¾îÁö°Ô µÇ¹Ç·Î, ¼¹ö´Â ¹öÆÛ¸¦ ¸¶·ÃÇÏ°í ±× ¹öÆÛ°¡ Â÷°Å³ª ¹öÆÛ¸¦ ºñ¿ì¶ó´Â ¸í½ÃÀûÀÎ ¿ä±¸°¡ ÀÖÀ» ¶§¸¸ ½ÇÇàÀ» ÇÏ°Ô µË´Ï´Ù. À̹ø ¿¹´Â X À©µµ¿ì ¼¹ö¿¡°Ô´Â Äà¹æ±Íµµ ²ð ÇÊ¿ä°¡ ¾÷À» ¸¸Å, ÀÚÀßÇÑ ¿ä±¸À̱⠶§¹®¿¡ ±×·± ¸í·ÉÀ» ³»¸°´Ù°í Çؼ ¹öÆÛ°¡ Âû ¸® ¸¸¹«ÇÕ´Ï´Ù. ±×·¯´Ï, °Á¦·Î 'º¯±â ¹°À» ÂÓ ³»·Á¾ß°ÚÁÒ?' ÇÔ¼öÀÇ ¿øÇü : XFlush ( Display *display ); 4-6) ÄÄÆÄÀÏ À§ ¿¹Á¦¸¦ ex02.c¶ó°í ÀúÀåÇϼ̴ٸé, cc -o ex02 ex02.c -lX11 -I/usr/X11/include -L/usr/X11/lib º¸Åë -I, -L ¿É¼ÇÀº ÁÖÁö ¾ÊÀ¸¼Åµµ µÇÁö¸¸ Á¦´ë·Î Çì´õÈÀÏ°ú ¶óÀ̺귯¸®¸¦ ãÁö ¸øÇÒ ¶§´Â ¸í½ÃÀûÀ¸·Î ÁÖ½Ã¸é µË´Ï´Ù. 4-7) ½ÇÇà ÀÚ, ÀÌÁ¦ X Å͹̳Π»ó¿¡¼ ½ÇÇàÀ» Çغ¼±î¿ä? ¿ì¸®°¡ ¿¹»óÇß´ø °Í°ú´Â Á» ´Ù¸¦ °ÍÀÔ´Ï´Ù. ¿Ö³Ä±¸¿ä? ¿©·¯ºÐ²²¼ fvwm°ú °°Àº À©µµ¿ì °ü¸®ÀÚ¸¦ ¾²°í °è½Ã¸é, ¿ì¸®°¡ ÀǵµÇÏÁö´Â ¾Ê¾ÒÁö¸¸ ±× ³ðÀÌ ¿ì¸®°¡ ¸¸µé°í ÀÚ Çϴ âÀÇ ¸ð¾ç¿¡ °³ÀÔÇÏ°í µé¾î¿À±â ¶§¹®ÀÔ´Ï´Ù. ÀÌ ºÎºÐ¿¡ ´ëÇÑ ¼³¸í ¶ÇÇÑ ´ÙÀ½ ¹øÀ¸·Î ¹Ì·ç±â·Î ÇÏ°í ´ÜÁö âÀÌ ¸¸µé¾îÁ³´Ù´Â °Í¸¸ È®ÀÎÇÏ°í ³Ñ¾î°¡ÁÒ. :) Á¾·á´Â ½ÇÇà½ÃŲ Å͹̳Πâ¿¡¼ ¿£ÅÍÅ°¸¦ ÇÑ ¹ø ´·¯ÁÖ½Ã¸é µË´Ï´Ù. ¾ÆÂü! ¿¹Á¦¿¡¼ ¿Ö getchar()¸¦ ½è´ÂÁö ÇÑ ¹ø »ý°¢Çغ¸¼¼¿ä. ±×¸®°í, À§¿¡¼ ¿£ÅÍ Å°°¡ ¾Æ´Ï¶ó ½ºÆäÀ̽º¹Ù °°Àº °ÍÀ» ´©¸£¸é ¿Ö Á¾·áÇÏÁö ¾Ê´ÂÁöµµ »ý°¢Çغ¸¼¼¿ä. ´ÙÀ½¹ø °ÀÇ¿¡ ±× ´äÀ» µå¸®°Ú½À´Ï´Ù. |