1992.6.25.

SUBJECT: C, Xlib, Xt °úÁ¦ ¸ðÀ½ÀÇ ÂüÁ¶ »çÇ×µé   ( ÀÚ·á II )

STATUS OF THIS MEMO:
memo l00005ÀÇ °úÁ¦µéÀ» ÇØ°áÇϴµ¥ µµ¿òÀÌ µÉ»çÇ×µé°ú À̸¦ ±¸ÇöÇÑ sourceµéÀÇ À§Ä¡¸¦ ¾Ë·Á ÁØ´Ù.

DESCRIPTION

1.°úÁ¦ 1
  * ÀԷµǴ ¹®ÀÚ¿­ Áß ÇÑ±Û character¸¦ ±¸º°ÇØ ³»´Â ºÎºÐÀÌ ÇÙ½É.
  * ¿Ï¼ºÇü ÇѱÛÀÇ MSB  Áï 7¹ø bit´Â 1ÀÓÀ» Âø¾ÈÇÏ¿©
    if( char & 0x80) han_char_count++; ÇÏ´Â ½ÄÀ¸·Î ÇÑ±Û check.
  * 0x80Àº 10000000ÀÌ°í 2¹ÙÀÌÆ® ¿Ï¼ºÇü ÇѱÛÀÇ °¢ ¹ÙÀÌÆ®´Â 1xxxxxxx·Î MSB°¡ 1À̹ǷÎ
    ÀÌ µÑÀ» bit-and½ÃÄÑ 1ÀÌ µÇ¸é ÇѱÛÀÓÀ» ¾Ë ¼ö ÀÖ´Ù.
  * ¶Ç ÇÑ±Û ÇÑ character¼ö´Â 2¹ÙÀÌÆ®À̹ǷΠ countµÈ ¼ö¸¦ 2·Î ³ª´©¾î ÁÖ¾î¾ß ½ÇÁ¦ character¼ö°¡ µÈ´Ù.
  * Âü°í ÀÚ·á: xedu/memo/z00015
  * ÇØ´ç È­ÀÏ: xedu/hw/hw1/hw1.c

2.°úÁ¦ 2
  * ÇÙ½ÉÀº µÎ°¡Áö. ÇÑ°¡Áö´Â ÀÔ·ÂµÈ ÇѱÛÀÇ Äڵ带 °¡Áö°í ÆùÆ® È­ÀÏ¿¡¼­ ÇØ´ç ÆùÆ®¸¸À» Àоî¿À´Â °Í. 
    ÀÌ´Â ¿Ï¼ºÇü ÇÑ±Û ÄÚµå Å×À̺í°ú ¿Ï¼ºÇü ÆùÆ® È­ÀÏ¿¡ ´ëÇØ ÃæºÐÈ÷ ÀÌÇØÇÏ°í  ÀÖ¾î¾ß ÇÔ.
    ÀÌ¿¡ °üÇÑ ÀÚ·á´Â xedu/memo/z00015ÀÇ "0-4. 2¹ÙÀÌÆ® ¿Ï¼ºÇü ÇѱÛ(KS¿Ï¼ºÇü)"°ú
    ¿Ï¼ºÇü ÄÚµå Å×À̺íÀ» Àß º¸½Ã¸é ½±°Ô ÀÌÇØÇÏ½Ç °ÍÀÓ.
    KS C5601 ÄÚµå Å×À̺íÀ» º¸½Ã¸é 0xb0´Â "°¡"ÀÇ Ã¹ ¹ÙÀÌÆ® Äڵ尪ÀÌ°í 0xa1Àº µÎ¹ø° ¹ÙÀÌÆ®ÀÇ
    ÄÚµå °ªÀÓÀ» ¾Ë ¼ö ÀÖ´Ù.
  * ¶Ç ÇÑ°¡Áö´Â ÀÐ¾î ¿Â bitmap ÆùÆ® È­ÀÏÀ» È­¸é¿¡ ¾î¶»°Ô ºñÆ® ´ÜÀ§ÀÇ Ç¥½Ã¸¦ ÇÒ °ÍÀΰ¡ ÇÏ´Â Á¡.
    ±èÁ¤¹Î DL°¡ ÀÛ¼ºÇÑ showbitmap.c¸¦ ÂüÁ¶ÇÏ½Ç °Í.
    ÀÌ È­ÀÏÀº ¼±ÅÃµÈ È­ÀÏÀÇ ¸ðµç ÆùÆ®¸¦ º¸¿©ÁÖ°Ô µÇ ÀÖÀ½À» ÁÖÀÇ.
  * Âü°í ÀÚ·á: xedu/memo/z00015ÀÇ font size °ü·Ã ºÎºÐ.
               ÀÔ¹® X Window System(Áö»ê»ç) - "60Àý. bitmapÀ» ¸¸µé±â À§Çؼ­´Â?"
  * ÇØ´ç È­ÀÏ: xedu/hw/hw2/hw2.c

3.°úÁ¦ 3
  * #ifdef¸¦ »ç¿ëÇÏ¸é  ¼­·Î ´Þ¸® ÄÄÆÄÀÏÇØ¾ß ÇÏ´Â ¸ðµâÀ» µ¿ÀÏ È­ÀÏ¿¡ °¡Áú ¼ö ÀÖ´Ù.
    À̸¦  Makefile¿¡¼­ÀÇ DEFINE°ª¿¡ µû¶ó Á¶°ÇÀûÀ¸·Î ÄÄÆÄÀÏ ÇÑ´Ù.
  * Âü°í ÀÚ·á: ÀÔ¹® X Window System(Áö»ê»ç)
    ÀÌ Ã¥Àº ´ÙÀ½ÀÇ °úÁ¦ Àü¹ÝÀ» °ÅÃÄ ¿·¿¡ ³õ°í º¸½Ã±â ¹Ù¶÷. Á¤¸» Á¤¸®°¡ Àß µÇ ÀÖÀ½.
  * ÇØ´ç È­ÀÏ: xedu/hw/hw3/hw3.c

4.°úÁ¦ 4
  * Xlib¿Í XtÀÇ Á¶ÇÕÀ» ¾î¶»°Ô ÇÒ °ÍÀΰ¡°¡ ù ¹®Á¦·Î µîÀå.
    ½ÇÁ¦ Xt¸¦ °¡Áö°í ÇÁ·Î±×·¥ÇÑ´Ù°í ÇÏÁö¸¸ ÀÌ´Â ¾îµð±îÁö³ª WidgetµéÀ» °£ÆíÇÏ°Ô
    createÇÑ´Ù´Â ÀǹÌÀÌÁö Widget°£ÀÇ link¿Í ApplicationÀÇ ³»¿ëÀ» Á¦¾îÇÏ´Â °ÍÀº 
    »ó´ç ºÎºÐ Xlib·Î coding µÈ´Ù.
  * °¢ WidgetÀº ¾î¶»°Ô ±â´ÉÇÏ´Â °ÍÀΰ¡. ¶Ç ¾î¶² WidgetÀ» »ç¿ëÇÒ °ÍÀΰ¡°¡
    °¡Àå Å©°Ô °í¹ÎµÉ °Í. ÀÌ°Í Àú°Í »ç¿ëÇØ º¸½Ã±æ.
  * Athena WidgetÀº ¸Å¿ì Ãʺ¸ÀûÀÎ, demo¿ëÀ¸·Î ¹ßÇ¥µÈ °ÍÀ¸·Î ´Ü¼øÇÒ °ÍÀÓ.
  * event handler¿Í call back¿¡ ´ëÇØ ÃæºÐÈ÷ ÀÌÇØ ÇϽñæ.
    ±×·¯¸é "quit" button »Ó¸¸ ¾Æ´Ï¶ó ÇÑ À©µµ¿ì ³»¿¡ ¿©·¯°³ÀÇ buttonÀ» ¸¸µé¾î
    ´Þ°í ÀÌ buttonÀÌ ´­·ÁÁ³À» ¶§ÀÇ ±â´ÉÀ» ÀÚÀ¯·Ó°Ô Á¤ÀÇÇØ »ç¿ëÇÒ ¼ö ÀÖÀ½.
  * ÇØ´ç È­ÀÏ: xedu/hw/hw4/hw4.c

5.°úÁ¦ 5
  * Æ÷ÀÎÅÍ¿Í ±¸Á¶Ã¼¿¡ ´ëÇÑ ÁÁÀº ¿¹Á¦°¡ µÉ °Í.
  * ÄÄÆÄÀÏ ÈÄ È­ÀÏÀ» ½ÇÇà½ÃÄ×À» ¶§  ¹ß»ýÇÏ´Â Segmentation fault³ª
    SEGV error( Segmentation Violation Error)´Â ÇÁ·Î±×·¥¿¡¼­  Æ÷ÀÎÅ͸¦ Àß ¸ø »ç¿ëÇÏ¿© 
    ¸Þ¸ð¸®¿¡ ¿Ã¶ó¿Í ÀÖ´Â ½Ã½ºÅÛ °ü·Ã ÄÚµåÀÇ ¾îµå·¹½º¸¦ ÄÝÇÏ´Â °æ¿ì. 
    ÄÄÆÄÀÏ ¿¡·¯°¡ ¾ø´Â °æ¿ìÀ̹ǷΠ Æ÷ÀÎÅÍ °ü·Ã º¯¼öµéÀ» üũÇØ º¸½Ã¶ó.
  * xdbx,adb¸¦ °£´ÜÇÏ°Ô³ª¸¶ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸é °£´ÜÇÏ°Ô ¹®Á¦µÇ´Â ºÎºÐÀ» ã°Ô µÊ.
    À§¿Í °°Àº runtime error¸¦ ã¾Æ ³»±â À§Çؼ­´Â debugging toolµéÀ» Àß »ç¿ëÇÒ ÁÙ ¾Ë¾Æ¾ß ÇÔ.
  * ÇØ´ç È­ÀÏ: xedu/hw/hw3/hw3.1.c, xedu/hw/hw4/hw4.1.c

6.°úÁ¦ 6
  * ¿©·¯ Window Manager°¡ »ç¿ëÇÏ´Â resouce fileµé(/usr/lib/X11/app-defaults¹ØÀÇ resource È­Àϵé), 
    /usr/lib/X11/xdmÀÇ XresourcesÈ­ÀÏ µî XÀÇ Customizing¿¡ °ü½ÉÀÌ ÀÖ¾ú´ø °æ¿ì¶ó¸é ±× Àǹ̵éÀÇ
    ÀÌÇØ¿¡ À¯¿ëÇÑ °æ¿ì.
  * 'mechanism, not polocy'¶ó´Â ¿øÄ¢¿¡ Ãæ½ÇÇÑ ¿¹. ¸¹Àº ºÎºÐÀ» »ç¿ëÀÚ Á¤ÀÇ ¿µ¿ªÀ¸·Î ³²°Ü µÐ °Í. 
  * class¿Í instanceÀÇ °³³äÀ» ±×¸®°í class À̸§°ú instance À̸§ÀÇ naming schemeÀ» ÀÌÇØÇϽñæ.
  * XtInitialize(nstance, class, ...)¿Í  XtCreateManagedWidget(instance, class, widget, ..)ÀÇ 
    intstance¿Í class¸¦ Àß È®ÀÎÇϽöó.
  * ÇØ´ç È­ÀÏ: xedu/hw/hw3/Hw5
    - ÀÌ È­ÀÏÀ» ȯ°æº¯¼ö XENVIRONMENT¿¡ settingÇÏ´øÁö home directory¹ØÀ¸·Î °¡Á®´Ù ³õ¾Æ¾ß ÇÑ´Ù.

7.°úÁ¦ 7
  * ¿©±â¼­µµ °¢ WidgetÀº ¾î¶»°Ô ±â´ÉÇÏ´Â °ÍÀΰ¡. ¶Ç ¾î¶² WidgetÀ» »ç¿ëÇÒ °ÍÀΰ¡°¡ ¹®Á¦.
    ÂüÁ¶ È­ÀÏÀÇ smapler¿Í ±× source´Â ÀÌ ¹®Á¦¸¦ ´Ù¼Ò ÇؼÒÇØ ÁÜ.
    °ü·Ã ¸Å´º¾óÀÌ Ãʺ¸ÀÚ¿¡°Ô´Â ½ÅÅëÄ¡ ¾ÊÀ½.
  * ÇØ´ç È­ÀÏ: xedu/hw/hw5/hw5.c

8.°úÁ¦ 8
  * ¾ÆÁÖ °£´ÜÇÑ modify·Î ÇØ°áµÉ °Í.
  * ÇØ´ç È­ÀÏ: xedu/hw/hw6/hw6.c

9.°úÁ¦ 9
  * ¿ì¼± sample.cÀÇ automata°ü·Ã ºÎºÐÀ» ¸íÈ®È÷ ÀÌÇØÇϽñæ.
    ±èÁ¤¹ÎDLÀÇ automata´Â °³³äÀ» Àâ´Âµ¥ È°¿ëÇϽðí,ÀÌ automata´Â  libhangl.aÀÇ automata¸¦
    ÀÌÇØÇϱ⠽±°Ô modifyÇÑ °ÍÀÓ.
  * ÇØ´ç È­ÀÏ: xedu/hw/hw8/hw8.c

10.°úÁ¦ 10
  * ÀÌ ´Ü°è¸¦ Áö³ª¸é X ClientµéÀÇ Å° ÀÔ·Â ¸ðµâµéÀ» ã¾Æ ´Ù´Ï¸é¼­ ÇÑ±Û automata·Î ¹Ù²Ù¾î ÁÙ ¼ö
    ÀÖ°í ÀÌ°ÍÀÌ ¹Ù·Î X ÇѱÛÈ­ÀÓ.
  * ÇØ´ç È­ÀÏ: xedu/hw/hw9/hw9.c





Revision History
Created               		on June 25.1992.