![]() ![]() |
> vi ¿¡µðÅÍ¿¡¼ tab۰¡ 8ÄÀ¸·Î µÇÀÖ¾î¼ 4ÄÀ¸·Î ¹Ù²Ù°í ½ÍÀºµ¥ »ç¿ëÇϽô °Ô ¾Æ¸¶ VIMÀϰ̴ϴÙ. .vimrc ÆÄÀÏ¿¡ ´ÙÀ½ ¶óÀÎÀ» Ãß°¡ÇÏ¸é µË´Ï´Ù. set ts=4vi¿¡¼ :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´Â º¹ÀâÇØ¼ Àúµµ Àß »ý°¢¾È³ªÁö¸¸, ²Ï º¹ÀâÇÏ´Ï vim¿¡¼ ´ÙÀ½À» Âü°íÇϼ¼¿ä. :help cinoptions-values ÀÚ¼¼È÷º¸±â... 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 ÀÚ¼¼È÷º¸±â... 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 ÀÚ¼¼È÷º¸±â... 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¸¦ »ç¿ëÇÏÁö¸¸ pmake°¡ ±â´É»ó Å« Â÷À̰¡ Àִ°ÍÀº ¾Æ´Ï´Ù. ¸¸ÀÏ Makefile¹®Á¦·Î ÄÄÆÄÀÏÀÌ ¾ÈµÈ´Ù¸é ´Ù¸¥ make¸¦ »ç¿ëÇØº¸¸é ¹®Á¦°¡ ½±°Ô ÇØ°áµÉ¼öµµ ÀÖ´Ù. ÇÊÀÚ´Â ÁÖ·Î FreeBSDÀÇ ¼Ò½º¸¦ Linux¿¡¼ ÄÄÆÄÀÏÇÒ¶§ À¯¿ëÇÏ°Ô pmake¸¦ »ç¿ëÇϰí ÀÖ´Ù. ÀÚ¼¼È÷º¸±â... ¿©±â¼´Â 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¿ëµµ ÀÖ´Ù. ÀÚ¼¼È÷º¸±â... »ç½Ç vi´Â ÅëÇÕ È¯°æ°ú´Â °Å¸®°¡ ¸Ö´Ù. ¿©±â¼ ¼Ò°³ÇÏ´Â ³»¿ëÀº Á¤È®ÇÑ Àǹ̿¡¼ ÅëÇÕ È¯°æÀ̶ó°í Çϱâ´Â ÈûµéµíÇÏ´Ù. ÇÏÁö¸¸, vimÀ» ºüÁ®³ª¿ÀÁö ¾Ê°í, make¿Í ¿¡·¯(¹®¹ý»óÀÇ ¿À·ù)¸¦ °íÄ¡´Â Á¤µµ´Â ÇÒ¼ö ÀÖ´Ù. ¸ÕÀú MakefileÀº Á¦´ë·Î ¸¸µé¾îÁ® ÀÖ´Ù°í °¡Á¤Çϸé:
À§¿Í °°ÀÌ make¸¦ ½©»ó¿¡¼¿Í µ¿ÀÏÇÏ°Ô ºÎ¸¦¼ö ÀÖ´Ù. ÄÄÆÄÀÏ µµÁß ¿¡·¯°¡ ¹ß»ýÇÑ´Ù¸é, ¿¡·¯°¡ ¹ß»ýÇÑ À§Ä¡·Î ÀÚµ¿ÀûÀ¸·Î À̵¿µÈ´Ù.
À§ÀÇ ¸í·ÉµéÀº grepÀ» »ç¿ëÇÑ ´ÙÀ½¿¡µµ ¶È°°ÀÌ Àû¿ëµÈ´Ù.
ÀÌ·¯ÇÑ È¯°æÀ» quickfix ¸ðµå¶ó Çϸç, edit-compile Áֱ⸦ ´ÜÃàÇϱâ À§Çؼ ¸¸µé¾ú´Ù°í ÇÑ´Ù. ÀÚ¼¼ÇÑ °ÍÀº:
ÀÚ¼¼È÷º¸±â... tags ÈÀÏ »ý¼º ¹æ¹ýÀº ¾Æ·¡±ÛÀ» ÂüÁ¶Çϰí, vim¿¡¼ tag¸¦ ÀÚÀ¯·Ó°Ô µû¶ó´Ù´Ï´Â ¹æ¹ý¸¸ ¼Ò°³ÇÑ´Ù. ( []¾ÈÀº »ý·«°¡´É )
¿©±â±îÁö´Â ±âº» ±â´ÉÀ̸ç, °°Àº tag°¡ ¿©·¯ °³ ÀÖÀ» °æ¿ì(°°Àº À̸§ÀÇ ÇÔ¼ö°¡ ¿©·¯ ÈÀÏ¿¡ Àְųª, ¸ÖƼÇ÷¿Æû Áö¿ø µî)¿¡´Â ´ÙÀ½ ¸í·ÉµéÀ» ÀÌ¿ëÇÒ¼ö ÀÖ´Ù.
ÀÌ ¿Ü¿¡µµ ¿©·¯°¡Áö ±â´ÉÀÌ ¸¹Áö¸¸, ÀÚÁÖ »ç¿ëÇÏ´Â °ÍÀº À§¿¡ ´Ù ÀÖÀ¸¸®¶ó »ý°¢µÈ´Ù. ´õ ÇÊ¿äÇÑ ±â´ÉÀÌ ÀÖ´Ù¸é,
¿Í Exuberant ctags ȨÆäÀÌÁö¸¦ ÂüÁ¶ÇÏÀÚ. ÀÚ¼¼È÷º¸±â... ÀÌ°Ô ¾îµð¼ Á¤ÀÇ µÈ°ÇÁö´Â Àß ¸ð¸£°ÚÁö¸¸ (ANSI? POSIX?) ¼öµ¿ µð¹ö±ë ÇÒ¶§ »ç¿ëÇÏ¸é ¾ÆÁÖ ÁÁ´Ù. ¿¹¸¦µé¾î ÇÁ·Î±×·¥ ½ÇÇà½Ã ¹®Á¦°¡ ÀÖ¾î¼ exit() ÇÒ °æ¿ì, ´ÙÀ½°ú °°ÀÌ define¹®À» »ç¿ëÇØ EXITÀ» Á¤ÀÇÇØ ÀÌ¿ëÇϸé exitÇÒ¶§ ¾î´À À§Ä¡¿¡¼ ³ª°¡´ÂÁö Á¤È®È÷ ¾Ë¼ö ÀÖ´Ù. #define EXIT(retval) \
printf("Exiting from function %s() in %s:%d\n", \
__FUNCTION__, __FILE__, __LINE__); exit(retval)
ÀÚ¼¼È÷º¸±â... (2 Àǰß) 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) ¼øÀÌ°í ¸¶Áö¸· ÇàÀº ÃÑÇÕÀÌ´Ù. ÀÚ¼¼È÷º¸±â... ÇÁ·Î±×·¡¹ÖÇÏ´Ù°¡ ƯÁ¤ÇÑ ÇÔ¼ö¸¦ ã¾Æ°¡°í ½ÍÀ»¶§ ½¬¿î ¹æ¹ýÀ» ¼Ò°³ÇÑ´Ù. ±âº»ÀûÀÎ ±â´ÉÀ¸·Î º¼¼ö ÀÖÁö¸¸ Àß È°¿ëÇÏ´Â »ç¶÷Àº ±×¸® ¸¹Áö ¾ÊÀº µíÇÏ´Ù. ¾ÆÁÖ À¯¿ëÇÑ ±â´ÉÀ̹ǷΠ¹Ýµå½Ã ¾Ë¾ÆµÎ½Ã±æ... 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¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. Á¤¸®¸¦ ÇØº¸¸é,
ÀÚ¼¼È÷º¸±â... À¯´Ð½º¿¡¼ ÇÁ·Î±×·¥ ½ÃÀÛÇÏ¸é¼ ´©±¸³ª ÇѹøÂë °æÇëÇÏ´Â ¹®Á¦Àε¥, ÄÄÆÄÀÏ(Á¤È®ÇϰԴ ¸µÅ©)ÇÒ¶§ -lm ¿É¼ÇÀ» ÁÖ¸é ÇØ°áµÈ´Ù. ¼öÇÐ ¶óÀ̺귯¸®¸¦ °°ÀÌ ¸µÅ©Ç϶ó´Â ¿É¼ÇÀÌ´Ù. % gcc main.c -lm ÀÚ¼¼È÷º¸±â... ÀÌ ¹®Á¦¿¡ ºÎµúÈ÷´Â »ç¶÷µéÀ» »ý°¢º¸´Ù ²Ï ÀÚÁÖ º¸°ÔµÇ´Âµ¥... ÈÄÈÄ... À¯´Ð½º Ç¥ÁØ ÇÁ·Î±×·¥ Áß¿¡ test¶ó´Â ÇÁ·Î±×·¥ÀÌ ÀÖ¾î¼ ÀÌ·± Çö»óÀÌ ¹ß»ýÇÑ´Ù. test¶ó´Â ÇÁ·Î±×·¥ÀÌ ´Ù¸¥ ³»¿ëÀÌ¶óµµ Ãâ·ÂÇÏ¸é ´Ù¸¥ ÇÁ·Î±×·¥ÀÎÁö ±Ý¹æ ´«Ä¡Ã§ÅÙµ¥, ¾Æ¹«·± Ãâ·Âµµ ¾øÀÌ Á¾·á°¡ µÇ¼, test¶ó´Â ½Ç·¥ ÇÁ·Î±×·¥ÀÌ ¿Àµ¿ÀÛÀ» Çϴ°ɷΠ¾Ë±â ½±´Ù :> ÇØ°á ¹æ¹ýÀº ½ÇÇà ÈÀϸíÀ» ¹Ù²Ù¾î ÁÖ´ø°¡, ½ÇÇàÇÒ¶§ ´ÙÀ½°ú °°ÀÌ ÇöÀç µð·ºÅ丮¿¡ ÀÖ´Â ÈÀÏÀ» ½ÇÇàÇÏ´Â °É ¸í½ÃÇÏ¸é µÈ´Ù. % ./test¶Ç ÇϳªÀÇ ¹æ¹ýÀ¸·Î shellÀÇ path¿¡ ÇöÀç µð·ºÅ丮¸¦ /usr/bin µð·ºÅ丮º¸´Ù ¾Õ À§Ä¡¿¡ µî·Ï½Ãų ¼ö ÀÖÁö¸¸ ÀÌ ¹æ¹ýÀº º¸¾È »óÀÇ ÀÌÀ¯·Î º°·Î ÁÁÀº ¹æ¹ýÀÌ ¾Æ´Ï´Ù. ÀÚ¼¼È÷º¸±â... manÀº 9°¡Áö Á¾·ù Á¤µµÀÇ ¼½¼ÇÀ¸·Î ³ª´©¾îÁ® ÀÖ´Ù. Section 1Àº »ç¿ëÀÚ ¸í·É, Section 2´Â System call, Section 3´Â ÇÔ¼ö ·çƾÀÌ´Ù. Linux³ª FreeBSDµî¿¡¼ printf¿¡ ´ëÇÑ ÇÔ¼ö ¸Þ´º¾óÀ» º¸·Á¸é, % man 3 printfSolaris¿¡¼´Â, % man -s 3s printf±×¸®°í ƯÁ¤ ÇÔ¼ö¸¦ Section 3¿¡¼ ¸ø ãÀ¸¸é Section 2ÀÇ System callÀ» ÀǽÉÇØºÁ¶ó. ÀÚ¼¼È÷º¸±â... MOD4X¶ó´Â ÇÁ·Î±×·¥¿¡ °üÇØ¼ ¼³¸íÇÏ·Á°í °ú ÇÐȸÁö¿¡ 94³â¿¡ ³½ ±ÛÀε¥, ÁÖ·Î Tcl/TK¿¡ ´ëÇØ¼¸¸ ¼³¸íÇϰí ÀÖ½À´Ï´Ù. ÀÚ¼¼È÷º¸±â... (157 bytes) Tcl/Tk¸¦ ÀÌ¿ëÇØ¼ 1994³â ¸¸µç ¸ðµâÀ½¾Ç Ç÷¹À̾îÀÔ´Ï´Ù. s3mod¶ó´Â ÅØ½ºÆ®¸ðµå ÇÁ·Î±×·¥¿¡ Tcl/Tk¸¦ ÀÎÅÍÆäÀ̽º¸¦ ÇØ¼ ÇÐȸÀü½Ãȸ¶§ Àü½ÃÇß´ø ÀÛǰÀÔ´Ï´Ù.
À̸§Àº ±× ´ç½Ã ÇÑâ À¯ÇàÇß´ø À©µµ¿ìÁî¿ë
ÇÁ·Î±×·¥ÀÎ MOD4WIN¿¡¼ µû¿Ô¾ú½À´Ï´Ù. ¿äÁòÀº
±â¾ïÇÒ »ç¶÷µµ º°·Î ¾øÀ»µí... 99³â 6¿ù ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î Áö¿¡ ±â°íÇÑ ±ÛÀÔ´Ï´Ù. Qt´Â ¿¢½ºÀ©µµ¿ì »ó¿¡¼ ½±°Ô »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ ¸¸µé¼ö ÀÖ´Â C++ ¶óÀ̺귯¸®ÀÔ´Ï´Ù.
Qt ±âÃÊ ÇÁ·Î±×·¡¹Ö°ú Qt °ø°³Åøµé¿¡ ´ëÇØ¼ ¼³¸íÇÕ´Ï´Ù. À¯´Ð½ºÀÇ Ç¥ÁØ °³¹ß ȯ°æÀ» GNU ÅøµéÀ» Áß½ÉÀ¸·Î ¾Ë¾Æº¾´Ï´Ù. gcc ÄÄÆÄÀÏ·¯ »ç¿ë¹ý, ¶óÀ̺귯¸® ÀÛ¼º ¹æ¹ý, Make Åø »ç¿ë¹ý, µð¹ö°Å, ¹öÀü°ü¸®ÅøÀÎ CVS¿¡ ´ëÇØ¼ °£·«È÷ ¼Ò°³ÇÑ ±ÛÀÔ´Ï´Ù.
÷ºÎÆÄÀÏÀº ¿øº» HTML ÆÄÀÏÀÔ´Ï´Ù. |
|