Welcome to 1009's Unix Page Unix Á¤º¸ TclTk 1009's_work Qt °³¹ßÀÚ Á¤º¸
vim¿¡¼­ ÅÇÁöÁ¤ ¹× ÀÚµ¿Á¤·Ä
Unix Á¤º¸ 2000³â 07¿ù 11ÀÏ 12½Ã 09ºÐ

> vi ¿¡µðÅÍ¿¡¼­ tab۰¡ 8Ä­À¸·Î µÇÀ־ 4Ä­À¸·Î ¹Ù²Ù°í ½ÍÀºµ¥

»ç¿ëÇϽô °Ô ¾Æ¸¶ VIMÀϰ̴ϴÙ. .vimrc ÆÄÀÏ¿¡ ´ÙÀ½ ¶óÀÎÀ» Ãß°¡ÇÏ¸é µË´Ï´Ù.

set ts=4
vi¿¡¼­ :set ts=4 ¶ó°í Ä¡¸é ¹Ù·Î ¹Ù²Ü¼öµµ ÀÖ°í, C ¼Ò½º¶ó¸é ´ÙÀ½°ú °°Àº ÁÖ¼®À¸·Îµµ ÁöÁ¤ÀÌ °¡´ÉÇÕ´Ï´Ù.
/* vi:set ts=4 */
ts´Â tabstop ¾àÀÚÀÌ´Ï tabstopÀ» ½áµµ ¹«¹æÇÕ´Ï´Ù...
:help set

"====================================
" for C autoindenting
"
set cindent
set cino=t0:2=4(0
set expandtab
set shiftwidth=4
"====================================
À§ ³»¿ëÀº Á¦°¡ C ÇÁ·Î±×·¥½Ã »ç¿ëÇÏ´Â ÀÚµ¿Á¤·Ä ¼³Á¤ÀÔ´Ï´Ù. .vimrc¿¡ Ãß°¡ÇØÁÖ¸é µË´Ï´Ù.

cindent´Â C ¼Ò½º¿¡ ´ëÇØ ÀÚµ¿Á¤·Ä ±â´ÉÀ» »ç¿ëÇÑ´Ù´Â °ÍÀ̰í, expandtabÀº ÅÇÀ» ¸ðµÎ °ø¹é¹®ÀÚµé·Î ¹Ù²ãÁÖ´Â ±â´ÉÀ̰í, shiftwidth´Â ÀÚµ¿Á¤·Ä½Ã indentingµÇ´Â ¹®ÀÚ°¹¼öÀÔ´Ï´Ù. cino´Â º¹ÀâÇØ¼­ Àúµµ Àß »ý°¢¾È³ªÁö¸¸,

  • t0´Â ÇÔ¼öÁ¤Àǽà ¸®ÅÏŸÀÔÀ» ´Ù¸¥¶óÀο¡ ½èÀ»¶§ Àε§ÆÃ ÇÏÁö ¸»¶ó´Â °ÍÀ̰í,
  • :2´Â case¹®ÀÇ Àε§ÆÃ ¹®ÀÚ¿­¼ö°í,
  • =4´Â case¹® ´ÙÀ½ ¶óÀÎÀÇ Àε§ÆÃ ¹®ÀÚ¿­¼ö°í,
  • (0Àº ´ÝÈ÷Áö ¾ÊÀº °ýÈ£¿¡ ´ëÇØ ´ÙÀ½ ¶óÀο¡¼­ ¾î¶»°Ô Àε§ÆÃÇÒÁö¸¦ °áÁ¤ÇÕ´Ï´Ù.

    ²Ï º¹ÀâÇÏ´Ï vim¿¡¼­ ´ÙÀ½À» Âü°íÇϼ¼¿ä.

    :help cinoptions-values
    

    ÀÚ¼¼È÷º¸±â...

    xterm¿¡ Ä®¶ó Ãâ·Â (1999³â 4¿ù 6ÀÏ)
    Unix Á¤º¸ 2000³â 06¿ù 29ÀÏ 13½Ã 18ºÐ

    color xtermÀ̳ª hanterm¿¡¼­ Ä®¶ó·Î Ãâ·ÂÇÒ¼ö ÀÖ´Â ¸ÞÅ©·Î ÇÔ¼öµéÀÌ´Ù. ¹Ø¿¡ ÀÖ´Â ¼Ò½ºÈ­ÀÏÀ» ÀúÀåÇØ¼­ »ç¿ëÇØ¾ß ÆíÇÏ´Ù. ¸¸ÀÏ Á÷Á¢ ÀÔ·ÂÇÏ°í ½ÍÀ¸¸é ^[´Â µÎ ±ÛÀÚ·Î ÀÔ·ÂÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó Escape Äڵ带 ÀÔ·ÂÇØ¾ß ÇÑ´Ù. viÀÇ °æ¿ì Ctrl-V¸¦ ´©¸¥ÈÄ Esc¸¦ ´©¸£¸é µÈ´Ù. »ç¿ë¹æ¹ýÀº µû·Î ¼³¸íÇÏÁö ¾Ê°Ú°í, ¸ÕÀú xterm¿¡¼­ Ä®¶ó°¡ Ãâ·ÂµÇ´ÂÁö È®ÀÎÇϰí (ls --color³ª mc µîÀ¸·Î) »ç¿ëÇϱæ...

    #ifndef _COLOR_H_
    #define _COLOR_H_
    
    /* ¸¶¿ì½º·Î ±Ü¾î¼­ Ä«ÇÇÇÏ½Ã¸é ¾ÈµË´Ï´Ù!!! */
    
    #define color_normal()          printf("^[[0m")
    #define color_red()             printf("^[[31m")
    #define color_green()           printf("^[[32m")
    #define color_yellow()          printf("^[[33m")
    #define color_blue()            printf("^[[34m")
    #define color_purple()          printf("^[[35m")
    #define color_cyan()            printf("^[[36m")
    #define color_grey()            printf("^[[37m")
    #define color_white()           printf("^[[38m")
    
    #endif /* _COLOR_H_ */
    

    ÇÁ·Î±×·¥ ¼Ò½º: color.h
    ÀÚ¼¼È÷º¸±â...

    #define ÀÌ·±°Åµµ ÀÖ¾î¿ä~ (1999³â 4¿ù 3ÀÏ)
    Unix Á¤º¸ 2000³â 06¿ù 29ÀÏ 13½Ã 17ºÐ

    C¿¡¼­ ¸ÞÅ©·Î¹®(#define)À¸·Î constant µîÀ» Á¤ÀÇÇØ¼­ »ç¿ëÇÏ¸é ÆÇµ¶¼ºÀ» ³ôÀϼö ÀÖ°í, ³ªÁß¿¡ ÇÁ·Î±×·¥À» º¯°æÇϰųª ¾÷µ¥ÀÌÆ®ÇÒ¶§ ¸¹Àº µµ¿òÀÌ µÈ´Ù. ¶Ç #define ¹®À» »ç¿ëÇØ¼­ ÇÔ¼ö¸¦ Á¤ÀÇÇÒ¼ö ÀÖ´Ù´Â °Ç ¸¹ÀÌ ¾Ë°í ÀÖÀ¸¸®¶ó »ý°¢µÈ´Ù. ±×¸®°í ¸ÞÅ©·ÎÀÇ Æ¯¼º»ó º¸Åë ÇÔ¼ö¸¦ Á¤ÀÇÇÏ´Â °Í°ú ´Þ¸® ÇÁ·Î±×·¥ ¼Ò½º »ó¿¡ °°Àº ¿ÀºêÁ§Æ®Äڵ带 »ðÀÔÇϱ⠶§¹®¿¡ ¼Óµµ¸¦ ¿äÇÏ´Â ÇÁ·Î±×·¥¿¡¼­´Â ¸ÞÅ©·Î¸¦ ÀÌ¿ëÇÏ´Â °Åµµ »ý°¢ÇØ º¼¼ö ÀÖ´Ù. (inline ÇÔ¼ö¸¦ »ç¿ëÇϴ°͵µ ÁÁ°ÚÁö¸¸...) ¶Ç ¿ÀºêÁ§Æ®Äڵ尡 µû·Î µé¾î°¡±â ¶§¹®¿¡, ¾îµð¼­ ¸ÞÅ©·ÎÇÔ¼ö¸¦ ºÒ·¶´ÂÁö __FUNCTION__ µîÀ» üũÇÏ¸é ¾Ë¼ö ÀÖ´Ù.

    ÀÌÁ¦ Àß ¾Ë·ÁÁöÁö ¾ÊÀº(?) ±â´ÉÀ» ¾Ë¾Æº¸ÀÚ! ÇϳªÀÇ intÇü º¯¼ö¸¦ Ãâ·ÂÇÏ·Á°í ÇÑ´Ù¸é,

    #define PRINT_INT(a) printf(#a " = %d\n",a)
    
    ÀÌ·¸°Ô Á¤ÀÇÇϰí,
    int i=5, j=3;
    
    PRINT_INT(i);
    PRINT_INT(j);
    
    À§¿Í°°ÀÌ ¸ÞÅ©·Î ÇÔ¼ö¸¦ ºÎ¸£¸é, °á°ú´Â
    i = 5
    j = 3
    
    °¡ ³ª¿Â´Ù. Áï, #º¯¼ö´Â º¯¼ö¸¦ µû¿ÈÇ¥·Î ¹­¾îÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù. Àß ÀÀ¿ëÇÏ¸é ÆíÇÏ´Ù^^. gcc¿¡¼­´Â Å×½ºÇغ» °á°ú "#a = %d\n" ÇüÅ·ΠÁ൵ Á¦´ë·Î 󸮸¦ Çϴµ¥ ÀÌ°Ç Ç¥ÁØ C¿¡¼­ µÇ´ÂÁö´Â ¸ð¸£°Ú´Ù. ´Ù¸¥ ÄÄÆÄÀÏ·¯¿¡¼­´Â Å×½ºÆ®¸¦ ¸øÇß´Ù.

    ¶Ç ÇѰ¡Áö À¯¿ëÇÑ ±â´ÉÀÌ Àִµ¥, concat±â´ÉÀÌ´Ù. ¹Ýº¹ÀÌ ¸¹Àº ¼±¾ð ºÎºÐ¿¡ »ç¿ëÇÏ¸é ÆíÇÏ´Ù. ÇÏÁö¸¸ ³Ê¹« ¸¹ÀÌ »ç¿ëÇÏ¸é ÆÇµ¶¼ºÀÌ ¶³¾îÁú¼ö ÀÖ´Ù. ÇÊÀÚÀÇ °æ¿ì Á¦ÇÑµÈ ºÎºÐ³»¿¡¼­¸¸ »ç¿ëÇÏ°í »ç¿ëÀÌ ³¡³ª¸é Áï½Ã #undef ÇØÁØ´Ù. ÀûÀýÇÑ ¿¹Á¦´Â ¾Æ´ÏÁö¸¸...
    #define CONCAT(a,b)  a##b
    
    int ij=7;
    PRINT_INT(CONCAT(i,j));
    
    ¾î¶² °ªÀÌ ³ª¿ÃÁö »ó»óÇØº¸ÀÚ~

    ÇÁ·Î±×·¥ ¼Ò½º: define.c
    ÀÚ¼¼È÷º¸±â...

    GNU make¿Í Berkeley's Parallel make (1999³â 4¿ù 1ÀÏ)
    Unix Á¤º¸ 2000³â 06¿ù 29ÀÏ 13½Ã 17ºÐ

    make È­ÀÏÀº °£´ÜÇÏ°Ô ÇÒ¼ö·Ï ÁÁ´Ù´Â »ý°¢À» °®°í ÀÖ±ä ÇÏÁö¸¸, cross platform À» »ý°¢Çؼ­ ±×·±Áö ¾ÆÁÖ º¹ÀâÇÑ makefileÀ» ÀÚÁÖ Á¢ÇÏ°Ô µÈ´Ù. ¿äÁò Ãß¼¼´Â GNU autoconf¸¦ ÀÌ¿ëÇØ¼­ ½±°Ô ½Ã½ºÅÛ Á¤º¸¸¦ ºÐ¼®ÇÑ ÈÄ MakefileÀ» ¸¸µé¾îÁÖµµ·Ï ÇÏ´Â °æ¿ì°¡ ¸¹Áö¸¸ ±×·¸Áö ¾ÊÀº °æ¿ìµµ ¸¹´Ù.
    GNU make¸¦ »ç¿ëÇÏ¸é ´ëºÎºÐ ¹®Á¦¾øÀÌ ÄÄÆÄÀÏÀÌ °¡´ÉÇÏÁö¸¸, BSD ÇÁ·Î±×·¥Àº GNU make¿Í ȣȯµÇÁö ¾Ê´Â µ¶ÀÚÀûÀÎ MakefileÀ» »ç¿ëÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. ƯÈ÷ FreeBSDÀÇ MakefileÀº GNU make·Î´Â ÄÄÆÄÀÏÀÌ ¾ÈµÈ´Ù. ¶Ç, FreeBSD¿¡¼­´Â GNU MakefileÀ» ÄÄÆÄÀÏ ¸øÇÏ´Â °æ¿ìµµ »ý±ä´Ù. ÀÌ·² °æ¿ì¸¦ À§Çؼ­ Linux¿Í FreeBSD¿¡´Â GNU make¿Í Berkeley's Parallel make µÑ´Ù ÀνºÅçÇØµÎ´Â °ÍÀÌ ÁÁ´Ù. Linux¿¡¼­´Â pmake ¸¦ ÀνºÅç ÇØÁÖ¸é µÇ°í, FreeBSD¿¡¼­´Â gmake¸¦ ÀνºÅçÇÏ¸é µÈ´Ù.
    GNU make Berkeley's Parallel make
    Linux make (default) pmake
    FreeBSD gmake make (default)

    ¸¹Àº ÇÁ·Î±×·¥µéÀÌ GNU make¸¦ »ç¿ëÇÏÁö¸¸ pmake°¡ ±â´É»ó Å« Â÷À̰¡ Àִ°ÍÀº ¾Æ´Ï´Ù. ¸¸ÀÏ Makefile¹®Á¦·Î ÄÄÆÄÀÏÀÌ ¾ÈµÈ´Ù¸é ´Ù¸¥ make¸¦ »ç¿ëÇØº¸¸é ¹®Á¦°¡ ½±°Ô ÇØ°áµÉ¼öµµ ÀÖ´Ù.
    ÇÊÀÚ´Â ÁÖ·Î FreeBSDÀÇ ¼Ò½º¸¦ Linux¿¡¼­ ÄÄÆÄÀÏÇÒ¶§ À¯¿ëÇÏ°Ô pmake¸¦ »ç¿ëÇϰí ÀÖ´Ù.
    ÀÚ¼¼È÷º¸±â...

    C ¼Ò½º ¿¹»Ú°Ô º¸±â (1999³â 3¿ù 21ÀÏ)
    Unix Á¤º¸ 2000³â 06¿ù 29ÀÏ 13½Ã 16ºÐ

    ¿©±â¼­´Â C ¼Ò½º Äڵ带 ¿¹»Ú°Ô º¸´Â ¹æ¹ýÀ» ÆíÁý½Ã, ÇÁ¸°Æ®ÇÒ¶§, À¥»ó¿¡ publishÇÒ¶§ ¾Ë¾Æº»´Ù.

  • ÆíÁýÇÒ¶§
    ÆíÁýÇÒ¶§ syntax highlightingÀÌ µÇ¸é º¸±âµµ ÁÁ°í Àд ÆÇµ¶¼ºÀ» ³ôÀϼö ÀÖ´Ù. ÀÌ·¯ÇÑ ±â´ÉÀ» Áö¿øÇÏ´Â ÇÁ·Î±×·¥Àº ¿äÁòÀº ÀǿܷΠ¸¹´Ù. emacs, xfte, vim, xwpeÀÇ ¿¡µðÅÍ, gIDEµîÀÇ ÅëÇÕȯ°æ¿¡¼­µµ syntax highlighting ±â´ÉÀ» Áö¿øÇÑ´Ù. ¶Ç, À§¿¡¼­ ¾ð±ÞÇÑ ´ëºÎºÐÀÇ ¿¡µðÅ͵éÀÌ auto indentingÀ» Áö¿øÇÑ´Ù. (ÇÑÁÙÇÑÁÙ ÀÔ·ÂÇÒ¶§µµ µÇ°í, Àüü ¼Ò½º¸¦ Æ÷¸äÆÃÇÏ´Â °Åµµ °¡´ÉÇÏ´Ù. ÇÏÁö¸¸ Àüü¸¦ ÇÒ °æ¿ì ¿øÇÏÁö ¾Ê´Â °á°ú¸¦ ¾ò´Â °æ¿ì°¡ ¸¹´Ù.) vim, emacs, xfte´Â C ¾ð¾î ÀÌ¿ÜÀÇ ¾ð¾î¿¡ ´ëÇÑ syntax hilightingÀ» Áö¿øÇÑ´Ù. vim°ú emacs¿¡¼­´Â ÇѱÛÀ» »ç¿ëÇÒ¼ö ÀÖ´Ù.
  • ÇÁ¸°Æ®ÇÒ¶§
    ÇÁ¸°Æ®ÇÒ¶§ ¿¹»Ú°Ô »Ì¾ÆÁÖ´Â ÇÁ·Î±×·¥µµ ¿©·¯°³ ÀÖ´Â µí ÇÏÁö¸¸, ÇÊÀÚ°¡ »ç¿ëÇØ º»°ÍÀº a2ps »ÓÀÌ´Ù. a2ps¸¦ ¾²¸é¼­ ºÒÆíÇÒ Á¡À̳ª Áö¿øÇÏÁö ¾Ê´Â ±â´ÉÀÌ °ÅÀÇ ¾ø¾î¼­ (ÇѱÛÀÌ ¾ÈµÈ´Ù´Â °Å »©°í) ´Ù¸¥°É ½áº¼ ±âȸ°¡ ¾ø¾ú´Ù. ÇѱÛÀÌ ÆÐÄ¡µÈ ¹öÁ¯µµ Àִµ¥ ¿äÁòÀº »ç¿ëÀ» ¾ÈÇØ¼­ ±â¾ïÀÌ °¡¹°°¡¹°... ¾Æ·¡ À¥¿¡ ¿Ã¸° ³»¿ëÀ» Browser¿¡¼­ Ãâ·ÂÇÏ´Â ¹æ¹ýµµ ÀÖ´Ù. ¹°·Ð Ä®¶ó ÇÁ¸°ÅÍ¿¡¼­´Â Ä®¶ó·Î~
  • À¥¿¡ ¿Ã¸±¶§
    c2htmlÀ̶õ ÇÁ·Î±×·¥ÀÌ ÀÖÀ¸¸ç, c¼Ò½º È­ÀÏÀ» html·Î ¹Ù²ãÁØ´Ù. syntax hilightingÀÌ µÇ¸ç, ÆùÆ®µµ ¹Ù²ï´Ù. ÃֽŠc2html¿¡ º¸¸é Apache¿¡ Type µî·ÏÀ» ÇØ¼­ c È­ÀÏÀÌ¸é ¿¹»Ú°Ô ¹Ù²ã¼­ html·Î »Ñ·ÁÁÖ´Â ±â´É¿¡ ´ëÇØ ¼³¸íµÇ¾î ÀÖ´Ù. ^^ sunsite¿¡ °¡¸é ¼Ò½º¸¦ ±¸ÇÒ¼ö ÀÖÀ¸¸ç, ȨÆäÀÌÁö´Â ¾ø´ÂµíÇÏ´Ù. pascal, java¿ëµµ ÀÖ´Ù.

  • ÀÚ¼¼È÷º¸±â...

    ÅëÇÕ È¯°æÀ¸·Î¼­ÀÇ vim (1999³â 3¿ù 17ÀÏ)
    Unix Á¤º¸ 2000³â 06¿ù 29ÀÏ 13½Ã 15ºÐ

    »ç½Ç vi´Â ÅëÇÕ È¯°æ°ú´Â °Å¸®°¡ ¸Ö´Ù. ¿©±â¼­ ¼Ò°³ÇÏ´Â ³»¿ëÀº Á¤È®ÇÑ Àǹ̿¡¼­ ÅëÇÕ È¯°æÀ̶ó°í Çϱâ´Â ÈûµéµíÇÏ´Ù. ÇÏÁö¸¸, vimÀ» ºüÁ®³ª¿ÀÁö ¾Ê°í, make¿Í ¿¡·¯(¹®¹ý»óÀÇ ¿À·ù)¸¦ °íÄ¡´Â Á¤µµ´Â ÇÒ¼ö ÀÖ´Ù. ¸ÕÀú MakefileÀº Á¦´ë·Î ¸¸µé¾îÁ® ÀÖ´Ù°í °¡Á¤Çϸé:
    :make [ÀÎÀÚ]

    À§¿Í °°ÀÌ make¸¦ ½©»ó¿¡¼­¿Í µ¿ÀÏÇÏ°Ô ºÎ¸¦¼ö ÀÖ´Ù. ÄÄÆÄÀÏ µµÁß ¿¡·¯°¡ ¹ß»ýÇÑ´Ù¸é, ¿¡·¯°¡ ¹ß»ýÇÑ À§Ä¡·Î ÀÚµ¿ÀûÀ¸·Î À̵¿µÈ´Ù.
    ¸í·É ±â´É
    :cc ¿¡·¯¸¦ È­¸é¿¡ Ç¥½Ã
    :cn[ext] ´ÙÀ½ ¿¡·¯·Î À̵¿
    :cp[revious] ÀÌÀü ¿¡·¯·Î À̵¿
    :cl[ist] ¸ðµç ¿¡·¯¸¦ È­¸é¿¡ Ç¥½Ã

    À§ÀÇ ¸í·ÉµéÀº grepÀ» »ç¿ëÇÑ ´ÙÀ½¿¡µµ ¶È°°ÀÌ Àû¿ëµÈ´Ù.
    :grep [ÀÎÀÚ]

    ÀÌ·¯ÇÑ È¯°æÀ» quickfix ¸ðµå¶ó Çϸç, edit-compile Áֱ⸦ ´ÜÃàÇϱâ À§Çؼ­ ¸¸µé¾ú´Ù°í ÇÑ´Ù. ÀÚ¼¼ÇÑ °ÍÀº:
    :help quickfix


    ÀÚ¼¼È÷º¸±â...

    vim°ú tag (1999³â 3¿ù 17ÀÏ)
    Unix Á¤º¸ 2000³â 06¿ù 29ÀÏ 13½Ã 14ºÐ

    tags È­ÀÏ »ý¼º ¹æ¹ýÀº ¾Æ·¡±ÛÀ» ÂüÁ¶Çϰí, vim¿¡¼­ tag¸¦ ÀÚÀ¯·Ó°Ô µû¶ó´Ù´Ï´Â ¹æ¹ý¸¸ ¼Ò°³ÇÑ´Ù. ( []¾ÈÀº »ý·«°¡´É )
    ¸í·É ±â´É
    Ctrl-] ÇöÀç Ä¿¼­ À§Ä¡¿¡ ÀÖ´Â ´Ü¾î¿¡ ´ëÇÑ ¿ì¼±¼øÀ§ tag·Î À̵¿
    Ctrl-T ½ºÅÿ¡ ÀúÀåµÈ ÀÌÀü tag À§Ä¡·Î À̵¿
    :ta[g] ÅÂ±× Å±׷ΠÀ̵¿. ¿©±â¼­ ű׸¦ Ä¥¶§ TabÀ» Ȱ¿ëÇÒ¼ö ÀÖ´Ù^^
    :tags ½ºÅÿ¡ ÀúÀåµÈ tagµéÀ» È­¸é¿¡ Ç¥½Ã

    ¿©±â±îÁö´Â ±âº» ±â´ÉÀ̸ç, °°Àº tag°¡ ¿©·¯ °³ ÀÖÀ» °æ¿ì(°°Àº À̸§ÀÇ ÇÔ¼ö°¡ ¿©·¯ È­ÀÏ¿¡ Àְųª, ¸ÖƼÇ÷¿Æû Áö¿ø µî)¿¡´Â ´ÙÀ½ ¸í·ÉµéÀ» ÀÌ¿ëÇÒ¼ö ÀÖ´Ù.
    ¸í·É ±â´É
    :ts[elect] [ű×] [ű×] ¶Ç´Â ÇöÀç Ä¿¼­ÀÇ tag¿¡ ÇØ´çÇÏ´Â ¸ðµç tag Ç¥½Ã
    :tn[ext] ´ÙÀ½ ű׷ΠÀ̵¿
    :tp[revious] ÀÌÀü ű׷ΠÀ̵¿
    :tags ½ºÅÿ¡ ÀúÀåµÈ tagµéÀ» È­¸é¿¡ Ç¥½Ã

    ÀÌ ¿Ü¿¡µµ ¿©·¯°¡Áö ±â´ÉÀÌ ¸¹Áö¸¸, ÀÚÁÖ »ç¿ëÇÏ´Â °ÍÀº À§¿¡ ´Ù ÀÖÀ¸¸®¶ó »ý°¢µÈ´Ù. ´õ ÇÊ¿äÇÑ ±â´ÉÀÌ ÀÖ´Ù¸é,
    :help tags

    ¿Í Exuberant ctags ȨÆäÀÌÁö¸¦ ÂüÁ¶ÇÏÀÚ.
    ÀÚ¼¼È÷º¸±â...

    __FILE__ , __FUNCTION__ , __LINE__ (1999³â 3¿ù 17ÀÏ)
    Unix Á¤º¸ 2000³â 06¿ù 29ÀÏ 13½Ã 12ºÐ

    ÀÌ°Ô ¾îµð¼­ Á¤ÀÇ µÈ°ÇÁö´Â Àß ¸ð¸£°ÚÁö¸¸ (ANSI? POSIX?) ¼öµ¿ µð¹ö±ë ÇÒ¶§ »ç¿ëÇÏ¸é ¾ÆÁÖ ÁÁ´Ù. ¿¹¸¦µé¾î ÇÁ·Î±×·¥ ½ÇÇà½Ã ¹®Á¦°¡ À־ exit() ÇÒ °æ¿ì, ´ÙÀ½°ú °°ÀÌ define¹®À» »ç¿ëÇØ EXITÀ» Á¤ÀÇÇØ ÀÌ¿ëÇϸé exitÇÒ¶§ ¾î´À À§Ä¡¿¡¼­ ³ª°¡´ÂÁö Á¤È®È÷ ¾Ë¼ö ÀÖ´Ù.

    #define EXIT(retval)  \
    	printf("Exiting from function %s() in %s:%d\n", \
    	__FUNCTION__, __FILE__, __LINE__); exit(retval)
    

    ÀÚ¼¼È÷º¸±â... (2 Àǰß)

    Á¦ ÇÁ·Î±×·¥ÀÌ ¾ó¸¶³ª µÇ´ÂÁö ¾Ë°í ½ÍÀºµ¥... (1999³â 3¿ù 16ÀÏ)
    Unix Á¤º¸ 2000³â 06¿ù 29ÀÏ 13½Ã 11ºÐ

    wc¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. (word countÀÇ ¾àÀÚ)

    % wc *.[ch]
         49      86     642 awgn.c
          4       9      80 awgn.h
         99     285    2503 awgnsim.c
        350     889    7485 gf.c
         40     106     744 gf.h
        534    1219   10081 poly.c
         44     119     861 poly.h
        275     705    6426 rs.c
          7      10      74 rs.h
       1402    3428   28896 total
    
    °¢ÁÙÀº ÇØ´ç ¼Ò½º È­ÀÏÀÇ ¶óÀμö, ´Ü¾î¼ö, È­ÀÏÅ©±â(byte) ¼øÀÌ°í ¸¶Áö¸· ÇàÀº ÃÑÇÕÀÌ´Ù.
    ÀÚ¼¼È÷º¸±â...

    ctags¸¦ ÀÌ¿ëÇÑ ¼Ò½º ºê¶ó¿ì¡ (1999³â 3¿ù 16ÀÏ)
    Unix Á¤º¸ 2000³â 06¿ù 29ÀÏ 13½Ã 11ºÐ

    ÇÁ·Î±×·¡¹ÖÇÏ´Ù°¡ ƯÁ¤ÇÑ ÇÔ¼ö¸¦ ã¾Æ°¡°í ½ÍÀ»¶§ ½¬¿î ¹æ¹ýÀ» ¼Ò°³ÇÑ´Ù. ±âº»ÀûÀÎ ±â´ÉÀ¸·Î º¼¼ö ÀÖÁö¸¸ Àß È°¿ëÇÏ´Â »ç¶÷Àº ±×¸® ¸¹Áö ¾ÊÀº µíÇÏ´Ù. ¾ÆÁÖ À¯¿ëÇÑ ±â´ÉÀ̹ǷΠ¹Ýµå½Ã ¾Ë¾ÆµÎ½Ã±æ... tags¸¦ Áö¿øÇÏ´Â ¿¡µðÅͷδ emacs, vim, xfteµîÀÌ ÀÖÀ¸¸ç »ç¿ë ¹æ¹ýÀº ¾ÆÁÖ °£´ÜÇÏ´Ù. ÇÊÀÚ°¡ »ç¿ëÇÏ´Â ¿¡µðÅͰ¡ vimÀ̹ǷΠvimÀ» ±âÁØÀ¸·Î ¼³¸íÇϰڴÙ. ¸ÕÀú cross indexingÀ» À§Çؼ­ tags (emacsÀÇ °æ¿ì etags)¶ó´Â È­ÀÏÀ» ¸¸µé¾î¾ßÇÑ´Ù. ÀÚ½ÅÀÇ ÇÁ·Î±×·¥ÀÌ ÇϳªÀÇ µð·ºÅ丮¿¡¸¸ ÀÖÀ»¶§´Â ÇÁ·Î±×·¥ µð·ºÅ丮·Î À̵¿ÇÑ ÈÄ:

    % ctags *.c *.cpp *.h
    ÀÌ·± ½ÄÀ¸·Î ¼Ò½º È­ÀÏÀ» ÁöÁ¤ÇØÁÖ¸é ¹Ù·Î tags¶ó´Â È­ÀÏÀÌ ÇöÀç µð·ºÅ丮¿¡ ¸¸µé¾îÁø´Ù. ÀÌÁ¦ ¸ðµç Áغñ°¡ ³¡³µ´Ù. vimÀ» ¶ç¿ì°í, À̵¿Çϱ⠿øÇÏ´Â ÇÔ¼ö³ª structure¿¡¼­ Ctrl-]¸¦ ´©¸£¸é ±× ÇÔ¼ö³ª struct Á¤ÀÇ·Î ¹Ù·Î À̵¿ÇÑ´Ù. ¸¸ÀÏ ÇöÀç È­ÀÏÀÌ °»½ÅµÇ¾ú°í, À̵¿ÇÏ´Â tag°¡ ÇöÀç È­ÀÏ¿¡ ¾øÀ¸¸é È­ÀÏÀ» ¸ÕÀú ÀúÀåÇϰí À̵¿ÇØ¾ß ÇÑ´Ù. ¾à°£ ºÒÆíÇϱ⵵ ÇÏÁö¸¸ ÀÌ·¸°Ô ¾ÈÇÏ¸é ¿Ô´Ù°¬´Ù ÇÏ´Ù º¸¸é Á¤½Å¾ø¾î Áø´Ù. (¿©·¯ È­ÀÏÀ» ÆíÁýÇÏ´Ùº¸¸é ÀúÀåÀ» Çß´ÂÁö Çò°¥¸®ÁÒ --;) xfteÀÇ °æ¿ì ½ÇÇàÇÒ¶§ tags È­ÀÏÀ» ÁöÁ¤ÇØÁÖ¾î¾ß ÇÑ´Ù:
    % xfte -Ttags
    ºÒÆíÇϽøé alias¸¦ °É¾îµÎ¸é ÆíÇÏ°Ô »ç¿ëÇÒ¼ö ÀÖ´Ù. emacsÀÇ °æ¿ì ctags ´ë½Å etags¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. Á¤¸®¸¦ ÇØº¸¸é,
    editor tagsÈ­ÀÏ ¸¸µé±â editor ½ÇÇà tag·Î À̵¿ ÀÌÀü tag·Î À̵¿
    vim ctags *.[ch] vim È­Àϸí Ctrl-] Ctrl-T
    xfte ctags *.[ch] xfte -Ttags È­Àϸí Ctrl-] Ctrl-[
    emacs etags *.[ch] emacs È­Àϸí M-. M-*

    ÀÚ¼¼È÷º¸±â...

    ÇÁ·Î±×·¥¿¡¼­ Math ÇÔ¼öµéÀ» »ç¿ëÇϴµ¥ ÄÄÆÄÀÏ(¸µÅ©)ÇÒ¶§ ÇÔ¼ö°¡ ¾ø´Ù°í ³ª¿Í¿ä (1999³â 3¿ù 16ÀÏ)
    Unix Á¤º¸ 2000³â 06¿ù 29ÀÏ 13½Ã 10ºÐ

    À¯´Ð½º¿¡¼­ ÇÁ·Î±×·¥ ½ÃÀÛÇϸ鼭 ´©±¸³ª ÇѹøÂë °æÇëÇÏ´Â ¹®Á¦Àε¥, ÄÄÆÄÀÏ(Á¤È®ÇϰԴ ¸µÅ©)ÇÒ¶§ -lm ¿É¼ÇÀ» ÁÖ¸é ÇØ°áµÈ´Ù. ¼öÇÐ ¶óÀ̺귯¸®¸¦ °°ÀÌ ¸µÅ©Ç϶ó´Â ¿É¼ÇÀÌ´Ù.

    % gcc main.c -lm
    

    ÀÚ¼¼È÷º¸±â...

    test¶ó´Â ½ÇÇà È­ÀÏÀ» ¸¸µé¾ú´Âµ¥ ÀÌ°Ô Á¦´ë·Î ÀÛµ¿À» ¾ÈÇØ¿ä. (1999³â 3¿ù 16ÀÏ)
    Unix Á¤º¸ 2000³â 06¿ù 29ÀÏ 13½Ã 07ºÐ

    ÀÌ ¹®Á¦¿¡ ºÎµúÈ÷´Â »ç¶÷µéÀ» »ý°¢º¸´Ù ²Ï ÀÚÁÖ º¸°ÔµÇ´Âµ¥... ÈÄÈÄ... À¯´Ð½º Ç¥ÁØ ÇÁ·Î±×·¥ Áß¿¡ test¶ó´Â ÇÁ·Î±×·¥ÀÌ À־ ÀÌ·± Çö»óÀÌ ¹ß»ýÇÑ´Ù. test¶ó´Â ÇÁ·Î±×·¥ÀÌ ´Ù¸¥ ³»¿ëÀÌ¶óµµ Ãâ·ÂÇÏ¸é ´Ù¸¥ ÇÁ·Î±×·¥ÀÎÁö ±Ý¹æ ´«Ä¡Ã§ÅÙµ¥, ¾Æ¹«·± Ãâ·Âµµ ¾øÀÌ Á¾·á°¡ µÇ¼­, test¶ó´Â ½Ç·¥ ÇÁ·Î±×·¥ÀÌ ¿Àµ¿ÀÛÀ» Çϴ°ɷΠ¾Ë±â ½±´Ù :> ÇØ°á ¹æ¹ýÀº ½ÇÇà È­ÀϸíÀ» ¹Ù²Ù¾î ÁÖ´ø°¡, ½ÇÇàÇÒ¶§ ´ÙÀ½°ú °°ÀÌ ÇöÀç µð·ºÅ丮¿¡ ÀÖ´Â È­ÀÏÀ» ½ÇÇàÇÏ´Â °É ¸í½ÃÇÏ¸é µÈ´Ù.

    % ./test
    
    ¶Ç ÇϳªÀÇ ¹æ¹ýÀ¸·Î shellÀÇ path¿¡ ÇöÀç µð·ºÅ丮¸¦ /usr/bin µð·ºÅ丮º¸´Ù ¾Õ À§Ä¡¿¡ µî·Ï½Ãų ¼ö ÀÖÁö¸¸ ÀÌ ¹æ¹ýÀº º¸¾È »óÀÇ ÀÌÀ¯·Î º°·Î ÁÁÀº ¹æ¹ýÀÌ ¾Æ´Ï´Ù.
    ÀÚ¼¼È÷º¸±â...

    man ÇÒ¶§ C ÇÔ¼ö¿¡ ´ëÇÑ manualÀÌ ¾È ³ª¿À°í ÀÌ»óÇÑ°Ô ³ª¿Í¿ä! (1999³â 3¿ù 16ÀÏ)
    Unix Á¤º¸ 2000³â 06¿ù 29ÀÏ 13½Ã 06ºÐ

    manÀº 9°¡Áö Á¾·ù Á¤µµÀÇ ¼½¼ÇÀ¸·Î ³ª´©¾îÁ® ÀÖ´Ù. Section 1Àº »ç¿ëÀÚ ¸í·É, Section 2´Â System call, Section 3´Â ÇÔ¼ö ·çƾÀÌ´Ù. Linux³ª FreeBSDµî¿¡¼­ printf¿¡ ´ëÇÑ ÇÔ¼ö ¸Þ´º¾óÀ» º¸·Á¸é,

    % man 3 printf
    
    Solaris¿¡¼­´Â,
    % man -s 3s printf
    
    ±×¸®°í ƯÁ¤ ÇÔ¼ö¸¦ Section 3¿¡¼­ ¸ø ãÀ¸¸é Section 2ÀÇ System callÀ» ÀǽÉÇØºÁ¶ó.
    ÀÚ¼¼È÷º¸±â...

    Tcl/Tk ÇÁ·Î±×·¡¹ÖÀÇ ¼¼°è·Î
    TclTk 2000³â 06¿ù 28ÀÏ 20½Ã 52ºÐ

    MOD4X¶ó´Â ÇÁ·Î±×·¥¿¡ °üÇØ¼­ ¼³¸íÇÏ·Á°í °ú ÇÐȸÁö¿¡ 94³â¿¡ ³½ ±ÛÀε¥, ÁÖ·Î Tcl/TK¿¡ ´ëÇØ¼­¸¸ ¼³¸íÇϰí ÀÖ½À´Ï´Ù.
    ÀÚ¼¼È÷º¸±â... (157 bytes)

    MOD4X ¸ðµâ À½¾Ç Ç÷¹À̾î
    1009's_work 2000³â 06¿ù 25ÀÏ 17½Ã 19ºÐ

    Tcl/Tk¸¦ ÀÌ¿ëÇØ¼­ 1994³â ¸¸µç ¸ðµâÀ½¾Ç Ç÷¹À̾îÀÔ´Ï´Ù. s3mod¶ó´Â ÅØ½ºÆ®¸ðµå ÇÁ·Î±×·¥¿¡ Tcl/Tk¸¦ ÀÎÅÍÆäÀ̽º¸¦ ÇØ¼­ ÇÐȸÀü½Ãȸ¶§ Àü½ÃÇß´ø ÀÛǰÀÔ´Ï´Ù.

    À̸§Àº ±× ´ç½Ã ÇÑâ À¯ÇàÇß´ø À©µµ¿ìÁî¿ë ÇÁ·Î±×·¥ÀÎ MOD4WIN¿¡¼­ µû¿Ô¾ú½À´Ï´Ù. ¿äÁòÀº ±â¾ïÇÒ »ç¶÷µµ º°·Î ¾øÀ»µí...
    ÀÚ¼¼È÷º¸±â... (349 bytes)

    Qt Programming (¸¶¼Ò99³â6¿ù)
    Qt 2000³â 06¿ù 25ÀÏ 16½Ã 56ºÐ

    99³â 6¿ù ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î Áö¿¡ ±â°íÇÑ ±ÛÀÔ´Ï´Ù. Qt´Â ¿¢½ºÀ©µµ¿ì »ó¿¡¼­ ½±°Ô »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ ¸¸µé¼ö ÀÖ´Â C++ ¶óÀ̺귯¸®ÀÔ´Ï´Ù.

    Qt ±âÃÊ ÇÁ·Î±×·¡¹Ö°ú Qt °ø°³Åøµé¿¡ ´ëÇØ¼­ ¼³¸íÇÕ´Ï´Ù.
    ´Ù¸¥ °÷À» ÅëÇØ¼­´Â ¹èÆ÷ÇÏÁö ¸»¾ÆÁÖ¼¼¿ä.
    ÀÚ¼¼È÷º¸±â... (108 bytes)

    À¯´Ð½ºÀÇ °³¹ßȯ°æ
    °³¹ßÀÚ Á¤º¸ 2000³â 06¿ù 25ÀÏ 16½Ã 24ºÐ

    À¯´Ð½ºÀÇ Ç¥ÁØ °³¹ß ȯ°æÀ» GNU ÅøµéÀ» Áß½ÉÀ¸·Î ¾Ë¾Æº¾´Ï´Ù.

    gcc ÄÄÆÄÀÏ·¯ »ç¿ë¹ý, ¶óÀ̺귯¸® ÀÛ¼º ¹æ¹ý, Make Åø »ç¿ë¹ý, µð¹ö°Å, ¹öÀü°ü¸®ÅøÀÎ CVS¿¡ ´ëÇØ¼­ °£·«È÷ ¼Ò°³ÇÑ ±ÛÀÔ´Ï´Ù.

    ÷ºÎÆÄÀÏÀº ¿øº» HTML ÆÄÀÏÀÔ´Ï´Ù.
    ÀÚ¼¼È÷º¸±â... (19498 bytes)

    °øÁö»çÇ×
    Linux, FreeBSD, Solaris µîÀÇ À¯´Ð½º ½Ã½ºÅÛ¿¡¼­ °³¹ßÇÑ ÇÁ·Î±×·¥°ú ÇÁ·Î±×·¡¹Ö ȯ°æ¿¡ ´ëÇÑ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.

    Qt 1.4x ÇÑ±ÛÆÐÄ¡´Â ÀÌÁ¦ ´õÀÌ»ó ¾÷µ¥ÀÌÆ®ÇÏÁö ¾ÊÀ¸¸ç Àü¿¡ °¡Áö°í ÀÖ´ø ¼Ò½º¿Í ·Î±×µîµµ ´Ù ¾ø¾îÁ³´ä´Ï´Ù. Ȥ½Ã³ª Á¦ ȨÆäÀÌÁö¿¡¼­ ¹ÞÀ¸½Å º¹»çº»ÀÌ ÀÖÀ¸½ÅºÐÀº ¿¬¶ô ºÎʵ叮°Ú½À´Ï´Ù.

    2000³â 6¿ù 26ÀÏ

    °¡º¼¸¸ÇѰ÷
    linux.sarang.net
    ¸®´ª½ºÇѱ۹®¼­ÇÁ·ÎÁ§Æ®

    [ home | post article | admin ]