<?xml version="1.0" encoding="euc-kr"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>SE ¸ðÁö¸®³× ÃÌ³ð´åÄÄ::°¡»óÈ­, KVM, HYPER-V, Virtualization, Å¬¶ó¿ìµå, CLOUD, LINUX, WINDOW,Security, DDOS, Network &gt; È£½ºÆÃ TIP &gt; C</title>
<link>http://chonnom.com/bbs/board.php?bo_table=B22</link>
<description>Å×½ºÆ® ¹öÀü 0.2 (2004-04-26)</description>
<language>ko</language>
<item>
<title>mktime</title>
<link>http://chonnom.com/bbs/board.php?bo_table=B22&amp;wr_id=9</link>
<description><![CDATA[<DIV><FONT size=3><B>mktime<BR></B></FONT>mktime -- ÁöÁ¤µÈ ³¯Â¥¸¦ date()ÇÔ¼ö µîÀÌ »ç¿ëÇÏ´Â timestamp·Î ¸¸µç´Ù.<BR></DIV>
<DIV><B><FONT size=3>De&#115;&#99;ription<BR></FONT></B>int mktime (int hour, int minute, int second, int month, int day, int year [, int is_dst])<BR>Mktime() is useful for doing date arithmetic and validation, as it will automatically calculate the correct value for out-of-range input.<BR>For example, each of the following lines produces the string "Jan-01-1998".<BR></DIV>
<DIV><B>Example 1. Mktime() example<BR></B>date ("M-d-Y", mktime (0,0,0,12,32,1997));<BR>date ("M-d-Y", mktime (0,0,0,13,1,1997));<BR>date ("M-d-Y", mktime (0,0,0,1,1,1998));<BR>date ("M-d-Y", mktime (0,0,0,1,1,98));</DIV>
<DIV><BR>Year may be a two or four digit value, with values between 0-69 mapping to 2000-2069 and 70-99 to 1970-1999<BR>(on systems where time_t is a 32bit signed integer, as most common today, the valid range for year is somewhere between 1902 and 2037).<BR>The last day of any given month can be expressed as the "0" day of the next month, not the -1 day.<BR>Both of the following examples will produce the string "The last day in Feb 2000 is: 29".<BR></DIV>
<DIV><B>Example 2. Last day of next month<BR></B>$lastday = mktime (0,0,0,3,0,2000);<BR>strftime ("Last day in Feb 2000 is: %d", $lastday);<BR>$lastday = mktime (0,0,0,4,-31,2000);<BR>strftime ("Last day in Feb 2000 is: %d", $lastday);<BR>( ¿ªÀÚÁÖ : ´ÙÀ½°ú °°ÀÌ date() ÇÔ¼ö¸¦ °°ÀÌ »ç¿ëÇÏ¸é °ú°Å³ª ¹Ì·¡ÀÇ Æ¯Á¤ÀÏÀ» ¾Ë ¼ö ÀÖ´Ù.</DIV>
<DIV><BR>$tomorrow = mktime(0,0,0,date("d")+1,date("m"), date("Y"));<BR>$lastm&#111;&#110;th = mktime(0,0,0,date("d"),date("m")-1,date("Y"));<BR>$nextyear = mktime(0,0,0,date("d"),date("m"),date("Y")+1); )</DIV>]]></description>
<dc:creator>ÃÖ°í°ü¸®ÀÚ</dc:creator>
<dc:date>Mon, 23 May 2011 14:07:24 +0900</dc:date>
</item>
<item>
<title>³¯Â¥ / ½Ã°£ ÇÔ¼ö - strftime()</title>
<link>http://chonnom.com/bbs/board.php?bo_table=B22&amp;wr_id=8</link>
<description><![CDATA[<DIV><B><FONT size=3>strftime<BR></FONT></B>(PHP 3, PHP 4 , PHP 5)<BR>strftime --&nbsp; Áö¿ª ¼³Á¤¿¡ µû¶ó ·ÎÄÃ ½Ã°£/³¯Â¥¸¦ Çü½ÄÈ­ÇÑ´Ù.<BR></DIV>
<DIV><FONT size=2><B></B></FONT>&nbsp;</DIV>
<DIV><FONT size=2><B>De&#115;&#99;ription<BR></B></FONT>string strftime ( string format [, int timestamp])<BR>date()ÇÔ¼ö¿Í µ¿ÀÏÇÑ ¿ªÇÒÀ» ¼öÇàÇÏ¿© ÇÔ¼ö È£Ãâ ½Ã¿¡ ÁöÁ¤ÇØ ÁØ format¿¡ ³¯Â¥ Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù.</DIV>
<DIV><BR>setlocale("LC_TIME","ko") ·Î ¼³Á¤ÇÏ¸é ¿ù¸íÀÌ³ª ¿äÀÏ¸íÀ» ÇÑ±Û·Î Ãâ·ÂÇÒ ¼öµµ ÀÖ´Ù.<BR></DIV>
<DIV>´ÙÀ½ÀÇ º¯È¯ Áö½ÃÀÚµéÀº Çü½ÄÈ­µÈ ¹®ÀÚ¿­·Î °£ÁÖµÈ´Ù.</DIV>
<DIV><BR>&nbsp; %a - ÇöÀç Áö¿ª ¼³Á¤¿¡ µû¶ó Ãà¾àµÈ ¿äÀÏ ÀÌ¸§ÀÌ ¹ÝÈ¯µÈ´Ù.<BR></DIV>
<DIV>&nbsp; %A - ÇöÀç Áö¿ª ¼³Á¤¿¡ µû¶ó ÀüÃ¼ ¿äÀÏ ÀÌ¸§ÀÌ ¹ÝÈ¯µÈ´Ù.<BR></DIV>
<DIV>&nbsp; %b - ÇöÀç Áö¿ª ¼³Á¤¿¡ µû¶ó Ãà¾àµÈ ¿ù ÀÌ¸§ÀÌ ¹ÝÈ¯µÈ´Ù.<BR></DIV>
<DIV>&nbsp; %B - ÇöÀç Áö¿ª ¼³Á¤¿¡ µû¶ó ÀüÃ¼ ¿ù ÀÌ¸§ÀÌ ¹ÝÈ¯µÈ´Ù.<BR></DIV>
<DIV>&nbsp; %d - ÀÏÀÚ¸¦ µÎÀÚ¸®·Î Ãâ·ÂÇÑ´Ù.(01~31)<BR></DIV>
<DIV>&nbsp; %e - ÀÏÀÚ¸¦ Ãâ·ÂÇÏµÇ 10º¸´Ù ÀÛÀº ÀÏÀÚ´Â ÇÑÀÚ¸®·Î Ãâ·Â.<BR></DIV>
<DIV>&nbsp; %H - ½Ã°£À» 24½Ã°£Á¦·Î Ãâ·Â (00~23)<BR></DIV>
<DIV>&nbsp; %I - ½Ã°£À» 12½Ã°£Á¦·Î Ãâ·Â(01~12)<BR></DIV>
<DIV>&nbsp; %j - ÀÏÀÚ¸¦ 365·Î Ãâ·Â<BR></DIV>
<DIV>&nbsp; %m - ¿ù Ãâ·Â(01~12)<BR></DIV>
<DIV>&nbsp; %M - ºÐ Ãâ·Â<BR></DIV>
<DIV>&nbsp; %n - ÁÙ¹Ù²Þ<BR></DIV>
<DIV>&nbsp; %p - ¿ÀÀü ¿ÀÈÄ Ãâ·Â<BR></DIV>
<DIV>&nbsp; %r - time in a.m. and p.m. notation&nbsp; /&nbsp; AM. PM Ç¥±â¹ý</DIV>
<DIV>&nbsp; %R - time in 24 hour notation&nbsp;&nbsp;&nbsp; / 24½Ã°£ Ç¥±â¹ý</DIV>
<DIV>&nbsp; %S - second as a decimal number<BR></DIV>
<DIV>&nbsp; %t - tab character<BR></DIV>
<DIV>&nbsp; %T - current time, equal to %H:%M:%S</DIV>
<DIV><BR>&nbsp; %u - weekday as a decimal number [1,7], with 1 representing Monday</DIV>
<DIV><B>ÁÖÀÇ<BR></B>Sun Solaris seems to start with Sunday as 1 although ISO 9889:1999 (the current C standard) clearly specifies that it should be Monday.<BR></DIV>
<DIV>&nbsp; %U - week number of the current year as a decimal number, starting with the first Sunday as the&nbsp;first day of the first week<BR></DIV>
<DIV>&nbsp; %V - The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week. (Use %G or %g for the year component that corresponds to the week number for the specified timestamp.)<BR></DIV>
<DIV>&nbsp; %W - week number of the current year as a decimal number, starting with the first Monday as the first day of the first week<BR></DIV>
<DIV>&nbsp; %w - day of the week as a decimal, Sunday being 0<BR></DIV>
<DIV>&nbsp; %x - preferred date representation for the current locale without the time<BR></DIV>
<DIV>&nbsp; %X - preferred time representation for the current locale without the date<BR></DIV>
<DIV>&nbsp; %y - year as a decimal number without a century (range 00 to 99)<BR></DIV>
<DIV>&nbsp; %Y - year as a decimal number including the century<BR></DIV>
<DIV>&nbsp; %Z - time zone or name or abbreviation</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; %% - a literal `%' character</DIV>]]></description>
<dc:creator>ÃÖ°í°ü¸®ÀÚ</dc:creator>
<dc:date>Mon, 23 May 2011 14:04:40 +0900</dc:date>
</item>
<item>
<title>gcc Library °æ·Î ÁöÁ¤</title>
<link>http://chonnom.com/bbs/board.php?bo_table=B22&amp;wr_id=7</link>
<description><![CDATA[<P>gcc ÄÄÆÄÀÏ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¿´´Âµ¥....</P>
<DIV style="BORDER-RIGHT: #919191 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #919191 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #919191 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #919191 1px solid; BACKGROUND-COLOR: #e4e4e4">collect2: ld returned 1 exit status<BR>/usr/bin/ld: cannot find -lmysqlclient<BR>collect2: ld returned 1 exit status<BR>/usr/bin/ld: cannot find -lmysqlclient<BR>.......................................................<BR>.......................................................<BR></DIV>
<P>¿ä·± ¿¡·¯°¡ ³ª´õ±º¿ä. mysql°ü·Ã ¿¡·¯ÀÎµí ÇÑµ¥...<BR>½ºÅ©¸³Æ® ÆÄÀÏÀ» ¿­°í...È®ÀÎÇØº¸´Ï.. mysqlclient¶ó´Â ¶óÀÌºê·¯¸® À§Ä¡°¡ ´Ù¸£°Å³ª ¾ø°Å³ª ÇØ¼­ »ý±â´Â ¿À·ù·Î º¸¿©Áý´Ï´Ù...</P>
<P>Àú¿¡ °æ¿ì´Â ÇØ´ç ¶óÀÌºê·¯¸®°¡ ÀÖ±äÇÑµ¥.....µðÆúÆ®°æ·ÎÇÏ°í ´Þ¶ó¼­ »ý±ä¿À·ù·Î... -L ¿É¼ÇÀ¸·Î ÇØ´ç ¶óÀÌºê·¯¸® °æ·Î¸¦ ÁöÁ¤ÇÏ°í ÄÄÆÄÀÏÇÏ´Ï ±ò²ûÇÏ°Ô µË´Ï´Ù..</P>
<P>-L/usr/local/mysql/lib/mysql&nbsp;&nbsp; Ãß°¡...!! </P>]]></description>
<dc:creator>ÃÖ°í°ü¸®ÀÚ</dc:creator>
<dc:date>Fri, 18 Dec 2009 10:39:20 +0900</dc:date>
</item>
<item>
<title>³ª¸¸ÀÇ ps¸¦ ¸¸µé¾îº¸ÀÚ</title>
<link>http://chonnom.com/bbs/board.php?bo_table=B22&amp;wr_id=6</link>
<description><![CDATA[<H1 class=TITLE><A target=_blank name=AEN2>³ª¸¸ÀÇ ps¸¦ ¸¸µé¾îº¸ÀÚ</A></H1>
<H3 class=AUTHOR><A target=_blank name=AEN4>À± »ó¹è</A></H3>
<DIV class=AFFILIATION>
<DIV class=ADDRESS>
<P class=ADDRESS>yundream@joinc.co.kr<BR></P></DIV></DIV>
<DIV class=REVHISTORY>
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TH vAlign=top align=left colSpan=3><B>±³Á¤ °úÁ¤</B></TH></TR>
<TR>
<TD align=left>±³Á¤ 0.8</TD>
<TD align=left>2003³â 4¿ù 7ÀÏ 23½Ã</TD>
<TD align=left></TD></TR>
<TR>
<TD align=left colSpan=3>ÃÖÃÊ ¹®¼­ÀÛ¼º</TD></TR></TBODY></TABLE></DIV>
<HR>

<DIV class=TOC>
<DL>
<DT><B>Â÷·Ê</B> 
<DT>1Àý. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/proc/MakePS#AEN14">¼Ò°³</A> 
<DT>2Àý. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/proc/MakePS#AEN18">proc ÆÄÀÏ½Ã½ºÅÛ</A> 
<DD>
<DL>
<DT>2.1Àý. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/proc/MakePS#AEN20">proc ÆÄÀÏ½Ã½ºÅÛ¿¡ ´ëÇÏ¿©</A> 
<DT>2.2Àý. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/proc/MakePS#AEN31">ÇÁ·Î¼¼½º Á¤º¸°¡Á®¿À±â</A></DT></DL>
<DT>3Àý. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/proc/MakePS#AEN38">³ª¸¸ÀÇ psÁ¦ÀÛ</A> 
<DD>
<DL>
<DT>3.1Àý. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/proc/MakePS#AEN63">¿¹Á¦ÄÚµå</A> 
<DD>
<DL>
<DT>3.1.1Àý. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/proc/MakePS#AEN90">Makefile</A> 
<DT>3.1.2Àý. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/proc/MakePS#AEN94">proc.h, proc.cc</A> 
<DT>3.1.3Àý. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/proc/MakePS#AEN106">qps.h, qps.cc</A> 
<DT>3.1.4Àý. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/proc/MakePS#AEN115">main.cc</A></DT></DL>
<DT>3.2Àý. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/proc/MakePS#AEN121">Å×½ºÆ®</A></DT></DL>
<DT>4Àý. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/proc/MakePS#AEN127">°á·Ð</A></DT></DL></DIV>
<DIV class=SECTION>
<HR>

<H1 class=SECTION><A name=AEN14>1Àý. ¼Ò°³</A></H1>
<DIV>´ëºÎºÐÀÇ Unix¿î¿µÃ¼Á¦´Â procÆÄÀÏ½ÃÅÛÀ» Á¦°øÇÑ´Ù. proc´Â process infomation pseudoÀÇ ÁÙÀÓ¸»ÀÌ´Ù. Áï procÆÄÀÏ½Ã½ºÅÛÀº Ä¿³Î¿¡¼­Á¦°øÇÏ´Â ÇÁ·Î¼¼½ºÁ¤º¸¸¦ ÀúÀåÇÏ°í ÀÖ´Â ÆÄÀÏ½Ã½ºÅÛÀÌ¶ó°í Á¤¸®ÇÒ¼ö ÀÖ´Ù. </DIV>
<DIV>ÀÌ ¹®¼­´Â procÆÄÀÏ½Ã½ºÅÛÀ» ÀÌ¿ëÇØ¼­ ½ÇÁ¦ ÇÁ·Î¼¼½º¸ñ·ÏÀ» Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥Á¦ÀÛ°ú °ü·ÃµÈ ³»¿ëÀ» ´ã°í ÀÖ´Ù. ¹®¼­´Â <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=¸®´ª½º¿î¿µÃ¼Á¦">¸®´ª½º¿î¿µÃ¼Á¦</A>(kernel 2.4.x)¸¦ ±âÁØÀ¸·Î ÀÛ¼ºµÇ¾ú´Ù. </DIV></DIV>
<DIV class=SECTION>
<HR>

<H1 class=SECTION><A name=AEN18>2Àý. proc ÆÄÀÏ½Ã½ºÅÛ</A></H1>
<DIV class=SECTION>
<H2 class=SECTION><A name=AEN20>2.1Àý. proc ÆÄÀÏ½Ã½ºÅÛ¿¡ ´ëÇÏ¿©</A></H2>
<DIV>¸®´ª½º Ä¿³ÎÀÇ ÁÖµÈÀÓ¹«Áß ÇÏ³ª´Â ÇÁ·Î¼¼½º¸¦ ½ÇÇà½ÃÅ°°í ÀÌµéÀ» À¯ÁöÇÏ´Â ÀÏÀÌ¸ç, ÀÌ¸¦ À§ÇØ¼­ Ä¿³Îµ¥ÀÌÅ¸±¸Á¶Ã¼¸¦ ³»ºÎÀûÀ¸·Î »ç¿ëÇÏ°Ô µÈ´Ù. ±×·±µ¥ ÀÌ·± ÇÁ·Î¼¼½ºÁ¤º¸´Â Ä¿³Î¿¡°Ô¸¸ ÇÊ¿äÇÑ°Ô ¾Æ´Ï°í ½Ã½ºÅÛ °ü¸®ÀÚÈ¤Àº ÇÁ·Î±×·¡¸Óµé¿¡°Ôµµ Àý´ëÀûÀ¸·Î ÇÊ¿äÇÑ Á¤º¸ÀÌ´Ù. </DIV>
<DIV>±×·¸´Ù¸é ÇÊ¿äÇÑ Á¤º¸¸¦ ¾ò¾î³»±â À§ÇØ¼­ ¾î¶»°Ô ÇØ¾ßÇÒ±î? Á÷Á¢ Ä¿³Î¿¡°Ô Ä¿³Îµ¥ÀÌÅ¸±¸Á¶Ã¼¸¦ ¿äÃ»ÇØ¼­ ±×°É ÀÏÀÏÀÌ ºÐ¼®ÇØ¾ß ÇÒ±î ? ¹°·Ð ±×·¸°Ôµµ ÇÒ¼ö ÀÖ°ÚÁö¸¸, ÀÌ°ÍÀº ¸Å¿ì º¹ÀâÇÑ ÀÛ¾÷ÀÌ¸ç, ¶ÇÇÑ (Ä¿³Î¸ðµå¿¡¼­ Á÷Á¢ÀÌ·ç¾îÁö´Â ÀÛ¾÷ÀÓÀ¸·Î)À§ÇèÇÑÀÛ¾÷ÀÌ±âµµ ÇÏ´Ù. ±×·¡¼­ ¸®´ª½º½Ã½ºÅÛÀº »ç¿ëÀÚ·¹º§¿¡¼­ ÇÁ·Î¼¼½ºÀÇ »óÅÂ¸¦ °£´ÜÇÏ°Ô È®ÀÎ°¡´ÉÇÏµµ·Ï ÇÏ±âÀ§ÇØ¼­ <B class=EMPHASIS>procÆÄÀÏ½Ã½ºÅÛ</B>À» Á¦°øÇÑ´Ù. </DIV>
<DIV>¿ì¸®´Â º¹ÀâÇÏ°Ô Ä¿³Î·ÎºÎÅÍ ¿©·¯°¡Áö Ä¿³Îµ¥ÀÌÅ¸±¸Á¶Ã¼¸¦ ¿äÃ»ÇÒÇÊ¿ä ¾øÀÌ procÆÄÀÏ½Ã½ºÅÛ¿¡¼­ Á¦°øÇÏ´Â Á¤º¸µéÀ» ÀÐ¾îµéÀÌ´Â Á¤µµ·Î °£´ÜÇÏ°Ô ÇÁ·Î¼¼½º »óÅÂ¸¦ ¾ò¾î¿Ã¼ö ÀÖ´Ù. 
<DIV class=TIP>
<BLOCKQUOTE class=TIP>
<DIV><B>ÀÛÀº Á¤º¸: </B>procÆÄÀÏ½Ã½ºÅÛÀº ´ëºÎºÐÀÇ À¯´Ð½º¿î¿µÃ¼Á¦¿¡¼­ Ã¤ÅÃµÇ¾îÁö°í ÀÖÁö¸¸, µ¥ÀÌÅ¸¸¦ ÀúÀåÇÏ´Â ¹üÀ§¿Í Æ÷¸Ë¿¡ ÀÖ¾î¼­ ¿î¿µÃ¼Á¦°£ Â÷ÀÌÁ¡À» º¸ÀÎ´Ù. ÀúÀåÇÏ´Â ¹üÀ§ÀÇ °æ¿ì ´ëºÎºÐÀÇ À¯´Ð½º¿î¿µÃ¼Á¦´Â ´ÜÁö ÇÁ·Î¼¼½º Á¤º¸¸¸À» Á¦°øÇÏ´Â ¹Ý¸é, ¸®´ª½º´Â ÇÁ·Î¼¼½º Á¤º¸»Ó¸¸ ¾Æ´Ï¶ó ³×Æ®¿÷Á¤º¸, ÆÄÀÏ½Ã½ºÅÛ, µð¹ÙÀÌ½º Á¤º¸, ¸Þ¸ð¸®Á¤º¸, CPUÁ¤º¸µî ´Ù¾çÇÑ Á¤º¸µéÀ» Á¦°øÇÑ´Ù. </DIV>
<DIV>Æ¯È÷ ¸®´ª½ºÀÇ °æ¿ì ¸î¸îÁ¤º¸µé¿¡ ´ëÇØ¼­´Â ´ÜÁö ¿­¶÷¸¸ °¡´ÉÇÑ ¼öÁØÀÌ ¾Æ´Ñ Á÷Á¢¼öÁ¤À» ÅëÇØ¼­ Ä¿³ÎÀÇ Çàµ¿À» º¯°æ½ÃÄÑÁÙ¼öµµ ÀÖ´Ù. ÀÌ°ÍÀº ´Ù¸¥ À¯´Ð½º¿¡ ºñÇØ¼­ ¸Å¿ì È®ÀåµÈ ºÎºÐÀÌ¶ó°í ÇÒ¼ö ÀÖ´Ù. </DIV>
<DIV>¿¹¸¦ µé¾î ICMP¿äÃ»¿¡ ´ëÇÑ ÀÀ´äÀ» ¸·°í ½Í´Ù¸é "echo 0 /proc/sys/net/ipv4/icmp_echo_ignore_all"ÇÏ´Â Á¤µµ·Î °£´ÜÇÏ°Ô Ä¿³ÎÀÇ Çàµ¿À» º¯°æ½ÃÄÑÁÙ¼ö ÀÖ´Ù. ´Ù¸¥¿î¿µÃ¼Á¦¿¡¼­ÀÇ ÀÌ·¯ÇÑ ÀÛ¾÷Àº Àü¿ë°ü¸®µµ±¸¸¦ »ç¿ëÇÏµçÁö ¸®º×ÆÃÀ» ½ÃÅ°µçÁö ÇØ¾ßÇÑ´Ù. </DIV>
<DIV>ÀúÀåµÇ´Â Æ÷¸ËÀ» º¸ÀÚ¸é ¸®´ª½º´Â ÀÏ¹Ý ASCII¹®ÀÚ·Î ÀÌ·ç¾îÁø ¹Ý¸é ´Ù¸¥ À¯´Ð½ºµéÀº ±¸Á¶Ã¼·Î Á¤º¸°¡ ÀÌ·ç¾îÁ® ÀÖ´Ù. ¸®´ª½ºÀÇ °æ¿ì ÇÁ·Î¼¼½º Á¤º¸°¡ ÀÏ¹Ý¹®ÀÚ·Î ÀÌ·ç¾îÁ® ÀÖ¾î¼­ Á÷°üÀûÀ¸·Î È®ÀÎÇÏ±â¿¡ ÁÁ±â´Â ÇÏÁö¸¸ ÇÁ·Î±×·¡¹ÖÀ» ÇÒ°æ¿ì ÀÌ¸¦ ÆÄ½ÌÇØ¾ßµÇ±â ¶§¹®¿¡ ´Ù¸¥ À¯´Ð½ºµé¿¡ ºñÇØ¼­ Á» ºÒÆíÇÑÁ¡ÀÌ µÇ±âµµ ÇÑ´Ù. </DIV></BLOCKQUOTE></DIV>
<DIV></DIV></DIV>
<DIV class=SECTION>
<HR>

<H2 class=SECTION><A name=AEN31>2.2Àý. ÇÁ·Î¼¼½º Á¤º¸°¡Á®¿À±â</A></H2>
<DIV>¸®´ª½ºÀÇ °æ¿ì ±â´ÉÀÌ È®ÀåµÇ±ä ÇßÁö¸¸ procÆÄÀÏ½Ã½ºÅÛÀÇ °¡ÀåÅ« »ç¿ë¸ñÀûÀº ¹¹´Ï¹¹´Ï ÇØµµ ÇÁ·Î¼¼½ºÁ¤º¸¸¦ ¾ò¾î¿À´Â ÀÏÀÌ´Ù. </DIV>
<DIV>±âº»ÀûÀ¸·Î procÆÄÀÏ½Ã½ºÅÛÀº /procµð·ºÅä¸®¾È¿¡¼­ ÀÌ·ç¾îÁö¸ç, ÇÁ·Î¼¼½ºÁ¤º¸´Â /procµð·ºÅä¸®¹Ø¿¡ °¢ ÇÁ·Î¼¼½ºÀÇ PID¸¦ ÀÌ¸§À¸·ÎÇÏ´Â ¼­ºêµð·ºÅä¸® ¹Ø¿¡ À§Ä¡ÇÏ°Ô µÈ´Ù. ¿¹¸¦µé¾î PID°¡ 912ÀÎ ÇÁ·Î¼¼½º¶ó¸é, 912 ÇÁ·Î¼¼½ºÀÇ Á¤º¸´Â /proc/912(ÀÌÇÏ /proc/[PID])¹Ø¿¡ À§Ä¡ÇÏ°Ô µÈ´Ù. </DIV>
<DIV>/proc/[PID] µð·ºÅä¸®¹Ø¿¡´Â ´Ù½Ã ¸î°³ÀÇ µð·ºÅä¸®¿Í ¸î°³ÀÇ ÆÄÀÏµé·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. 
<TABLE width="100%" bgColor=#e0e0e0 border=0>
<TBODY>
<TR>
<TD><PRE class=SCREEN> <FONT size=1>/proc/[PID]/ -+-- cmdline
               |
               +-- cwd
               |
               +-- environ
               |
               +-- exe 
               |
               +-- fd -------+-- 0
               |             |
               +-- maps      +-- 1
               |
               +-- root 
               |
               +-- stat 
               |
               +-- statm 
               |
               +-- status
</FONT>			</PRE></TD></TR></TBODY></TABLE>¸®´ª½ºÀÇ °æ¿ì À§¿Í °°Àº ÆÄÀÏµé·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. °¢ ÆÄÀÏÀÌ °¡Áö°í ÀÖ´Â ÀÚ¼¼ÇÑ Á¤º¸µé¿¡ ´ëÇØ¼­´Â procÀÇ manÆäÀÌÁö¸¦ Âü°íÇÏ±â ¹Ù¶õ´Ù. </DIV>
<DIV>¸®´ª½ºÀÇ °æ¿ì °¢°¢ÀÇ Á¤º¸µéÀº ÀÏ¹Ý ASCIIÅØ½ºÆ®¹®ÀÚ·Î ÀÌ·ç¾îÁ®ÀÖ°í, ´ëºÎºÐÀÇ °æ¿ì °ø¹é¹®ÀÚ(' ')·Î ÇÊµåÀÇ ±¸ºÐÀÌ µÇ¾îÀÖÀ½À¸·Î, ½±°Ô ¿øÇÏ´Â Á¤º¸µéÀ» ¾ò¾î¿Ã¼ö ÀÖ´Ù. </DIV></DIV></DIV>
<DIV class=SECTION>
<HR>

<H1 class=SECTION><A name=AEN38>3Àý. ³ª¸¸ÀÇ psÁ¦ÀÛ</A></H1>
<DIV>ÇÁ·Î¼¼½ºÁ¤º¸¸¦ È®ÀÎÇÏ±â À§ÇØ¼­ ¸®´ª½º´Â ps¶ó´Â µµ±¸¸¦ Á¦°øÇÑ´Ù. ps¸¦ »ç¿ëÇÔÀ¸·Î½á, ¿ì¸®´Â ÇÁ·Î¼¼½ºÀÇ °¢Á¾Áß¿äÇÑ Á¤º¸µéÀ» ¾ò¾î¿À°í, ¾ò¾î¿Â Á¤º¸´Â ½Ã½ºÅÛ°ü¸®¿Í ÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ Áß¿äÇÑ µ¥ÀÌÅ¸·Î »ç¿ëÇÑ´Ù. 
<DIV class=FIGURE><A name=AEN41></A>
<DIV><B>±×¸² 1. ps¸¦ ÀÌ¿ëÇÑ ÇÁ·Î¼¼½º»óÅÂ È®ÀÎ</B></DIV>
<DIV><IMG style="CURSOR: pointer" &#111;&#110;click=image_window(this) src="http://www.joinc.co.kr/albums/album01/acs.gif" name=target_resize_image[]></DIV></DIV>
<DIV></DIV>
<DIV>¿ì¸®°¡ ¾ò°íÀÚÇÏ´Â ÇÁ·Î¼¼½ºµ¥ÀÌÅ¸´Â ´ÙÀ½°ú °°´Ù. 
<DIV></DIV>
<UL>
<LI>
<DIV>ÇÁ·Î¼¼½ºÀÇ ½ÇÇàÀ¯Àú </DIV>
<LI>
<DIV>ÇÁ·Î¼¼½º <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=¾ÆÀÌµð">¾ÆÀÌµð</A>(PID) </DIV>
<LI>
<DIV>ºÎ¸ðÇÁ·Î¼¼½º <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=¾ÆÀÌµð">¾ÆÀÌµð</A>(PPID) </DIV>
<LI>
<DIV>ºÎ¸ðÇÁ·Î¼¼½º »óÅÂ(Zombie, Run, Sleep µî) </DIV>
<LI>
<DIV>ÇÁ·Î¼¼½º ÀÌ¸§ </DIV>
<LI>
<DIV>CPU »ç¿ëÀ²(%) </DIV>
<LI>
<DIV>VMEM(°¡»ó¸Þ¸ð¸®) »ç¿ëÀ² </DIV></LI></UL>ps¿¡ ºñÇØ¼­ ¸î°¡Áö ºüÁø°ÍµéÀÌ ÀÖ±äÇÏÁö¸¸ ÇÁ·Î¼¼½º¸¦ °ü¸®ÇÏ´Âµ¥ ÇÊ¿äÇÑ ÃÖ¼ÒÇÑÀÇ Á¤º¸´Â °¡Á®¿Â´Ù. 
<DIV></DIV>
<DIV>ÀÌ psµµ ±âº»ÀûÀ¸·Î procÆÄÀÏ½Ã½ºÅÛ¿¡ÀÖ´Â ÇÁ·Î¼¼½ºÁ¤º¸¸¦ ÀÌ¿ëÇØ¼­ °¡Á®¿Â´Ù. ´õ Á¤È®È÷ ¸»ÇÏÀÚ¸é <B class=EMPHASIS>stats</B>¿¡¼­ ÇÊ¿äÇÑ Á¤º¸¸¦ °¡Á®¿Â´Ù. ´ÙÀ½Àº ½ÇÁ¦ statsÀÇ ÆÄÀÏ³»¿ëÀÌ´Ù. ¿ø·¡´Â ÇÏ³ªÀÇ ÇàÀ¸·Î µÇ¾îÀÖÀ¸³ª Ãâ·ÂÇÏ±â ½±°Ô ¿©·¯°³ÀÇ ÇàÀ¸·Î ºÐ¸®Çß´Ù. 
<TABLE width="100%" bgColor=#e0e0e0 border=0>
<TBODY>
<TR>
<TD><PRE class=SCREEN>[root@localhost 2489]# cat stat
2489 (vi) T 2251 2489 2251 772 2581 0 187 0 455 0 12 4 0 0 9 0 0 0 181334 
6950912 0 4294967295 134512640 136413760 3221223720 3221222316 
1074893473 0 0 12288 1333808895 3222310480 0 0 17 0
		</PRE></TD></TR></TBODY></TABLE>¿ì¸®°¡ ¸¸µé°íÀÚÇÏ´Â ÇÁ·Î±×·¥Àº À§ÀÇ stat Á¤º¸¸¦ ºÐ¼®ÇÏ°Ô µÉ°ÍÀÌ´Ù. </DIV>
<DIV class=SECTION>
<HR>

<H2 class=SECTION><A name=AEN63>3.1Àý. ¿¹Á¦ÄÚµå</A></H2>
<DIV>ÇÁ·Î±×·¥ÀÇ ÀÌ¸§Àº qps·Î ÇÏµµ·Ï ÇÏ°Ú´Ù. </DIV>
<DIV>ÀÌÇÁ·Î±×·¥ÀÇ ½î¾²´Â ¸î°³ÀÇ ¸ðµâ·Î ÀÌ·ç¾îÁ® ÀÖÀ¸¸ç, ½î¾²°ü¸®¸¦ À§ÇØ¼­ MakefileÀ» »ç¿ëÇÒ°ÍÀÌ´Ù. ´ÙÀ½Àº ¸¸µé°íÀÚ ÇÏ´Â qpsÀÇ ½î¾²Æ®¸® ±¸Á¶ÀÌ´Ù. 
<TABLE width="100%" bgColor=#e0e0e0 border=0>
<TBODY>
<TR>
<TD><PRE class=SCREEN><FONT size=1>-+-- Makefile
 |
 +-- main.cc
 |
 +-- proc.cc
 |
 +-- qps.cc
 |
 +-- include ----+-- proc.h 
                 |
                 +-- qps.h
</FONT>			</PRE></TD></TR></TBODY></TABLE>´ÙÀ½Àº °¢ ÆÄÀÏµé¿¡ ´ëÇÑ ¼³¸íÀÌ´Ù. 
<DIV class=TABLE><A name=AEN68></A>
<DIV><B>Ç¥ 1. qps ½î¾²ÆÄÀÏ ¼³¸í</B></DIV>
<TABLE class=CALSTABLE border=1>
<TBODY>
<TR>
<TD vAlign=top align=left>Makefile</TD>
<TD vAlign=top align=left>make¿¡¼­ »ç¿ëÇÒ make rule ÆÄÀÏ</TD></TR>
<TR>
<TD vAlign=top align=left>main.cc</TD>
<TD vAlign=top align=left>mainÇÔ¼ö¸¦ Æ÷ÇÔÇÏ´Â ÄÚµå, ÃÖ¼ÒÇÑÀÇ ÄÚµå¸¸À» °¡Áø´Ù</TD></TR>
<TR>
<TD vAlign=top align=left>proc.cc</TD>
<TD vAlign=top align=left>½ÇÁ¦ procÆÄÀÏ½Ã½ºÅÛÀ» ÂüÁ¶ÇØ¼­ °¢Á¾ ÇÁ·Î¼¼½ºÁ¤º¸¸¦ ¾ò¾î¿Â´Ù.</TD></TR>
<TR>
<TD vAlign=top align=left>qps.cc</TD>
<TD vAlign=top align=left>proc.cc¿¡ Á¤ÀÇµÈ ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ÇÁ·Î¼¼½ºÁ¤º¸¸¦ ¾ò¾î¿À°í ÀÌ¸¦ È­¸é¿¡ º¸±âÁÁ°Ô Ãâ·ÂÇÑ´Ù.</TD></TR>
<TR>
<TD vAlign=top align=left>include/proc.h</TD>
<TD vAlign=top align=left>proc.cc¿¡¼­ »ç¿ëµÉ ÇÔ¼ö¼±¾ð</TD></TR>
<TR>
<TD vAlign=top align=left>include/qps.h</TD>
<TD vAlign=top align=left>qps.cc¿¡¼­ »ç¿ëµÉ ÇÔ¼ö¼±¾ð</TD></TR></TBODY></TABLE></DIV>
<DIV></DIV>
<DIV class=SECTION>
<HR>

<H3 class=SECTION><A name=AEN90>3.1.1Àý. Makefile</A></H3>
<DIV>½î¾²ÄÚµåµéÀ» °ü¸®ÇÏ±â À§ÇÑ MakefileÀÌ´Ù. ÀÌÇØÇÏ´Âµ¥ º°´Ù¸¥ ¾î·Á¿òÀº ¾øÀ»°ÍÀÌ´Ù. 
<TABLE width="100%" bgColor=#e0e0e0 border=0>
<TBODY>
<TR>
<TD><PRE class=SCREEN><FONT size=1>	
#############################################################################
# Makefile for building qps
# Generated by tmake at 23:10, 2003/04/08
#     Project: qps
#    Template: app
#############################################################################

####### Compiler, tools and options

CC  =   gcc
CXX =   g++
CFLAGS  =   -pipe -Wall -W -O2 -DNO_DEBUG
CXXFLAGS=   -pipe -Wall -W -O2 -DNO_DEBUG
INCPATH =   -I./include
LINK    =   g++
LFLAGS  =

TAR =   tar -cf
GZIP    =   gzip -9f

####### Files

HEADERS =   include/proc.h \
        include/qps.h
SOURCES =   main.cc \
        proc.cc \
        qps.cc
OBJECTS =   main.o \
        proc.o \
        qps.o

TARGET  =   qps
INTERFACE_DECL_PATH = .

####### Implicit rules

.SUFFIXES: .cpp .cxx .cc .C .c

.cpp.o:
    </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(CXX) -c </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(CXXFLAGS) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(INCPATH) -o $@ $&lt;

.cxx.o:
    </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(CXX) -c </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(CXXFLAGS) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(INCPATH) -o $@ $&lt;

.cc.o:
    </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(CXX) -c </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(CXXFLAGS) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(INCPATH) -o $@ $&lt;

.C.o:
    </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(CXX) -c </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(CXXFLAGS) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(INCPATH) -o $@ $&lt;

.c.o:
    </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(CC) -c </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(CFLAGS) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(INCPATH) -o $@ $&lt;

####### Build rules
all: </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(TARGET)

$(TARGET): </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(UICDECLS) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(OBJECTS) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(OBJMOC)
    </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(LINK) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(LFLAGS) -o </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(TARGET) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(OBJECTS) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(OBJMOC) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(LIBS)

dist:
    </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(TAR) qps.tar qps.pro </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(SOURCES) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(HEADERS) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(INTERFACES) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(DIST)
    </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(GZIP) qps.tar

clean:
    -rm -f </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(OBJECTS) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(OBJMOC) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(SRCMOC) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(UICIMPLS) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(UICDECLS) </FONT><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=$"><FONT size=1>$</FONT></A><FONT size=1>(TARGET)
    -rm -f *~ core

####### Compile

main.o: main.cc

proc.o: proc.cc

qps.o: qps.cc
			</FONT>	</PRE></TD></TR></TBODY></TABLE></DIV></DIV>
<DIV class=SECTION>
<HR>

<H3 class=SECTION><A name=AEN94>3.1.2Àý. proc.h, proc.cc</A></H3>
<DIV>½ÇÁúÀûÀ¸·Î stat¸¦ ºÐ¼®ÇØ¼­ ÇÁ·Î¼¼½ºµ¥ÀÌÅ¸¸¦ ¾ò¾î¿À´Â ÇÔ¼öµéÀ» Æ÷ÇÔÇÑ´Ù. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=opendir">opendir</A>(2)ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼­ /proc µð·ºÅä¸®¹Ø¿¡ ÀÖ´Â ÆÄÀÏµéÀÇ ¸ñ·ÏÀ» ¾ò¾î¿À°í, ¸¸¾à ¾ò¾î¿Â ÆÄÀÏÀÌ µð·ºÅä¸®ÀÌ¸é¼­ ¼ýÀÚ·ÎµÇ¾îÀÖÀ»°æ¿ì ÇÁ·Î¼¼½ºÁ¤º¸ µð·ºÅä¸®¶ó°í ÆÇ´ÜÇÏ°í, ¼­ºêµð·ºÅä¸®¿¡ ÀÖ´Â stat ÆÄÀÏÀ» ÀÐ¾îµéÀÎ´Ù. </DIV>
<DIV>ÀÐ¾îµéÀÎ statÁ¤º¸´Â " "¸¦ ±âÁØÀ¸·Î ÆÄ½ÌÇØ¼­ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=¹è¿­">¹è¿­</A>(vector)¿¡ Áý¾î³Ö´Â´Ù. ´õºÒ¾î ¿ì¸®°¡ ¸¸µé°íÀÚÇÏ´Â qpsÇÁ·Î±×·¥Àº ÇØ´çÇÁ·Î¼¼½ºÀÇ À¯ÀúÀÌ¸§µµ °¡Á®¿Í¾ß ÇÑ´Ù. /proc/[PID]/stat ÆÄÀÏÀº ÇÁ·Î¼¼½º¼ÒÀ¯ÀÚÀÇ ±ÇÇÑÀ¸·Î ¸¸µé¾îÁø´Ù. ¿ì¸®´Â <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=stat">stat</A>(2)°è¿­ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é ÇØ´ç ÆÄÀÏÀÇ UID¸¦ ¾ò¾î¿Ã¼ö ÀÖ´Ù´Â°É ¾Ë¼öÀÖ´Ù. ¶ÇÇÑ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=getpwuid">getpwuid</A>(3)¸¦ ÀÌ¿ëÇÏ¸é ÇØ´ç UID¿¡ ´ëÇÑ À¯ÀúÀÌ¸§µµ ¾ò¾î¿Ã¼ö ÀÖ´Ù. </DIV>
<DIV>ÀÌ·¸°Ô ÇØ¼­ ÇÏ³ªÀÇ ÇÁ·Î¼¼½º¿¡ ´ëÇÑÁ¤º¸°¡ ¸¸µé¾îÁ³´Ù. ±×·±µ¥ ¿ì¸®´Â ÇÁ·Î¼¼½ºÀÇ ¸ñ·ÏÀ» °¡Á®¿Í¾ß ÇÔÀ¸·Î ÀÌµé Á¤º¸´Â ´Ù½Ã ¹è¿­ÀÇ ¿ø¼Ò·Î µé¾î°¡¾ß ÇÒ°ÍÀÌ´Ù. ÀÌ·¯ÇÑ ÀÚ·á±¸Á¶(¹è¿­ÀÇ ¹è¿­)¸¦ À§ÇØ¼­ ÇÊÀÚ´Â (¼ÓÆíÇÏ°Ô)vector¸¦ »ç¿ëÇß´Ù. </DIV>
<DIV>´ÙÀ½Àº ½ÇÁ¦ ÄÚµåµéÀÌ´Ù. À§ÀÇ ³»¿ëµéÀº ÄÚµå¸¦ ÅëÇØ¼­ ÀÌÇØÇÏ±â ¹Ù¶õ´Ù. ±×¸®¾î·Á¿î ÄÚµåµéÀº ¾Æ´ÔÀ¸·Î ÁÖ¼®¸¸À¸·Îµµ ÃæºÐÈ÷ ÀÌÇØ°¡´ÉÇÒ°ÍÀÌ´Ù. </DIV>
<DIV><B class=EMPHASIS>¿¹Á¦ : include/proc.h</B> 
<TABLE width="100%" bgColor=#e0e0e0 border=0>
<TBODY>
<TR>
<TD><PRE class=SCREEN>#ifndef _PROC_H_
#define _PROC_H_

#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;unistd.h&gt;
#include &lt;vector&gt;
#include &lt;dirent.h&gt;
#include &lt;string&gt;

using namespace std;

// ÇÁ·Î¼¼½º µ¥ÀÌÅ¸ ÀúÀå 
typedef struct _process_info
{
    char            username[32];  // À¯ÀúÀÌ¸§
    vector&lt;string&gt;  process;       // statÁ¤º¸µéÀÌ µé¾î°£´Ù   	
} process_info;

// ÇÁ·Î¼¼½ºÀÇ ¸®½ºÆ®¸¦ À¯ÁöÇÏ±â À§ÇÑ ÀÚ·á±¸Á¶
// °á±¹Àº ¹è¿­ÀÇ ¹è¿­ÀÌ´Ù. 
typedef vector&lt;process_info&gt; Plist;

class Proc
{
    private:
        int         Processnum;     // ÇöÀç ÇÁ·Î¼¼½º °¹¼ö
        Plist       ProcList;       // ÇÁ·Î¼¼½ºÁ¤º¸ ¸®½ºÆ®

    public:
      
        // »ý¼ºÀÚ¹× ¼Ò¸êÀÚ 
        <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Proc">Proc</A>();
        <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=~Proc">~Proc</A>();

        void            <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=MakeProcInfo">MakeProcInfo</A>();      // ÇÁ·Î¼¼½º Á¤º¸¸¦ ¾ò¾î¿Â´Ù.
        vector&lt;string&gt;  <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=ProcParser">ProcParser</A>(char *);  // statÆÄÀÏÀ» ÆÄ½ÌÇÑ´Ù 
        int             <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=ProcNum">ProcNum</A>();           // ÇöÀçÇÁ·Î¼¼½º °¹¼ö¸¦ ³Ñ°ÜÁØ´Ù.
        int             <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=IsDigit">IsDigit</A>(char *);     // ¹®ÀÚ¿­ÀÌ ¼ýÀÚÀÎÁö È®ÀÎÇÑ´Ù. 
        Plist           <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=GetProcList">GetProcList</A>();       // ÇÁ·Î¼¼½ºÁ¤º¸ ¸®½ºÆ®¸¦ µÇµ¹·ÁÁØ´Ù.
};

#endif
				</PRE></TD></TR></TBODY></TABLE></DIV>
<DIV><B class=EMPHASIS></B>&nbsp;</DIV>
<DIV><B class=EMPHASIS></B>&nbsp;</DIV>
<DIV><B class=EMPHASIS>¿¹Á¦ : proc.cc</B> </DIV>
<DIV>
<TABLE width="100%" bgColor=#e0e0e0 border=0>
<TBODY>
<TR>
<TD><PRE class=SCREEN>#include "proc.h"
#include &lt;iostream&gt;
#include &lt;pwd.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/stat.h&gt;

Proc::Proc()
{
}

Proc::~Proc()
{
}

/*
 * ÇÁ·Î¼¼½º Á¤º¸¸¦ °¡Á®¿Â´Ù. 
 * ±×·¯±â À§ÇØ¼­ /proc/[PID]/statÆÄÀÏÀ» ÀÐ¾îµéÀÌ°í ÀÌ¸¦ 
 * ÇÊµåº°·Î ÆÄ½ÌÇÑ´Ù. ÆÄ½ÌÀº " "¹®ÀÚ¸¦ ±âÁØÀ¸·Î ÇÑ´Ù.  
 * ¶ÇÇÑ ÇÁ·Î¼¼½º¸¦ »ý¼ºÇÑ À¯Àú ÀÌ¸§µµ ¾ò¾î¿Â´Ù. 
 */
void <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Proc::MakeProcInfo">Proc::MakeProcInfo</A>()
{
    DIR *directory;
    struct dirent *entry = NULL;
    char proc_file[40];
    vector&lt;string&gt; procinfo; 
    process_info lprocess_info;
    struct stat lstat;

    ProcList.clear();

    // proc µð·ºÅä¸®¸¦ ¿­¾î¼­ ÆÄÀÏ(µð·ºÅä¸®Æ÷ÇÔ)ÀÇ ¸®½ºÆ®¸¦ 
    // ¾ò¾î¿Â´Ù.
    if ((directory = opendir("/proc")) == NULL)
    {
        <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=perror">perror</A>("opendir error :");
        <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=exit">exit</A>(0);
    }

    while((entry = <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=readdir">readdir</A>(directory)) != NULL)
    {
        if (strcmp(entry-&gt;d_name, ".") !=0 &amp;&amp;
            strcmp(entry-&gt;d_name, "..") != 0)
        {
            sprintf(proc_file,"/proc/%s/stat", entry-&gt;d_name);
            // stat ÆÄÀÏÀÌ Á¸ÀçÇÏ´ÂÁö È®ÀÎÇÏ°í È®ÀÎÇÏ°í
            if (<A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=access">access</A>(proc_file, F_OK) != 0)
            {
                continue;
            }

            // µð·ºÅä¸® ÀÌ¸§ÀÌ ¼ýÀÚÀÎÁö È®ÀÎÇÑ´Ù. 
            // µð·ºÅä¸® ÀÌ¸§ÀÌ ¼ýÀÚ¶ó¸é ÀÌ¸¦ ÆÄ½ÌÇÑ´Ù.  
            // ¶ÇÇÑ statÆÄÀÏÀÇ ¼ÒÀ¯ UID¸¦ ÀÌ¿ëÇØ¼­ À¯ÀúÀÌ¸§µµ ¾ò¾î¿Â´Ù. 
            if (IsDigit(entry-&gt;d_name))
            {
                struct passwd *upasswd;
                <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=stat">stat</A>(proc_file,&amp;lstat);
                lprocess_info.process  = <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=ProcParser">ProcParser</A>(proc_file);

                upasswd = <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=getpwuid">getpwuid</A>(lstat.st_uid);
                strncpy(lprocess_info.username, upasswd-&gt;pw_name, 32);
                if(atoi(lprocess_info.process[0].c_str()) == atoi(entry-&gt;d_name))
                {
                    ProcList.push_back(lprocess_info);
                }
            }
            else
            {
            }
        }
    }

}

/*
 * MakeProcInfo¸¦ ÅëÇØ¸¸µé¾îÁø ÇÁ·Î¼¼½ºÁ¤º¸ ¸®½ºÆ®¸¦ µÇµ¹·ÁÁØ´Ù.
 */
Plist <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Proc::GetProcList">Proc::GetProcList</A>()
{
    return ProcList;
}

/* 
 * ÇÁ·Î¼¼½ºÀÇ °¹¼ö¸¦ µÇµ¹·ÁÁØ´Ù.  
 * °¹¼ö´Â <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=ÇÁ·Î¼¼½ºÀÚ·á±¸Á¶">ÇÁ·Î¼¼½ºÀÚ·á±¸Á¶</A>(vector)ÀÇ ¿ø¼ÒÀÇ Å©±â°¡ µÈ´Ù. 
 */
int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Proc::ProcNum">Proc::ProcNum</A>()
{
    return ProcList.size();
}

/*
 * stat ÆÄÀÏÀ» ¿­¾î¼­ " "¹®ÀÚ¸¦ ±âÁØÀ¸·Î ÆÄ½ÌÇØ¼­ 
 * <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=¹è¿­">¹è¿­</A>(vector)¿¡ Áý¾î³Ö´Â´Ù.   
 */
vector&lt;string&gt; <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Proc::ProcParser">Proc::ProcParser</A>(char *proc_file)
{
    FILE *fp;
    char buf[512] = {0x00,};
    char field[80];
    int index = 0;
    unsigned int i, j = 0;
    vector&lt;string&gt; vproc;

    fp = <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=fopen">fopen</A>(proc_file, "r");
    if (fp == NULL)
    {
        <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=perror">perror</A>("error : ");
        <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=exit">exit</A>(0);
    }

    <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=memset">memset</A>(field, 0x00, 80);
    <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=fgets">fgets</A>(buf, 511, fp);
    for(i = 0; i &lt; <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=strlen">strlen</A>(buf); i++)
    {
        if (buf[i] != ' ' &amp;&amp; i != (<A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=strlen">strlen</A>(buf) -1))
        {
            field[j++] = buf[i];
        }
        else
        {
            if (index == 1)
            {
                <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=field[strlen">field[strlen</A>(field)-1] = 0x00;
                vproc.push_back(field+1);
            }
            else
                vproc.push_back(field);
            <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=memset">memset</A>(field, 0x00, 80);
            j = 0;
            index++;
        }
    }
    <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=fclose">fclose</A>(fp);
    return vproc;
}   

/*
 * ÆÄÀÏÀÌ¸§ÀÌ ¼ýÀÚÀÎÁö È®ÀÎÇÑ´Ù. 
 */ 
int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Proc::IsDigit">Proc::IsDigit</A>(char *str)
{
    int i;
    for (i = 0; i &lt; <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=strlen">strlen</A>(str); i++)
    {
        if (isdigit(str[i])==0)
            return 0;
    }
    return 1;
}
				</PRE></TD></TR></TBODY></TABLE></DIV></DIV>
<DIV class=SECTION>
<HR>

<H3 class=SECTION><A name=AEN106>3.1.3Àý. qps.h, qps.cc</A></H3>
<DIV>À§¿¡¼­ ¼³¸íÇÑ proc.cc¸¦ ÅëÇØ¼­ stat¸¦ ºÐ¼®ÇÑ ÇÁ·Î¼¼½ºµ¥ÀÌÅ¸°¡ ¸¸µé¾îÁ³À½À¸·Î ÀÌÁ¦ ÀÌ°ÍÀ» °¡Áö°í ¿Í¼­ È­¸é¿¡ Àû´çÈ÷ »Ñ·ÁÁà¾ß ÇÒ°ÍÀÌ´Ù. ´ÙÀ½Àº ÀÌ¿Í °ü·ÃµÈ ÇÔ¼öµéÀÌ´Ù. ÇÁ·Î¼¼¼¼ÀÇ CPU»ç¿ëÀ²À» °¡Á®¿À±â À§ÇÑ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=getcputime">getcputime</A>()ÇÔ¼ö¿Ü¿¡´Â º°Æ¯º°ÇÑ°Ç ¾øÀ»°ÍÀÌ´Ù. </DIV>
<DIV><B class=EMPHASIS>include/qps.h</B> 
<TABLE width="100%" bgColor=#e0e0e0 border=0>
<TBODY>
<TR>
<TD><PRE class=SCREEN>#ifndef _QPS_H_
#define _QPS_H_
#include "proc.h"

// ÇÁ·Î¼¼½º ¸ñ·ÏÀ» Àû´çÈ÷ °¡°øÇØ¼­ Ãâ·ÂÇÑ´Ù.
int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=viewProc">viewProc</A>();

// °¢ÇÁ·Î¼¼½ºÀÇ CPU »ç¿ëÀ²À» ¾ò¾î¿Â´Ù. 
int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=getcputime">getcputime</A>(ulong utime, ulong stime, ulong starttime, int seconds);

// OSÀÇ uptime(ºÎÆÃÈÄ Áö±Ý±îÁöÀÇ °¡µ¿½Ã°£)À» ¾ò¾î¿Â´Ù.  
int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=uptime">uptime</A>();
#endif
				</PRE></TD></TR></TBODY></TABLE></DIV>
<DIV><B class=EMPHASIS>qps.cc</B> 
<TABLE width="100%" bgColor=#e0e0e0 border=0>
<TBODY>
<TR>
<TD><PRE class=SCREEN>// Local Çì´õÆÄÀÏ
#include "qps.h"

// Ç¥ÁØ C++ Çì´õÆÄÀÏµé
#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;

// Ç¥ÁØ C Çì´õÆÄÀÏ
#include &lt;stdio.h&gt;

using namespace std;

/*
 * ÇÁ·Î¼¼½ºÁ¤º¸ ¸®½ºÆ®¸¦ ¾ò¾î¿Í¼­ º¸±âÁÁ°Ô Ãâ·ÂÇÑ´Ù.  
 */
int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=viewProc">viewProc</A>()
{
    Proc *mproc;
    unsigned i;
    int pcpu;
    int sec&#111;&#110;ds = 0;

    Plist ProcList;
    mproc = new Proc;
    <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=mproc->MakeProcInfo">mproc-&gt;MakeProcInfo</A>();

    // ÇÁ·Î¼¼½ºÁ¤º¸ ¸®½ºÆ®¸¦ ¾ò¾î¿Â´Ù. 
    ProcList = <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=mproc->GetProcList">mproc-&gt;GetProcList</A>(); 

    int total_cpu = 0;  

    // OSÀÇ uptimeÀ» ¾ò¾î¿Â´Ù. 
    // ¾ò¾î¿Â Á¤º¸´Â ÇÁ·Î¼¼½ºÀÇ CPU »ç¿ëÀ²À» ±¸ÇÏ±â À§ÇÑ ±âÃÊÁ¤º¸·Î 
    // »ç¿ëµÈ´Ù.  
    sec&#111;&#110;ds = <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=uptime">uptime</A>();
    printf("%-10s %7s %7s %2s %16s %4s %9s\n", "USER", "PID", "PPID",
                                              "ST", "NAME", "CPU", "VMEM"); 
    printf("==============================================================\n");
    for (i = 0; i &lt; <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=mproc->ProcNum">mproc-&gt;ProcNum</A>(); i++)
    {
        // CPU»ç¿ëÀ²À» ¾ò¾î¿Â´Ù. 
        pcpu = getcputime(atol(ProcList[i].process[13].c_str()),
            atol(ProcList[i].process[14].c_str()),
            atol(ProcList[i].process[21].c_str()), seconds);

        // º¸±âÁÁ°Ô Ãâ·ÂÇÑ´Ù. 
        printf("%-10s %7s %7s %2s %16s %2d.%d %9s\n", ProcList[i].username, 
                                    ProcList[i].process[0].c_str(),
                                    ProcList[i].process[3].c_str(),
                                    ProcList[i].process[2].c_str(), 
                                    ProcList[i].process[1].c_str(), pcpu/10, pcpu%10,
                                    ProcList[i].process[22].c_str());
    }   
    return 1;
}

/*
 * ÇÁ·Î¼¼½ºÀÇ CPU»ç¿ëÀ²À» ¾ò±â À§ÇØ¼­ »ç¿ëÇÑ´Ù. 
 * utime     : À¯Àú¸ðµå¿¡¼­ ÇÁ·Î¼¼½º°¡ ½ºÄÉÁì¸µµÇ¸é¼­ »ç¿ëÇÑ jiffies ¼öÀÌ´Ù. 
 *             ÇÁ·Î¼¼½º°¡ ½ºÄÉÁì¸µµÉ¶§¸¶´Ù Áõ°¡µÇ´Â ¼öÄ¡ÀÌ´Ù.  
 * stime     : Ä¿³Î¸ðµå¿¡¼­ ÇÁ·Î¼¼½º°¡ ½ºÄÉÁì¸µµÇ¸é¼­ »ç¿ëÇÑ jiffies ¼öÀÌ´Ù. 
 * starttime : ¿î¿µÃ¼Á¦°¡ ½ÃÀÛµÇ°í³ª¼­ ¸î jiffies°¡ Áö³­ÈÄ 
 *             ÇÁ·Î¼¼½º°¡ ½ÃÀÛµÇ¾ú´ÂÁö 
 */
int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=getcputime">getcputime</A>(ulong utime, ulong stime, ulong starttime, int seconds)
{   
    unsigned long long total_time;
    int pcpu=0;

    // À¯Àú jiffies ¿Í Ä¿³Î jiffies¸¦ ´õÇÑ´Ù.
    total_time = utime + stime;

    // 100Àº HZ°ªÀÌ´Ù. HZÀÌ ÀÛ¾ÆÁú¼ö·Ï context switching°¡ »¡¶óÁø´Ù.  
    // ÀÌ°ªÀº /usr/include/asm/param.h¿¡ ¼±¾ðµÇ¾î ÀÖ´Ù. 
    // 100. ´ë½Å¿¡ (unsigned long long)HZ Á¤µµ·Î ÄÚµå¸¦ 
    // ÀÛ¼ºÇÏ´Â°Ô Á»´õ ¾ÈÀüÇÒ°ÍÀÌ´Ù. ¿©±â¿¡¼­´Â Á÷°üÀûÀ¸·Î ¼³¸íÇÏ±â 
    // À§ÇØ¼­ ÇÏµåÄÚµùÇß´Ù.  
    sec&#111;&#110;ds = seconds - (int)(starttime/100.);

    <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=if">if</A>(seconds)
    {
        pcpu = (int)(total_time * 1000ULL/100.)/seconds;
    }

    return pcpu;
}

/*
 * ¿î¿µÃ¼Á¦°¡ ºÎÆÃÇÏ°í ³ª¼­ ¾ó¸¶ÀÇ ½Ã°£ÀÌ Áö³µ´ÂÁö
 */
int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=uptime">uptime</A>()
{
    FILE *fp;
    char buf[36];
    double stime;
    double idletime;

    if ((fp = fopen("/proc/uptime", "r")) == NULL)
    {
        <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=perror">perror</A>("fopen error : ");
        <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=exit">exit</A>(0);
    }
    <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=fgets">fgets</A>(buf, 36, fp);
    sscanf(buf, "%lf %lf", &amp;stime, &amp;idletime);
    <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=fclose">fclose</A>(fp);

    return (int)stime;
}
				</PRE></TD></TR></TBODY></TABLE></DIV></DIV>
<DIV class=SECTION>
<HR>

<H3 class=SECTION><A name=AEN115>3.1.4Àý. main.cc</A></H3>
<DIV>mainÇÔ¼ö´Ù. ´õÀÌ»ó ¼³¸íÇÒ ÇÊ¿äµµ ¾ø´Â °£´ÜÇÑ ÄÚµåÀÌ´Ù. </DIV>
<DIV><B class=EMPHASIS>¿¹Á¦ main.cc</B> 
<TABLE width="100%" bgColor=#e0e0e0 border=0>
<TBODY>
<TR>
<TD><PRE class=SCREEN>#include &lt;iostream&gt;
#include "qps.h"

int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=main">main</A>(int argc, char **argv)
{
        <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=viewProc">viewProc</A>();
}
				</PRE></TD></TR></TBODY></TABLE></DIV></DIV></DIV>
<DIV class=SECTION>
<HR>

<H2 class=SECTION><A name=AEN121>3.2Àý. Å×½ºÆ®</A></H2>
<DIV>ÄÄÆÄÀÏÀº make¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. ´ÙÀ½Àº ¿ì¸®°¡ ¸¸µç ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ² È­¸éÀÌ´Ù. 
<DIV class=FIGURE><A name=AEN124></A>
<DIV><B>±×¸² 2. qps Å×½ºÆ®È­¸é</B></DIV>
<DIV><IMG style="CURSOR: pointer" &#111;&#110;click=image_window(this) src="http://www.joinc.co.kr/albums/album01/act.gif" name=target_resize_image[]></DIV></DIV>±×·°Àú·° Àßµ¹¾Æ°¡´Â°É È®ÀÎÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù. 
<DIV></DIV></DIV></DIV>
<DIV class=SECTION>
<HR>

<H1 class=SECTION><A name=AEN127>4Àý. °á·Ð</A></H1>
<DIV>ÀÌ»ó procÆÄÀÏ½Ã½ºÅÛÀ» ÀÌ¿ëÇØ¼­ ¾î¶»°Ô ÇÁ·Î¼¼½ºÁ¤º¸¸¦ ¾ò¾î¿À´ÂÁö¿¡ ´ëÇØ¼­ ¾Ë¾Æ°í, ÀÌ ¾ò¾î¿ÂÁ¤º¸¸¦ °¡°øÇØ¼­ ½ÇÁ¦ °ü¸®ÀÚ³ª, ÇÁ·Î±×·¡¸Ó¿¡°Ô À¯¿ëÇÑ Á¤º¸·Î ¸¸µå´Â ¹æ¹ýÀ» ¾Ë¾Æº¸¾Ò´Ù. </DIV>
<DIV>½Ã°£ÀÌ ³²´Â´Ù¸é ¸î°¡Áö ´Ù¸¥ ºÎ°¡ÀûÀÎ ½Ã½ºÅÛÁ¤º¸±îÁö Æ÷ÇÔ½ÃÄÑ¼­ Top¿Í °°Àº Á»´õ °­·ÂÇÑ ÇÁ·Î±×·¥À» ¸¸µå´Â°Íµµ Àç¹ÌÀÖÀ»°ÍÀÌ´Ù. È¤Àº QT, GTKµîÀ» ÀÌ¿ëÇØ¼­ GUIÈ¯°æ¿¡¼­ ÀÛµ¿ÇÏ´Â ½Ã½ºÅÛÇÁ·Î¼¼½º ¸ð´ÏÅÍ¸µ ÇÁ·Î±×·¥À» ¸¸µé¼öµµ ÀÖÀ»°ÍÀÌ´Ù.&nbsp; </DIV></DIV></DIV></DIV></DIV></DIV></DIV>]]></description>
<dc:creator>ÃÖ°í°ü¸®ÀÚ</dc:creator>
<dc:date>Tue, 01 Dec 2009 10:42:18 +0900</dc:date>
</item>
<item>
<title>¼¼¸¶Æ÷¾îÀÇ »ç¿ë</title>
<link>http://chonnom.com/bbs/board.php?bo_table=B22&amp;wr_id=5</link>
<description><![CDATA[<DIV id=view_content>
<DIV><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/IPC/semaphores" target=_blank>http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/IPC/semaphores</A></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>¼¼¸¶Æ÷¾î´Â System V IPC ÀÇ ¼³ºñÁß ÇÏ³ª·Î, ÇÏ³ªÀÇ ÀÚ¿ø¿¡ ¿©·¯°³ÀÇ ÇÁ·Î¼¼½º°¡ Á¢±ÙÇÏ·Á°í ÇÒ¶§, ÇØ´çÀÚ¿ø¿¡ ´ëÇÑ Á¢±ÙÁ¦¾î¸¦ ÇÏ±â À§ÇØ ÇÊ¿äÇÑ ¼³ºñÀÌ´Ù. <BR>ÀÌ¹ø °­ÁÂ¸¦ ÅëÇØ¼­ ¼¼¸¶Æ÷¾îÀÇ »ç¿ë¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú´Ù. <BR><BR><BR><STRONG>¼¼¸¶Æ÷¾î¶õ ¹«¾ùÀÎ°¡</STRONG> <BR>¼¼¸¶Æ÷¾î(Semaphores)¸¦ ºñ·Ï IPC¼³ºñÁßÀÇ ÇÏ³ª·Î ºÐ·ùÇÏ±ä ÇßÁö¸¸, ´Ù¸¥ ÆÄÀÌÇÁ, ¸Þ½ÃÁöÅ¥, FIFO µî°ú´Â Á»´Ù¸£´Ù. ´Ù¸¥ IPC ¼³ºñµéÀÌ ´ëºÎºÐ ÇÁ·Î¼¼½º°£ ¸Þ½ÃÁö Àü¼ÛÀ» ±× ¸ñÀûÀ¸·Î ÇÏ´Âµ¥ ¹ÝÇØ¼­ ¼¼¸¶Æ÷¾î´Â ÇÁ·Î¼¼½º°£ µ¥ÀÌÅ¸¸¦ µ¿±âÈ­ ÇÏ°í º¸È£ÇÏ´Âµ¥ ±×¸ñÀûÀÌ ÀÖ´Ù. <BR><BR>ÇÁ·Î¼¼½º°£ ¸Þ½ÃÁö Àü¼ÛÀ» ÇÏ°Å³ª, È¤Àº °øÀ¯¸Þ¸ð¸®¸¦ ÅëÇØ¼­ Æ¯Á¤ µ¥ÀÌÅ¸¸¦ °øÀ¯ÇÏ°Ô µÉ°æ¿ì ¹ß»ýÇÏ´Â ¹®Á¦°¡, °øÀ¯µÈ ÀÚ¿ø¿¡ ¿©·¯°³ÀÇ ÇÁ·Î¼¼½º°¡ µ¿½Ã¿¡ Á¢±ÙÀ» ÇÏ¸é¾ÈµÇ¸ç, ´ÜÁö ÇÑ¹ø¿¡ ÇÏ³ªÀÇ ÇÁ·Î¼¼½º¸¸ Á¢±Ù °¡´ÉÇÏµµ·Ï ¸¸µé¾îÁà¾ß ÇÒ°ÍÀÌ´Ù. ÀÌ°ÍÀº ¾²·¹µå¿¡¼­ ¸Þ½ÃÁö°£ µ¿±âÈ­¸¦ À§ÇØ¼­ mutex ¸¦ »ç¿ëÇÏ´Â°Í°ú °°Àº ÀÌÀ¯ÀÌ´Ù. <BR><BR>ÇÏ³ªÀÇ µ¥ÀÌÅ¸¿¡ ¿©·¯°³ÀÇ ÇÁ·Î¼¼½º°¡ °ü¿©ÇÒ¶§ ¾î¶² ¹®Á¦Á¡ÀÌ ¹ß»ýÇÒ¼ö ÀÖ´ÂÁö °£´ÜÇÑ ¿¹¸¦ µé¾îº¸µµ·Ï ÇÏ°Ú´Ù. int count=100; <BR>A ÇÁ·Î¼¼½º°¡ count ¸¦ ÀÐ¾îµéÀÎ´Ù. &nbsp; &nbsp; 100 <BR>B ÇÁ·Î¼¼½º°¡ count ¸¦ ÀÐ¾îµéÀÎ´Ù. &nbsp; &nbsp; 100 <BR>B ÇÁ·Î¼¼½º°¡ count ¸¦ 1 Áõ°¡ ½ÃÅ²´Ù. &nbsp;101 <BR>A ÇÁ·Î¼¼½º°¡ count ¸¦ 1 Áõ°¡ ½ÃÅ²´Ù. &nbsp;101 <BR><BR><BR>count ´Â °øÀ¯ÀÚ¿ø(°øÀ¯¸Þ¸ð¸® °°Àº)ÀÌ¸ç A¿Í B ÇÁ·Î±×·¥ÀÌ ¿©±â¿¡ ´ëÇÑ ÀÛ¾÷À» ÇÑ´Ù. A°¡ 1À» Áõ°¡ ½ÃÅ°°í B°¡ 1À» Áõ°¡½ÃÅ°¹Ç·Î ÃÖÁ¾ count °ªÀº 102 °¡ µÇ¾î¾ß ÇÒ°ÍÀÌ´Ù. ±×·¯³ª A °¡ ÀÛ¾÷À» ¸¶Ä¡±â Àü¿¡ B°¡ ÀÛ¾÷À» ÇÏ°Ô µÊÀ¸·Î ¾û¶×ÇÑ °á°ú¸¦ º¸¿©ÁÖ°Ô µÇ¾ú´Ù. À§ÀÇ ¹®Á¦¸¦ ÇØ°áÇÏ±â À§ÇØ¼­´Â count ¿¡ A°¡ Á¢±ÙÇÒ¶§ BÇÁ·Î¼¼½º°¡ Á¢±ÙÇÏÁö¸øÇÏµµ·Ï block ½ÃÅ°°í, A°¡ ¸ðµç ÀÛ¾÷À» ¸¶ÃÆÀ»¶§ BÇÁ·Î¼¼½º°¡ ÀÛ¾÷À» ÇÒ¼ö ÀÖµµ·Ï block ¸¦ ÇØÁ¦ ½ÃÅ°¸é µÉ°ÍÀÌ´Ù. <BR>¿ì¸®´Â ¼¼¸¶Æ÷¾î¸¦ ÀÌ¿ëÇØ¼­ ÀÌ·¯ÇÑ ÀÛ¾÷À» ÇÒ¼ö ÀÖ´Ù. ÇÑ¸¶µð·Î ÁÙ¿©¼­ ¼¼¸¶Æ÷¾î´Â "¿©·¯°³ÀÇ ÇÁ·Î¼¼½º¿¡ ÀÇÇØ¼­ °øÀ¯µÈ´Â ÀÚ¿øÀÇ Á¢±ÙÁ¦¾î¸¦ À§ÇÑ µµ±¸" ÀÌ´Ù. <BR>¼¼¸¶Æ÷¾îÀÇ ÀÛµ¿¿ø¸® <BR>ÀÛµ¿¿ø¸®´Â ¸Å¿ì °£´ÜÇÏ´Ù. Â÷´ÜÀ» ¿øÇÏ´Â ÀÚ¿ø¿¡´ëÇØ¼­ ¼¼¸¶Æ÷¾î¸¦ »ý¼ºÇÏ¸é ÇØ´çÀÚ¿øÀ» °¡¸®Å°´Â ¼¼¸¶Æ÷¾î °ªÀÌ ÇÒ´çµÈ´Ù. ÀÌ ¼¼¸¶Æ÷¾î °ª¿¡´Â ÇöÀç ¼¼¸¶Æ÷¾î¸¦ Àû¿ëÇÏ°í ÀÖ´Â ÀÚ¿ø¿¡ Á¢±ÙÇÒ¼ö ÀÖ´Â ÇÁ·Î¼¼½ºÀÇ ¼ýÀÚ¸¦ ³ªÅ¸³½´Ù. ÀÌ °ªÀÌ 0ÀÌ¸é ÀÌ ÀÚ¿ø¿¡ Á¢±ÙÇÒ¼ö ÀÖ´Â ÇÁ·Î¼¼½ºÀÇ ¼ýÀÚ°¡ 0ÀÌ¶ó´Â ¶æÀÌ¸ç, ÀÚ¿ø), 0º¸´Ù Å« Á¤¼ö¸é ÇØ´ç Á¤¼öÀÇ Å©±â¸¸Å­ÀÇ ÇÁ·Î¼¼½º°¡ ÀÚ¿ø¿¡ Á¢±ÙÇÒ¼ö ÀÖ´Ù¶ó´Â ¶æÀÌ µÈ´Ù. ±×·¯¹Ç·Î ¿ì¸®´Â Á¢±ÙÁ¦¾î¸¦ ÇØ¾ßÇÏ´Â ÀÚ¿ø¿¡ Á¢±ÙÇÏ±â Àü¿¡ ¼¼¸¶Æ÷¾î °ªÀ» °Ë»çÇØ¼­ °ªÀÌ 0ÀÌ¸é ÀÚ¿øÀ» »ç¿ëÇÒ¼ö ÀÖÀ»¶§±îÁö ±â´Ù¸®°í, 0º¸´Ù ´õÅ©¸é(1ÀÌ¶ó°í °¡Á¤ÇÏÀÚ) ÀÚ¿ø¿¡ Á¢±ÙÇØ¼­ ¼¼¸¶Æ÷¾î °ªÀ» 1 °¨¼Ò ½ÃÄÑ¼­, ¼¼¸¶Æ÷¾î °ªÀ» 0À¸·Î ¸¸µé¾î¼­, ´Ù¸¥ ÇÁ·Î¼¼½º°¡ ÀÚ¿ø¿¡ Á¢±ÙÇÒ¼ö ¾øµµ·Ï ÇÏ°í, ÀÚ¿øÀÇ »ç¿ëÀÌ ³¡³ª¸é ¼¼¸¶Æ÷¾î °ªÀ» ´Ù½Ã 1Áõ°¡½ÃÄÑ¼­ ´Ù¸¥ ÇÁ·Î¼¼½º°¡ ÀÚ¿øÀ» »ç¿ëÇÒ¼ö ÀÖµµ·Ï ¸¸µé¾îÁÖ¸é µÈ´Ù. <BR><BR>¸¸¾à ¼¼¸¶Æ÷¾î °ªÀ» °Ë»çÇß´Âµ¥ ¼¼¸¶Æ÷¾î °ªÀÌ 0ÀÌ¶ó¸é »ç¿ëÇÒ¼ö ÀÖ°Ô µÉ¶§±îÁö (1ÀÌ µÉ¶§±îÁö) ±â´Ù¸®¸é (block) µÉ°ÍÀÌ´Ù. <BR>¼¼¸¶Æ÷¾îÀÇ »ç¿ë <BR>¼¼¸¶Æ÷¾îÀÇ »ç¿ëÀº À§ÀÇ ÀÛµ¿¿ø¸®¸¦ ±×´ë·Î Àû¿ëÇÑ´Ù. Áï 1. ¼¼¸¶Æ÷¾î·Î Á¦¾îÇÒ ÀÚ¿øÀ» ¼³Á¤ÇÑ´Ù. <BR>2. ÇØ´ç ÀÚ¿øÀ» »ç¿ëÇÏ±âÀü¿¡ ¼¼¸¶Æ÷¾î °ªÀ» È®ÀÎÇÑ´Ù. <BR>3. ¼¼¸¶Æ÷¾î °ªÀÌ 0º¸´Ù Å©¸é ÀÚ¿øÀ» »ç¿ëÇÏ°í, ¼¼¸¶Æ÷¾î °ªÀ» 1 °¨¼Ò ½ÃÅ²´Ù. <BR>4. ¼¼¸¶Æ÷¾î °ªÀÌ 0ÀÌ¸é °ªÀÌ 0º¸´Ù Ä¿Áú¶§±îÁö block µÇ¸ç, 0º¸´Ù Ä¿Áö°Ô µÇ¸é 2¹ø ºÎÅÍ ½ÃÀÛÇÏ°Ô µÈ´Ù. <BR><BR>À§ÀÇ ÀÛ¾÷À» À§ÇØ¼­ Unix ´Â ´ÙÀ½°ú °°Àº °ü·ÃÇÔ¼öµéÀ» Á¦°øÇÑ´Ù. <BR></DIV>
<DIV class=dp-highlighter>
<DIV class=bar>
<DIV class=tools><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('ViewSource',this);return false;">view plain</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;">copy to clipboard</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('PrintSource',this);return false;">print</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('About',this);return false;">?</A></DIV></DIV>
<OL class=dp-cpp>
<LI class=alt><SPAN><SPAN class=preprocessor>#include&nbsp;&lt;sys/types.h&gt;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN></SPAN><SPAN class=preprocessor>#include&nbsp;&lt;sys/ipc.h&gt;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN></SPAN><SPAN class=preprocessor>#include&nbsp;&lt;sys/sem.h&gt;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN></SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;semget(key_t&nbsp;key,&nbsp;</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;nsems,&nbsp;</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;semflg);&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN></SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;semop&nbsp;(</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;semid,&nbsp;</SPAN><SPAN class=keyword>struct</SPAN><SPAN>&nbsp;sembuf&nbsp;*sops,&nbsp;unsigned&nbsp;nsops);&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN></SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;semctl(</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;semid,&nbsp;</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;semnum,&nbsp;</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;cmd,&nbsp;</SPAN><SPAN class=keyword>union</SPAN><SPAN>&nbsp;semun&nbsp;arg);&nbsp; &nbsp;&nbsp;</SPAN></SPAN></LI></OL></DIV><TEXTAREA class=Cpp style="DISPLAY: none" name=CodeHighLighterCode rows=10 readOnly cols=60>#include &lt;sys/types.h&gt; 
#include &lt;sys/ipc.h&gt; 
#include &lt;sys/sem.h&gt; 

int semget(key_t key, int nsems, int semflg); 
int semop (int semid, struct sembuf *sops, unsigned nsops); 
int semctl(int semid, int semnum, int cmd, union semun arg); 
</TEXTAREA><BR><BR><BR><STRONG>¼¼¸¶Æ÷¾îÀÇ °ü¸®</STRONG> <BR>¼¼¸¶Æ÷¾î´Â ±× Æ¯¼º»ó ¿øÀÚÈ­µÈ ¿¬»êÀ» ÇÊ¿ä·Î ÇÑ´Ù. ÀÌ·¯ÇÑ ¿øÀÚÈ­µÈ ¿¬»êÀº À¯Àú·¹º§ÀÇ ÇÔ¼ö¿¡¼­´Â Á¦°øÇÏ±â°¡ Èûµé¹Ç·Î, ¼¼¸¶Æ÷¾î Á¤º¸´Â Ä¿³Î¿¡¼­ Àü¿ë ±¸Á¶Ã¼¸¦ ÀÌ¿ëÇØ¼­ °ü¸®ÇÏ°Ô µÈ´Ù. ´ÙÀ½Àº Ä¿³Î¿¡¼­ ¼¼¸ðÆ÷¾î Á¤º¸¸¦ À¯ÁöÇÏ±â À§ÇØ¼­ °ü¸®ÇÏ´Â ±¸Á¶Ã¼ÀÎ semid_ds ±¸Á¶Ã¼ÀÇ ¸ð½ÀÀÌ´Ù. semid_ds ´Â /usr/include/bits/sem.h ¿¡ ¼±¾ðµÇ¾î ÀÖ´Ù. (ÀÌ°ÍÀº ¸®´ª½º¿¡¼­ÀÇ °æ¿ì·Î Unix ¹öÁ¯¿¡ µû¶ó¼­ À§Ä¡¿Í ¸â¹öº¯¼ö¿¡ ¾à°£¾¿ Â÷ÀÌ°¡ ÀÖÀ»¼ö ÀÖ´Ù) 
<DIV class=dp-highlighter>
<DIV class=bar>
<DIV class=tools><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('ViewSource',this);return false;">view plain</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;">copy to clipboard</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('PrintSource',this);return false;">print</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('About',this);return false;">?</A></DIV></DIV>
<OL class=dp-cpp>
<LI class=alt><SPAN><SPAN class=keyword>struct</SPAN><SPAN>&nbsp;semid_ds&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>{&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=keyword>struct</SPAN><SPAN>&nbsp;ipc_perm&nbsp;sem_perm;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;__time_t&nbsp;sem_otime;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</SPAN><SPAN class=datatypes>long</SPAN><SPAN>&nbsp;</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;__unused1;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;__time_t&nbsp;sem_ctime;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</SPAN><SPAN class=datatypes>long</SPAN><SPAN>&nbsp;</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;__unused2;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</SPAN><SPAN class=datatypes>long</SPAN><SPAN>&nbsp;</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;sem_nsems;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</SPAN><SPAN class=datatypes>long</SPAN><SPAN>&nbsp;</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;__unused3;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</SPAN><SPAN class=datatypes>long</SPAN><SPAN>&nbsp;</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;__unused4;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>};&nbsp;&nbsp;&nbsp;</SPAN></LI></OL></DIV><TEXTAREA class=Cpp style="DISPLAY: none" name=CodeHighLighterCode rows=10 readOnly cols=60>struct semid_ds 
{ 
 &nbsp; &nbsp;struct ipc_perm sem_perm; &nbsp; &nbsp; 
 &nbsp; &nbsp;__time_t sem_otime; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
 &nbsp; &nbsp;unsigned long int __unused1; 
 &nbsp; &nbsp;__time_t sem_ctime; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
 &nbsp; &nbsp;unsigned long int __unused2; 
 &nbsp; &nbsp;unsigned long int sem_nsems; &nbsp; 
 &nbsp; &nbsp;unsigned long int __unused3; 
 &nbsp; &nbsp;unsigned long int __unused4; 
}; </TEXTAREA><BR><BR><BR>sem_perm Àº ¼¼¸¶Æ÷¾î¿¡ ´ëÇÑ ÆÛ¹Ì¼ÇÀ¸·Î ÀÏ¹Ý ÆÄÀÏÆÛ¹Ì¼Ç°ú ¸¶Âù°¡ÁöÀÇ ±â´ÉÀ» Á¦°øÇÑ´Ù. Áï ÇöÀç ¼¼¸¶Æ÷¾î ±¸Á¶Ã¼¿¡ Á¢±ÙÇÒ¼ö ÀÖ´Â »ç¿ëÀÚ±ÇÇÑÀ» ¼³Á¤ÇÑ´Ù. sem_nsems ´Â »ý¼ºÇÒ¼ö ÀÖ´Â ¼¼¸¶Æ÷¾îÀÇ Å©±âÀÌ´Ù. sem_otime Àº ¸¶Áö¸·À¸·Î ¼¼¸¶Æ÷¾î°ü·Ã ÀÛ¾÷À» ÇÑ ½Ã°£(semop ÇÔ¼ö¸¦ ÀÌ¿ë)ÀÌ¸ç, sem_ctim Àº ¸¶Áö¸·À¸·Î ±¸Á¶Ã¼ Á¤º¸°¡ ¹Ù²ï ½Ã°£ÀÌ´Ù. <BR><STRONG>semget À» ÀÌ¿ëÇØ¼­ ¼¼¸¶Æ÷¾î¸¦ ¸¸µéÀÚ.</STRONG> <BR>¼¼¸¶Æ÷¾îÀÇ »ý¼ºÈ¤Àº ±âÁ¸¿¡ ¸¸µé¾îÁ® ÀÖ´Â ¼¼¸¶Æ÷¾î¿¡ Á¢±ÙÇÏ±â À§ÇØ¼­ À¯´Ð½º¿¡¼­ ´Â semget(2)¸¦ Á¦°øÇÑ´Ù. Ã¹¹øÂ° ¾Æ±Ô¸ÕÆ®´Â ¼¼¸¶Æ÷¾îÀÇ À¯ÀÏÇÑ Å°°ªÀ» À§ÇØ¼­ »ç¿ëÇÏ´Â int ÇüÀÇ Å°°ªÀÌ´Ù. ¿ì¸®´Â ÀÌ key °ªÀ» ÀÌ¿ëÇØ¼­ À¯ÀÏÇÑ ¼¼¸¶Æ÷¾î¸¦ »ý¼ºÇÏ°Å³ª Á¢±ÙÇÒ¼ö ÀÖ°Ô µÈ´Ù. »õ·Î »ý¼ºµÇ°Å³ª ±âÁ¸ÀÇ ¼¼¸¶Æ÷¾î¿¡ Á¢±ÙÇÏ°Å³ª ÇÏ´Â°ÍÀº semflg ¸¦ ÅëÇØ¼­ Á¦¾îÇÒ¼ö ÀÖ´Ù. ´ÙÀ½Àº semflg ÀÇ ¾Æ±Ô¸ÕÆ®ÀÌ´Ù. <BR><BR><BR>IPC_CREAT <BR>¸¸¾à Ä¿³Î¿¡ ÇØ´ç key °ªÀ¸·Î Á¸ÀçÇÏ´Â ¼¼¸¶Æ÷¾î°¡ ¾ø´Ù¸é, »õ·Î »ý¼º ÇÑ´Ù. <BR>IPC_EXCL <BR>IPC_CREAT¿Í ÇÔ²² »ç¿ëÇÏ¸ç, ÇØ´ç key °ªÀ¸·Î ¼¼¸¶Æ÷¾î°¡ ÀÌ¹Ì Á¸ÀçÇÑ´Ù¸é ½ÇÆÐ°ªÀ» ¸®ÅÏÇÑ´Ù. <BR>semflg ¸¦ ÅëÇØ¼­ ¼¼¸¶Æ÷¾î¿¡ ´ëÇÑ ÆÛ¹Ì¼ÇÀ» ÁöÁ¤ÇÒ¼öµµ ÀÖ´Ù. ÆÛ¹Ì¼Ç ÁöÁ¤Àº º¸ÅëÀÇ ÆÄÀÏ¿¡ ´ëÇØ¼­ À¯Àú/±×·ì/other ¿¡ ´ëÇØ¼­ ÁöÁ¤ÇÏ´Â°Í°ú °°´Ù. <BR><BR>¸¸¾à IPC_CREAT ¸¸ »ç¿ëÇÒ°æ¿ì ÇØ´ç key °ªÀ¸·Î Á¸ÀçÇÏ´Â ¼¼¸¶Æ÷¾î°¡ ¾ø´Ù¸é, »õ·Î »ý¼ºÇÏ°í, ÀÌ¹Ì Á¸ÀçÇÑ´Ù¸é Á¸ÀçÇÏ´Â ¼¼¸¶Æ÷¾îÀÇ id ¸¦ ³Ñ°ÜÁØ´Ù. IPC_EXCLÀ» »ç¿ëÇÏ¸é key °ªÀ¸·Î Á¸ÀçÇÏ´Â ¼¼¸¶Æ÷¾î°¡ ¾øÀ»°æ¿ì »õ·Î »ý¼ºµÇ°í, ÀÌ¹Ì Á¸ÀçÇÑ´Ù¸é Á¸ÀçÇÏ´Â id °ªÀ» µ¹·ÁÁÖÁö ¾Ê°í ½ÇÆÐ°ª(-1)À» µÇµ¹·ÁÁÖ°í, errno ¸¦ ¼³Á¤ÇÑ´Ù. <BR><BR>nsems Àº ¼¼¸¶Æ÷¾î°¡ ¸¸µé¾îÁú¼ö ÀÖ´Â Å©±âÀÌ´Ù. ÀÌ°ªÀº ÃÖÃÊ ¼¼¸¶Æ÷¾î¸¦ »ý¼ºÇÏ´Â »ý¼ºÀÚÀÇ °æ¿ì¿¡ Å©±â°¡ ÇÊ¿äÇÏ´Ù(º¸Åë 1). ±×¿Ü¿¡ ¼¼¸¶Æ÷¾î¿¡ Á¢±ÙÇØ¼­ »ç¿ëÇÏ´Â ¼ÒºñÀÚÀÇ °æ¿ì¿¡´Â ¼¼¸¶Æ÷¾î¸¦ ¸¸µéÁö ¾Ê°í ´ÜÁö Á¢±Ù¸¸ ÇÒ»ÓÀÓÀ¸·Î Å©±â´Â 0ÀÌ µÈ´Ù. <BR><BR>ÀÌ»óÀÇ ³»¿ëÀ» Á¤¸®ÇÏ¸é semget Àº ¾Æ·¡¿Í °°ÀÌ »ç¿ëÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù. ¸¸¾à ÃÖÃÊ »ý¼ºÀÌ¶ó¸é <BR>&nbsp; &nbsp;sem_num = 1; <BR>±×·¸Áö ¾Ê°í ¸¸µé¾îÁø ¼¼¸¶Æ÷¾î¿¡ Á¢±ÙÇÏ´Â °ÍÀÌ¶ó¸é <BR>&nbsp; &nbsp;sem_num = 0; <BR>sem_id = semget(12345, sem_num, IPC_CREAT|0660)) == -1) <BR>{ <BR>&nbsp; &nbsp;perror("semget error : "); <BR>&nbsp; &nbsp;return -1; <BR>} <BR><BR><BR>semget Àº ¼º°øÇÒ°æ¿ì int ÇüÀÇ ¼¼¸¶Æ÷¾î Áö»çÀÚ¸¦ µÇµ¹·ÁÁÖ¸ç, ¸ðµç ¼¼¸¶Æ÷¾î¿¡ ´ëÇÑ Á¢±ÙÀº ÀÌ ¼¼¸¶Æ÷¾î Áö½ÃÀÚ¸¦ »ç¿ëÇÏ°Ô µÈ´Ù. <BR><BR>À§ÀÇ ÄÚµå´Â key 12345 ¸¦ ÀÌ¿ëÇØ¼­ ¼¼¸¶Æ÷¾î¸¦ »ý¼ºÇÏ¸ç ÆÛ¹Ì¼ÇÀº 0660À¸·Î ¼³Á¤µÈ´Ù. ¼¼¸¶Æ÷¾îÀÇ Å©±â´Â 1·Î ÀâÇô ÀÖ´Ù(´ëºÎºÐÀÇ °æ¿ì 1). ¸¸¾à ±âÁ¸¿¡ key 12345 ·Î ÀÌ¹Ì ¸¸µé¾îÁø ¼¼¸¶Æ÷¾î°¡ ÀÖ´Ù¸é »õ·Î »ý¼ºÇÏÁö ¾Ê°í ±âÁ¸ÀÇ ¼¼¸¶Æ÷¾î¿¡ Á¢±ÙÇÒ¼ö ÀÖ´Â ¼¼¸¶Æ÷¾î Áö½ÃÀÚ¸¦ µÇµ¹·ÁÁÖ°Ô µÇ°í, Ä¿³ÎÀº semget ¸¦ ÅëÇØ ³Ñ¾î¿Â Á¤º¸¸¦ ÀÌ¿ëÇØ¼­ semid_ds ±¸Á¶Ã¼¸¦ ¼¼ÆÃÇÑ´Ù. <BR><BR><BR>¿¹Á¦: semget.c <BR>
<DIV class=dp-highlighter>
<DIV class=bar>
<DIV class=tools><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('ViewSource',this);return false;">view plain</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;">copy to clipboard</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('PrintSource',this);return false;">print</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('About',this);return false;">?</A></DIV></DIV>
<OL class=dp-cpp>
<LI class=alt><SPAN><SPAN class=preprocessor>#include&nbsp;&lt;sys/types.h&gt;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN></SPAN><SPAN class=preprocessor>#include&nbsp;&lt;sys/ipc.h&gt;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN></SPAN><SPAN class=preprocessor>#include&nbsp;&lt;sys/sem.h&gt;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN></SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;main()&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>{&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;semid;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;semid&nbsp;=&nbsp;semget((key_t)12345,&nbsp;1,&nbsp;0666&nbsp;|&nbsp;IPC_CREAT);&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>}&nbsp;&nbsp;&nbsp;</SPAN></LI></OL></DIV><TEXTAREA class=Cpp style="DISPLAY: none" name=CodeHighLighterCode rows=10 readOnly cols=60>#include &lt;sys/types.h&gt; 
#include &lt;sys/ipc.h&gt; 
#include &lt;sys/sem.h&gt; 

int main() 
{ 
 &nbsp; &nbsp;int semid; 
 &nbsp; &nbsp;semid = semget((key_t)12345, 1, 0666 | IPC_CREAT); 
} </TEXTAREA><BR><BR><BR>ÀÌÁ¦ À§ÀÇ ÄÚµå¸¦ ÄÄÆÄÀÏÇØ¼­ ½ÇÇà½ÃÅ°°í ³ª¼­ ½ÇÁ¦·Î ¼¼¸¶Æ÷¾î Á¤º¸°¡ ¾î¶»°Ô ¹Ù²î¿´´ÂÁö È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ. <BR><BR>Ä¿³Î¿¡¼­ °ü¸®µÇ´Â ipc Á¤º¸¸¦ ¾Ë¾Æº¸±â À§ÇØ¼­´Â ipcs(8)¶ó´Â µµ±¸¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. <BR>[root@localhost test]# ipcs -s &nbsp; &nbsp; <BR>------ Semaphore Arrays -------- <BR>key &nbsp; &nbsp; &nbsp; &nbsp;semid &nbsp; &nbsp; &nbsp;owner &nbsp; &nbsp; &nbsp;perms &nbsp; &nbsp; &nbsp;nsems &nbsp; &nbsp; &nbsp;status &nbsp; &nbsp; &nbsp; <BR>0x00003039 0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;root &nbsp; &nbsp; &nbsp;666 &nbsp; &nbsp; &nbsp; &nbsp;1 &nbsp; &nbsp; &nbsp; &nbsp; <BR><BR><BR>0x00003039 Àº key 12345 ÀÇ 16Áø¼ö Ç¥ÇöÀÌ´Ù. ÆÛ¹Ì¼ÇÀº 666À¸·Î µÇ¾î ÀÖ°í semget ¸¦ ÅëÇØ¼­ Á¦´ë·Î ¼³Á¤µÇ¾î ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù. <BR>¼¼¸¶Æ÷¾î¸¦ ÀÌ¿ëÇØ¼­ Á¢±ÙÁ¦¾î ÇÏ±â <BR>ÀÌÁ¦ semget À» ÅëÇØ¼­ ¼¼¸¶Æ÷¾î¸¦ ¸¸µé°Å³ª Á¢±ÙÇßÀ¸´Ï, ÀÌÁ¦ ½ÇÁ¦·Î ¼¼¸¶Æ÷¾î»óÅÂ¸¦ °Ë»çÇØ¼­ Á¢±ÙÁ¦¾î¸¦ ÇØº¸µµ·ÏÇÏÀÚ. <BR><BR>ÀÌ°ÍÀº semop¸¦ ÅëÇØ¼­ ÀÌ·ç¾îÁø´Ù. <BR><BR>semop ÀÇ Ã¹¹øÂ° semid ´Â semget À» ÅëÇØ¼­ ¾òÀº ¼¼¸¶Æ÷¾î Áö½ÃÀÚÀÌ´Ù. 2¹øÂ° ¾Æ±Ô¸ÕÆ®´Â struct sembuf ·Î½á, ¾î¶² ¿¬»êÀ» ÀÌ·ç¾îÁö°Ô ÇÒ·±Áö °áÁ¤ÇÏ±â À§ÇØ¼­ »ç¿ëµÈ´Ù. ±¸Á¶Ã¼ÀÇ ³»Àº ´ÙÀ½°ú °°À¸¸ç, sys/sem.h ¿¡ ¼±¾ðµÇ¾î ÀÖ´Ù. <BR>
<DIV class=dp-highlighter>
<DIV class=bar>
<DIV class=tools><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('ViewSource',this);return false;">view plain</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;">copy to clipboard</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('PrintSource',this);return false;">print</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('About',this);return false;">?</A></DIV></DIV>
<OL class=dp-cpp>
<LI class=alt><SPAN><SPAN class=keyword>struct</SPAN><SPAN>&nbsp;sembuf&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>{&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=datatypes>short</SPAN><SPAN>&nbsp;sem_num;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=comment>//&nbsp;¼¼¸¶Æ÷¾îÀÇ¼ö&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=datatypes>short</SPAN><SPAN>&nbsp;sem_op;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=comment>//&nbsp;¼¼¸¶Æ÷¾î&nbsp;¿¬»êÁöÁ¤&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=datatypes>short</SPAN><SPAN>&nbsp;sem_flg;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=comment>//&nbsp;¿¬»ê¿É¼Ç(flag)&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>}&nbsp;&nbsp;&nbsp;</SPAN></LI></OL></DIV><TEXTAREA class=Cpp style="DISPLAY: none" name=CodeHighLighterCode rows=10 readOnly cols=60>struct sembuf 
{ 
 &nbsp; &nbsp;short sem_num; &nbsp; &nbsp;// ¼¼¸¶Æ÷¾îÀÇ¼ö 
 &nbsp; &nbsp;short sem_op; &nbsp; &nbsp; // ¼¼¸¶Æ÷¾î ¿¬»êÁöÁ¤ 
 &nbsp; &nbsp;short sem_flg; &nbsp; &nbsp;// ¿¬»ê¿É¼Ç(flag) 
} </TEXTAREA><BR><BR><BR>sem_num ¸â¹ö´Â ¼¼¸¶Æ÷¾îÀÇ ¼ö·Î ¿©·¯°³ÀÇ ¼¼¸¶Æ÷¾î¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é(Áï ¹è¿­ÀÌ ¾Æ´Ò°æ¿ì) 0À» »ç¿ëÇÑ´Ù. ¹è¿­ÀÇ ÀÎµ¦½º »çÀÌÁî¶ó°í »ý°¢ÇÏ¸é µÉ°ÍÀÌ´Ù. º¸ÅëÀÇ °æ¿ì ÇÏ³ªÀÇ ¼¼¸¶Æ÷¾î¸¦ ÁöÁ¤ÇØ¼­ »ç¿ëÇÏ¹Ç·Î 0 ÀÌ µÉ°ÍÀÌ´Ù. <BR>sem_op ¸¦ ÀÌ¿ëÇØ¼­ ½ÇÁúÀûÀ¸·Î ¼¼¸¶Æ÷¾î ¿¬»êÀ» ÇÏ°Ô µÇ¸ç, ÀÌ°ÍÀ» ÀÌ¿ëÇØ¼­ ¼¼¸¶Æ÷¾î °ªÀ» Áõ°¡½ÃÅ°°Å³ª °¨¼Ò ½ÃÅ³¼ö ÀÕ´Ù. sem_op °ªÀÌ ¾ç¼öÀÏ °æ¿ì´Â ÀÚ¿øÀ» ´Ù ½èÀ¸´Ï, ¼¼¸¶Æ÷¾î °ªÀ» Áõ°¡½ÃÅ°°Ú´Ù´Â ¶æÀÌ¸ç, À½¼öÀÏ °æ¿ì¿¡´Â ¼¼¸¶Æ÷¾î¸¦ »ç¿ëÇÒ°ÍÀ» ¿äÃ»ÇÑ´Ù¶ó´Â ¶æÀÌ´Ù. À½¼öÀÏ °æ¿ì ¼¼¸¶Æ÷¾î°ªÀÌ ÃæºÐÇÏ´Ù¸é ¼¼¸¶Æ÷¾î¸¦ »ç¿ëÇÒ¼ö ÀÖÀ¸¸ç, Ä¿³ÎÀº ¼¼¸¶Æ÷¾îÀÇ °ªÀ» À½¼öÀÇ Å©±âÀÇ Àý´ë°ª¸¸Å­À» ¼¼¸¶Æ÷¾î¿¡¼­ »©ÁØ´Ù. ¸¸¾à ¼¼¸¶Æ÷¾îÀÇ °ªÀÌ ÃæºÐÇÏÁö ¾Ê´Ù¸é ¼¼¹øÂ° ¾Æ±Ô¸ÕÆ®ÀÎ sem_flg ¿¡ µû¶ó¼­ Çàµ¿ÀÌ °áÁ¤µÇ´Âµ¥, <BR>sem_flg °¡ IPC_NOWAIT·Î ¸í½ÃµÇ¾î ÀÖ´Ù¸é, ÇØ´ç¿µ¿ª¿¡¼­ ±â´Ù¸®Áö ¾Ê°í(none block) ¹Ù·Î ¿¡·¯ÄÚµå¸¦ ¸®ÅÏÇÑ´Ù. ±×·¸Áö ¾Ê´Ù¸é ¼¼¸¶Æ÷¾î¸¦ È¹µæÇÒ¼ö ÀÖÀ»¶§±îÁö block µÇ°Ô µÈ´Ù. sem_flg ´Â IPC_NOWAIT ¿Í SEM_UNDO 2°³ÀÇ ¼³Á¤ÇÒ¼ö ÀÖ´Â °ªÀ»°¡Áö°í ÀÖ´Ù. IPC_NOWAIT ´Â none block ¸ðµå ÁöÁ¤À» À§ÇØ¼­ »ç¿ëµÇ¸ç, SEM_UNDO ´Â ÇÁ·Î¼¼½º°¡ ¼¼¸¶Æ÷¾î¸¦ µ¹·ÁÁÖÁö ¾Ê°í Á¾·áÇØ¹ö¸±°æ¿ì Ä¿³Î¿¡¼­ ¾Ë¾Æ¼­ ¼¼¸¶Æ÷¾î °ªÀ» Á¶Á¤(Áõ°¡) ÇÒ¼ö ÀÖµµ·Ï ¸¸µé¾î ÁØ´Ù. <BR><BR>¼³¸íÀÌ ¾Æ¸¶ ¾Ö¸Å¸ðÈ£ÇÑ¸éÀÌ ÀÖÀ»°ÍÀÌ´Ù. °£´ÜÇÑ »óÈ²À» ¿¹·Î µé¾î¼­ ¼³¸íÇØ º¸°Ú´Ù. ÇöÀç ¼¼¸¶Æ÷¾î °ªÀÌ 1 ÀÌ¶ó°í °¡Á¤ÇÏÀÚ. <BR>ÀÌ¶§ A ÇÁ·Î¼¼½º°¡ semop ¸¦ ÅëÇØ¼­ ¼¼¸¶Æ÷¾î¿¡ Á¢±ÙÀ» ½ÃµµÇÑ´Ù. <BR>A´Â Á¢±ÙÀ» À§ÇØ¼­ sem_op ¿¡ -1 À» ¼¼ÆÃÇÑ´Ù. Áï ¼¼¸¶Æ÷¾î ÀÚ¿øÀ» 1 ¸¸Å­ »ç¿ëÇÏ°Ú´Ù¶ó´Â <BR>¶æÀÌ´Ù. &nbsp; <BR>ÇöÀç ÁØºñµÈ ¼¼¸¶Æ÷¾î °ªÀº 1·Î Áï½Ã »ç¿ëÇÒ¼ö ÀÖÀ¸¹Ç·Î, <BR>A´Â ÀÚ¿øÀ» »ç¿ëÇÏ°Ô µÇ¸ç, Ä¿³ÎÀº ¼¼¸¶Æ÷¾î °ªÀ» 1 ¸¸Å­ °¨¼Ò½ÃÅ²´Ù. <BR><BR>ÀÌ¶§ B ¶ó´Â ÇÁ·Î¼¼½º°¡ ¼¼¸¶Æ÷¾î ÀÚ¿øÀ» 1 ¸¸Å­ »ç¿ëÇÏ°Ú´Ù¶ó°í ¿äÃ»À» ÇÑ´Ù. <BR>±×·¯³ª Áö±Ý ¼¼¸¶Æ÷¾î °ªÀº 0 ÀÌ¹Ç·Î B´Â Áö±Ý´çÀå ¼¼¸¶Æ÷¾î ¸¦ »ç¿ëÇÒ¼ö ¾øÀ¸¸ç, <BR>±â´Ù¸®°Å³ª, ¿¡·¯°ªÀ» ¸®ÅÏ ¹Þ¾Æ¾ß ÇÑ´Ù(IPC_NOWAIT). &nbsp; <BR>B´Â ÀÚ¿ø »ç¿ë°¡´ÉÇÒ¶§±îÁö ±â´Ù¸®±â·Î °áÁ¤À» Çß´Ù. &nbsp; <BR><BR>Àá¼öÈÄ A´Â ¸ðµç ÀÛ¾÷À» ´Ù¸¶ÃÆ´Ù. <BR>ÀÌÁ¦ ¼¼¸¶Æ÷¾î¸¦ µÇµ¹·ÁÁà¾ß ÇÑ´Ù. sem_op ¿¡ 1 À» ¼¼ÆÃÇÏ¸é, <BR>Ä¿³ÎÀº ¼¼¸¶Æ÷¾î °ªÀ» 1Áõ°¡½ÃÅ°°Ô µÈ´Ù. <BR><BR>µåµð¾î ±â´Ù¸®´ø B°¡ ¼¼¸¶Æ÷¾î ÀÚ¿øÀ» »ç¿ëÇÒ¼ö ÀÖ´Â ¶§°¡ µµ·¡Çß´Ù. <BR>ÀÌÁ¦ ¼¼¸¶Æ÷¾î °ªÀº 1ÀÌ ¹Ç·Î B´Â ¼¼¸¶Æ÷¾î¸¦ È¹µæÇÏ°Ô µÈ´Ù. &nbsp; <BR>Ä¿³ÎÀº ¼¼¸¶Æ÷¾î °ªÀ» 1 °¨¼Ò ½ÃÅ²´Ù. <BR>B´Â ¿øÇÏ´Â ÀÛ¾÷À» ÇÑ´Ù. <BR>... <BR>... <BR><BR><BR><BR><STRONG>¼¼¸¶Æ÷¾î Á¶ÀÛ</STRONG> <BR>semctl ÀÌ¶õ ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼­ ¿ì¸®´Â ¼¼¸¶Æ÷¾î¸¦ Á¶Á¤ÇÒ¼ö ÀÖ´Ù. semctl Àº semid_ds ±¸Á¶Ã¼¸¦ º¯°æÇÔÀ¸·Î½á ¼¼¸¶Æ÷¾îÀÇ Æ¯¼ºÀ» Á¶Á¤ÇÑ´Ù. <BR><BR>Ã¹¹øÂ° ¾Æ±Ô¸ÕÆ®ÀÎ semid ´Â ¼¼¸¶Æ÷¾î Áö½ÃÀÚÀÌ´Ù. semnum Àº ¼¼¸¶Æ÷¾î ¹è¿­À» ´Ù·ê °æ¿ì »ç¿ëµÇ¸ç, º¸ÅëÀº 0ÀÌ´Ù. cmd ´Â ¼¼¸¶Æ÷¾î Á¶ÀÛ¸í·É¾î ¼ÂÀ¸·Î ´ÙÀ½°ú °°Àº Á¶ÀÛ¸í·É¾îµéÀ» °¡Áö°í ÀÖ´Ù. ¾Æ·¡´Â ±×Áß Áß¿äÇÏ´Ù°í »ý°¢µÇ´Â °Íµé¸¸À» ¼³¸íÇÏ¿´´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº semctl ¿¡ ´ëÇÑ man ÆäÀÌÁö¸¦ Âü°íÇÏ±â ¹Ù¶õ´Ù. <BR>IPC_STAT <BR>¼¼¸¶Æ÷¾î »óÅÂ°ªÀ» ¾ò¾î¿À±â À§ÇØ »ç¿ëµÇ¸ç, »óÅÂ°ªÀº arg ¿¡ ÀúÀåµÈ´Ù. <BR>IPC_RMID <BR>¼¼¸¶Æ÷¾î ¸¦ »èÁ¦ÇÏ±â À§ÇØ¼­ »ç¿ëÇÑ´Ù. <BR>IPC_SET <BR>semid_ds ÀÇ ipc_perm Á¤º¸¸¦ º¯°æÇÔÀ¸·Î½á ¼¼¸¶Æ÷¾î¿¡ ´ëÇÑ ±ÇÇÑÀ» º¯°æÇÑ´Ù. <BR>¿¹Á¦¸¦ ÅëÇÑ ÀÌÇØ <BR>Áö±Ý±îÁö ÀÍÇû´ø ³»¿ëÀ» Åä´ë·Î °£´ÜÇÑ ¿¹Á¦ÇÁ·Î±×·¥À» ¸¸µé¾îº¸°Ú´Ù. ¿¹Á¦ÀÇ »óÈ²Àº ÇÏ³ªÀÇ ÆÄÀÏ¿¡ 2°³ÀÇ ÇÁ·Î¼¼½º°¡ µ¿½Ã¿¡ Á¢±ÙÇÏ°íÀÚ ÇÏ´Âµ¥¿¡¼­ ¹ß»ýÇÑ´Ù. ÆÄÀÏ¿¡´Â count ¼ýÀÚ°¡ µé¾î ÀÖÀ¸¸ç, ÇÁ·Î¼¼½º´Â ÆÄÀÏÀ» ¿­¾î¼­ count ¼ýÀÚ¸¦ ÀÐ¾îµéÀÌ°í, ¿©±â¿¡ 1À» ´õÇØ¼­ ´Ù½Ã ÀúÀåÇÏ´Â ÀÛ¾÷À»ÇÑ´Ù. ÀÌ°ÍÀ» ¼¼¸¶Æ÷¾î¸¦ ÅëÇØ¼­ Á¦¾îÇÏÁö ¾ÊÀ¸¸é À§¿¡¼­ ¼³¸íÇÑ¹®Á¦°¡ ¹ß»ýÇÒ°ÍÀÌ´Ù. <BR><BR>À§ÀÇ ¹®Á¦¸¦ ÇØ°áÇÏ±â À§ÇØ¼­´Â ÆÄÀÏÀ» ¿­±âÀü¿¡ ¼¼¸¶Æ÷¾î¸¦ ¼³Á¤ÇØ¼­ ÇÑ¹ø¿¡ ÇÏ³ªÀÇ ÇÁ·Î¼¼½º¸¸ Á¢±Ù°¡´ÉÇÏµµ·Ï ÇÏ¸é µÉ°ÍÀÌ´Ù. ¸ðµç ÆÄÀÏÀÛ¾÷À» ¸¶Ä¡°Ô µÇ¸é, ¼¼¸¶Æ÷¾î ÀÚ¿øÀ» µ¹·ÁÁÜÀ¸·Î½á, ºñ·Î¼­ ´Ù¸¥ ÇÁ·Î¼¼½º°¡ Á¢±Ù°¡´ÉÇÏ°Ô ¸¸µé¾î¾ß ÇÑ´Ù. <BR>¿¹Á¦: sem_test <BR>
<DIV class=dp-highlighter>
<DIV class=bar>
<DIV class=tools><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('ViewSource',this);return false;">view plain</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;">copy to clipboard</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('PrintSource',this);return false;">print</A><A href="http://webdizen.new21.net/blog/category/Unix/Linux#" target=_blank &#111;&#110;click="dp.sh.Toolbar.Command('About',this);return false;">?</A></DIV></DIV>
<OL class=dp-cpp>
<LI class=alt><SPAN><SPAN class=preprocessor>#include&nbsp;&lt;sys/types.h&gt;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN></SPAN><SPAN class=preprocessor>#include&nbsp;&lt;sys/sem.h&gt;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN></SPAN><SPAN class=preprocessor>#include&nbsp;&lt;sys/ipc.h&gt;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN></SPAN><SPAN class=preprocessor>#include&nbsp;&lt;stdio.h&gt;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN></SPAN><SPAN class=preprocessor>#include&nbsp;&lt;unistd.h&gt;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN></SPAN><SPAN class=preprocessor>#define&nbsp;SEMKEY&nbsp;2345&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN></SPAN><SPAN class=keyword>union</SPAN><SPAN>&nbsp;semun&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>{&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;val;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=keyword>struct</SPAN><SPAN>&nbsp;semid_ds&nbsp;*buf;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</SPAN><SPAN class=datatypes>short</SPAN><SPAN>&nbsp;</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;*array;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>};&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN></SPAN><SPAN class=keyword>static</SPAN><SPAN>&nbsp;</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;&nbsp;semid;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN></SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;main(</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;argc,&nbsp;</SPAN><SPAN class=datatypes>char</SPAN><SPAN>&nbsp;**argv)&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>{&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=datatypes>FILE</SPAN><SPAN>*&nbsp;fp;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=datatypes>char</SPAN><SPAN>&nbsp;buf[11];&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=datatypes>char</SPAN><SPAN>&nbsp;count[11];&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=keyword>union</SPAN><SPAN>&nbsp;semun&nbsp;sem_union;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=comment>//&nbsp;open&nbsp;°ú&nbsp;close&nbsp;¸¦&nbsp;À§ÇÑ&nbsp;sembuf&nbsp;±¸Á¶Ã¼¸¦&nbsp;Á¤ÀÇÇÑ´Ù.&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=keyword>struct</SPAN><SPAN>&nbsp;sembuf&nbsp;mysem_open&nbsp;&nbsp;=&nbsp;{0,&nbsp;-1,&nbsp;SEM_UNDO};&nbsp;</SPAN><SPAN class=comment>//&nbsp;¼¼¸¶Æ÷¾î&nbsp;¾ò±â&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=keyword>struct</SPAN><SPAN>&nbsp;sembuf&nbsp;mysem_close&nbsp;=&nbsp;{0,&nbsp;1,&nbsp;SEM_UNDO};&nbsp;&nbsp;</SPAN><SPAN class=comment>//&nbsp;¼¼¸¶Æ÷¾î&nbsp;µ¹·ÁÁÖ±â&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=datatypes>int</SPAN><SPAN>&nbsp;sem_num;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;memset(buf,&nbsp;0x00,&nbsp;11);&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;memset(count,&nbsp;0x00,&nbsp;11);&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=comment>//&nbsp;¾Æ±Ô¸ÕÆ®°¡&nbsp;ÀÖÀ¸¸é&nbsp;»ý¼ºÀÚ&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=comment>//&nbsp;±×·¸Áö&nbsp;¾ÊÀ¸¸é&nbsp;¼ÒºñÀÚÀÌ´Ù.&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=keyword>if</SPAN><SPAN>&nbsp;(argc&nbsp;&gt;&nbsp;1)&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sem_num&nbsp;=&nbsp;1;&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=keyword>else</SPAN><SPAN>&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sem_num&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=comment>//&nbsp;¼¼¸¶Æ÷¼³Á¤À»&nbsp;ÇÑ´Ù.&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;semid&nbsp;=&nbsp;semget((key_t)234,&nbsp;sem_num,&nbsp;0660|IPC_CREAT);&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=keyword>if</SPAN><SPAN>&nbsp;(semid&nbsp;==&nbsp;-1)&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perror(</SPAN><SPAN class=string>"semget&nbsp;error&nbsp;"</SPAN><SPAN>);&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(0);&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=comment>//&nbsp;counter.txt&nbsp;ÆÄÀÏÀ»&nbsp;¿­±â&nbsp;À§ÇØ¼­&nbsp;¼¼¸¶Æ÷¾î°Ë»ç¸¦ÇÑ´Ù.&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=keyword>if</SPAN><SPAN>(semop(semid,&nbsp;&amp;mysem_open,&nbsp;1)&nbsp;==&nbsp;-1)&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perror(</SPAN><SPAN class=string>"semop&nbsp;error&nbsp;"</SPAN><SPAN>);&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(0);&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=keyword>if</SPAN><SPAN>&nbsp;((fp&nbsp;=&nbsp;fopen(</SPAN><SPAN class=string>"counter.txt"</SPAN><SPAN>,&nbsp;</SPAN><SPAN class=string>"r+"</SPAN><SPAN>))&nbsp;==&nbsp;NULL)&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perror(</SPAN><SPAN class=string>"fopen&nbsp;error&nbsp;"</SPAN><SPAN>);&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(0);&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=comment>//&nbsp;ÆÄÀÏÀÇ&nbsp;³»¿ëÀ»&nbsp;ÀÐÀºÈÄ&nbsp;ÆÄÀÏÀ»&nbsp;Ã³À½À¸·Î&nbsp;µÇµ¹¸°´Ù.&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;fgets(buf,&nbsp;11,&nbsp;fp);&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;rewind(fp);&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=comment>//&nbsp;°³Çà¹®ÀÚ¸¦&nbsp;Á¦°ÅÇÑ´Ù.&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;buf[strlen(buf)&nbsp;-&nbsp;1]&nbsp;=&nbsp;0x00;&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;sprintf(count,&nbsp;</SPAN><SPAN class=string>"%d\n"</SPAN><SPAN>,&nbsp;atoi(buf)&nbsp;+&nbsp;1);&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;printf(</SPAN><SPAN class=string>"%s"</SPAN><SPAN>,&nbsp;count);&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=comment>//&nbsp;10ÃÊ¸¦&nbsp;Àáµé°í&nbsp;³­ÈÄ&nbsp;count&nbsp;¸¦&nbsp;ÆÄÀÏ¿¡&nbsp;¾´´Ù.&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;sleep(10);&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;fputs(count,fp);&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;</SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;fclose(fp);&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=comment>//&nbsp;¸ðµç&nbsp;ÀÛ¾÷À»&nbsp;¸¶ÃÆ´Ù¸é&nbsp;¼¼¸¶Æ÷¾î&nbsp;ÀÚ¿øÀ»&nbsp;µÇµÉ·ÁÁØ´Ù&nbsp; </SPAN><SPAN>&nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;semop(semid,&nbsp;&amp;mysem_close,&nbsp;1);&nbsp; &nbsp;&nbsp;</SPAN> 
<LI class=""><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=keyword>return</SPAN><SPAN>&nbsp;1;&nbsp; &nbsp;&nbsp;</SPAN></SPAN> 
<LI class=alt><SPAN>}&nbsp; &nbsp;&nbsp;</SPAN></LI></OL></DIV><TEXTAREA class=Cpp style="DISPLAY: none" name=CodeHighLighterCode rows=10 readOnly cols=60>#include &lt;sys/types.h&gt; 
#include &lt;sys/sem.h&gt; 
#include &lt;sys/ipc.h&gt; 
#include &lt;stdio.h&gt; 
#include &lt;unistd.h&gt; 

#define SEMKEY 2345 

union semun 
{ 
 &nbsp; &nbsp;int val; 
 &nbsp; &nbsp;struct semid_ds *buf; 
 &nbsp; &nbsp;unsigned short int *array; 
}; 

static int &nbsp;semid; 
int main(int argc, char **argv) 
{ 
 &nbsp; &nbsp;FILE* fp; 
 &nbsp; &nbsp;char buf[11]; 
 &nbsp; &nbsp;char count[11]; 

 &nbsp; &nbsp;union semun sem_union; 

 &nbsp; &nbsp;// open °ú close ¸¦ À§ÇÑ sembuf ±¸Á¶Ã¼¸¦ Á¤ÀÇÇÑ´Ù. 
 &nbsp; &nbsp;struct sembuf mysem_open &nbsp;= {0, -1, SEM_UNDO}; // ¼¼¸¶Æ÷¾î ¾ò±â 
 &nbsp; &nbsp;struct sembuf mysem_close = {0, 1, SEM_UNDO}; &nbsp;// ¼¼¸¶Æ÷¾î µ¹·ÁÁÖ±â 
 &nbsp; &nbsp;int sem_num; 

 &nbsp; &nbsp;memset(buf, 0x00, 11); 
 &nbsp; &nbsp;memset(count, 0x00, 11); 

 &nbsp; &nbsp;// ¾Æ±Ô¸ÕÆ®°¡ ÀÖÀ¸¸é »ý¼ºÀÚ 
 &nbsp; &nbsp;// ±×·¸Áö ¾ÊÀ¸¸é ¼ÒºñÀÚÀÌ´Ù. 
 &nbsp; &nbsp;if (argc &gt; 1) 
 &nbsp; &nbsp; &nbsp; &nbsp;sem_num = 1; 
 &nbsp; &nbsp;else 
 &nbsp; &nbsp; &nbsp; &nbsp;sem_num = 0; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 

 &nbsp; &nbsp;// ¼¼¸¶Æ÷¼³Á¤À» ÇÑ´Ù. 
 &nbsp; &nbsp;semid = semget((key_t)234, sem_num, 0660|IPC_CREAT); 
 &nbsp; &nbsp;if (semid == -1) 
 &nbsp; &nbsp;{ 
 &nbsp; &nbsp; &nbsp; &nbsp;perror("semget error "); 
 &nbsp; &nbsp; &nbsp; &nbsp;exit(0); 
 &nbsp; &nbsp;} &nbsp; &nbsp; 

 &nbsp; &nbsp;// counter.txt ÆÄÀÏÀ» ¿­±â À§ÇØ¼­ ¼¼¸¶Æ÷¾î°Ë»ç¸¦ÇÑ´Ù. 
 &nbsp; &nbsp;if(semop(semid, &amp;mysem_open, 1) == -1) 
 &nbsp; &nbsp;{ 
 &nbsp; &nbsp; &nbsp; &nbsp;perror("semop error "); 
 &nbsp; &nbsp; &nbsp; &nbsp;exit(0); 
 &nbsp; &nbsp;} 

 &nbsp; &nbsp;if ((fp = fopen("counter.txt", "r+")) == NULL) 
 &nbsp; &nbsp;{ 
 &nbsp; &nbsp; &nbsp; &nbsp;perror("fopen error "); 
 &nbsp; &nbsp; &nbsp; &nbsp;exit(0); 
 &nbsp; &nbsp;} 
 &nbsp; &nbsp;// ÆÄÀÏÀÇ ³»¿ëÀ» ÀÐÀºÈÄ ÆÄÀÏÀ» Ã³À½À¸·Î µÇµ¹¸°´Ù. &nbsp; 
 &nbsp; &nbsp;fgets(buf, 11, fp); 
 &nbsp; &nbsp;rewind(fp); 

 &nbsp; &nbsp;// °³Çà¹®ÀÚ¸¦ Á¦°ÅÇÑ´Ù. 
 &nbsp; &nbsp;buf[strlen(buf) - 1] = 0x00; 

 &nbsp; &nbsp;sprintf(count, "%d\n", atoi(buf) + 1); 
 &nbsp; &nbsp;printf("%s", count); 
 &nbsp; &nbsp;// 10ÃÊ¸¦ Àáµé°í ³­ÈÄ count ¸¦ ÆÄÀÏ¿¡ ¾´´Ù. 
 &nbsp; &nbsp;sleep(10); 
 &nbsp; &nbsp;fputs(count,fp); 

 &nbsp; &nbsp;fclose(fp); 
 &nbsp; &nbsp;// ¸ðµç ÀÛ¾÷À» ¸¶ÃÆ´Ù¸é ¼¼¸¶Æ÷¾î ÀÚ¿øÀ» µÇµÉ·ÁÁØ´Ù 
 &nbsp; &nbsp;semop(semid, &amp;mysem_close, 1); 
 &nbsp; &nbsp;return 1; 
} 
</TEXTAREA><BR><BR><BR><BR>ÄÚµå´Â ¸Å¿ì °£´ÜÇÏÁö¸¸, ¼¼¸¶Æ÷¾î¿¡ ´ëÇÑ ±âº»ÀûÀÎ ÀÌÇØ¸¦ ÃæºÐÈ÷ ÇÒ¼ö ÀÖÀ»¸¸ÇÑ ÄÚµåÀÌ´Ù. »ý¼ºÀÚ¿Í ¼ÒºñÀÚÀÇ ºÐ¸®´Â ÇÁ·Î±×·¥¿¡ ³Ñ°ÜÁö´Â ¾Æ±Ô¸ÕÆ®¸¦ ÀÌ¿ëÇß´Ù. ¸ðµç ÀÛ¾÷À» ¸¶Ä¡¸é Å×½ºÆ®¸¦ À§ÇØ¼­ 10ÃÊ¸¦ ±â´Ù¸°ÈÄ¿¡ ¼¼¸¶Æ÷¾î¸¦ µ¹·ÁÁÖµµ·Ï ÄÚµùµÇ¾î ÀÖ´Ù. <BR><BR>¿ì¼± count ¸¦ ÀúÀåÇÒ ÆÄÀÏ counter.txt ¸¦ ¸¸µé°í ¿©±â¿¡´Â 1À» ÀúÀåÇØ ³õ´Â´Ù. ±×´ÙÀ½ ./sem_test ¸¦ ½ÇÇà½ÃÅ°´Âµ¥, ÃÖÃÊ¿¡´Â »ý¼ºÀÚ¸¦ ¸¸µé¾î¾ß ÇÏ¹Ç·Î ¾Æ±Ô¸ÕÆ®¸¦ ÁÖ¾î¼­ ½ÇÇà½ÃÅ°°í, ±×´ÙÀ½¿¡ ½ÇÇà½ÃÅ³¶§´Â ¼ÒºñÀÚ°¡ µÇ¹Ç·Î ¾Æ±Ô¸ÕÆ® ¾øÀÌ ½ÇÇàÇÏµµ·Ï ÇÏÀÚ. ´ÙÀ½Àº Å×½ºÆ® ¹æ¹ýÀÌ´Ù. <BR>[root@coco test]# ./sem_test 1&amp; <BR>[1] 3473 <BR>36 <BR>[root@coco test]# ./sem_test <BR><BR><BR>À§ ÄÚµå¸¦ ½ÇÇàÇØº¸¸é ./sem_test 1 ÀÌ ¼¼¸¶Æ÷¾îÀÚ¿øÀ» µ¹·ÁÁÖ±â Àü±îÁö ./sem_test °¡ ÇØ´ç¿µ¿ª¿¡¼­(¼¼¸¶Æ÷¾î ¿äÃ»ÇÏ´Â ºÎºÐ) ºí·°µÇ¾î ÀÖÀ½À» ¾Ë¼ö ÀÖ°í, Ãæµ¹¾øÀÌ count°¡ ÀßµÇ´Â°ÍÀ» º¼¼ö ÀÖÀ»°ÍÀÌ´Ù. <BR><BR>¼¼¸¶Æ÷¾î´Â Ä¿³Î¿¡¼­ °ü¸®ÇÏ´Âµ¥ ¼¼¸¶Æ÷¾î¸¦ »ç¿ëÇÏ´Â ÇÁ·Î¼¼½º°¡ ¾ø´Ù°í ÇÏ´õ¶óµµ semctl À» ÀÌ¿ëÇØ¼­ Á¦°ÅÇÏÁö ¾Ê´ÂÇÑÀº Ä¿³Î¿¡ ³²¾ÆÀÖ°Ô µÈ´Ù. ¼¼¸¶Æ÷¾î Á¤º¸¸¦ Á¦°ÅÇÏ±â À§ÇØ¼­´Â semctl ¿¬»êÀ» ÇÏµçÁö, ÄÄÇ»ÅÍ¸¦ ¸®º× ½ÃÄ¿°Å³ª, ipcrm(8)ÀÌ¶õ µµ±¸¸¦ »ç¿ëÇØ¼­ Á¦°Å½ÃÄÑ Áà¾ß ÇÑ´Ù. <BR>°á·Ð <BR>¼¼¸¶Æ÷¾î´Â fcntl °ú ¸Å¿ì ºñ½ÁÇÑ ÀÏÀ» ¼öÇàÇÏ´Âµ¥, Á»´õ ¼¼¹ÐÇÑ Á¶Á¤ÀÌ °¡´ÉÇÏ´Ù¶ó´Â ÀåÁ¡À» °¡Áö°í ÀÖÁö¸¸ °£´ÜÇÑ ÀÏÀ» ÇÏ±â¿£ Áö³ªÄ¡°Ô º¹ÀâÇÑ ¸éÀÌ ¾øÀÝ¾Æ ÀÖ´Ù. ÀÌ·²°æ¿ì¿¡´Â ¼¼¸¶Æ÷¾î ´ë½Å fcntl À» »ç¿ëÇÏÀÚ. <BR>fcntl Àº ±âÈ¸°¡ µÇ´Âµ¥·Î ´Ù·çµµ·Ï ÇÏ°Ú´Ù.&nbsp;</DIV>]]></description>
<dc:creator>ÃÖ°í°ü¸®ÀÚ</dc:creator>
<dc:date>Tue, 01 Dec 2009 10:41:25 +0900</dc:date>
</item>
<item>
<title>¸®´ª½º È¯°æ¿¡¼­ÀÇ C ÇÁ·Î±×·¡¹Ö - 4Àå º¯¼ö¿Í ¿¬»êÀÚ</title>
<link>http://chonnom.com/bbs/board.php?bo_table=B22&amp;wr_id=4</link>
<description><![CDATA[<DIV id=view_content>
<H2><FONT size=2>ÃâÃ³ </FONT><A href="http://teamblog.joinc.co.kr/yundream/189" target=_blank><FONT size=2>http://teamblog.joinc.co.kr/yundream/189</FONT></A></H2>
<DIV>&nbsp;</DIV>
<H2><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1</A> º¯¼ö¿Í ¿¬»êÀÚ </H2>
<DIV>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.1</A> C¿¡¼­ »ç¿ëµÇ´Â ¹®ÀÚµé </H3>
<DIV>ÀÎ°£ÀÌ ¾²´Â ¾ð¾îÀÇ ¼ýÀÚ¸¸ ÇØµµ ¾Æ¸¶ 100¿©°³°¡ ³ÑÀ»°Å¶ó°í »ý°¢µÈ´Ù. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=C" target=_blank>C</A>¾ð¾î´Â <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EA%B8%B0%EA%B3%84%EC%96%B4" target=_blank>±â°è¾î</A>¸¦ ´ë½ÅÇØ¼­ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÀÎ°£ÀÇ ¾ð¾î·Î ¾²¿©Áø <STRONG>ÇÁ·Î±×·¡¹Ö ¾ð¾î</STRONG>ÀÎµ¥, ±×·¸´Ù¸é ÀÎ°£ÀÇ ¾ð¾îÁß ¾î¶² ¾ð¾î¸¦ »ç¿ëÇÏ°í ÀÖÀ»±î. ´äÀº <STRONG>¿µ¾î</STRONG>´Ù. ÄÄÇ»ÅÍ¶ó´Â ±â°è°¡ ¿µ¾î¹®¸í±Ç¿¡¼­ ¹ß¸íÀÌ µÇ´Ùº¸´Ï, ÄÄÇ»ÅÍ¿¡¼­ ÇÁ·Î±×·¥À» ¸¸µé±â À§ÇØ »ç¿ëÇÑ <STRONG>C</STRONG>¾ð¾îµµ ÀÚ¿¬½º·´°Ô ¿µ¾î ¾ËÆÄºªÀ» ±âº» ¹®ÀÚ·Î »ç¿ëÇÏµµ·Ï ¸¸µé¾î Á³´Ù. - ÇÑ±Û·ÎµÈ ÄÄÇ»ÅÍ ¾ð¾î¸¦ »ç¿ëÇØº¸ÀÚ¶ó°í ÇØ¼­ ¾¾¾ÑÀÌ¶ó´Â ÇÑ±Û·Î »ç¿ë°¡´ÉÇÑ ¾ð¾î°¡ ÀÖ¾ú±â´Â Çß´Ù. ´ç½Ã¿¡´Â ²Ï ÁÖ¸ñÀ» ¹Þ±âµµ Çß¾ú´Âµ¥, ¼Ò¸®¼Ò¹® ¾øÀÌ ÀØÇôÁö°í ¸»¾Ò´Ù. ±×¶§°¡ ³»°¡ ´ëÇÐ 1ÇÐ³â ¶§ÀÎ°¡? µÇ¾ú´ø µí ½Í´Ù. - <BR><BR>
<DIV>C¿¡¼­ »ç¿ëÇÏ´Â ¹®ÀÚµéÀº ´ÙÀ½°ú °°´Ù.<BR><PRE class=code>a b c d e f g h i j k l m n o p q r s t u v w x y z<BR>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z<BR>0 1 2 3 4 5 6 7 8 9<BR>! " # % &amp; ' ( ) * + , - . /<BR>: ; &lt; = &gt; ? [ \ ] ^ _ { | } ~<BR>space, tab, newline, form feed<BR></PRE>À§ÀÇ ¹®ÀÚ¼ÂÀº C¾ð¾î »Ó¸¸ ¾Æ´Ï¶ó. ´Ù¸¥ °ÅÀÇ ´ëºÎºÐÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­µµ ±âº»À¸·Î »ç¿ëÇÏ°í ÀÖ´Ù. <BR><BR>
<DIV>2¹ÙÀÌÆ® ÀÌ»óÀÇ ¹®ÀÚ´Â ÁÖ¼®¿Ü¿¡´Â »ç¿ëÇÒ ¼ö ¾ø´Â°Ô ÀÏ¹ÝÀûÀÌ´Ù.<BR><BR>
<DIV>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.2</A> º¯¼ö¿Í »ó¼ö </H3>
<DIV>ÄÄÇ»ÅÍ´Â ¿¬»êÀ» ºü¸£°Ô ÇÏ±â À§ÇÑ ±â°è·Î, ¿¬¼ÓµÈ ¼ö ¸¹Àº ¿¬»êµéÀ» Ã³¸®ÇØ ³ª°£´Ù. ¿¬»ê¿¡´Â <STRONG>¿¬»êÀÚ</STRONG>¿Í <STRONG>ÇÇ¿¬»êÀÚ</STRONG>°¡ ÇÊ¿äÇÏ´Ù´Â °ÍÀº ´©±¸³ª ¾Ë°í ÀÖÀ» °ÍÀÌ´Ù.<BR><PRE class=code>    +-------------- ÇÇ¿¬»êÀÚ<BR>    |<BR> +-------+<BR> |       |<BR> 1   +   2<BR>     |<BR>     +-------------- ¿¬»êÀÚ<BR></PRE>ÀÌÁ¦ ¿¬¼ÓµÈ ¿¬»ê, ¿¹¸¦µé¾î¼­ 1ºÎÅÍ 100±îÁöÀÇ ¼ýÀÚ¸¦ ´õÇÏ´Â ¿¬»êÀ» ÇØ¾ßÇÑ´Ù°í °¡Á¤ÇØº¸ÀÚ. ´Ü¼øÇÏ°Ô 1ºÎÅÍ 100±îÁö ´õÇÒ°æ¿ì 100¹øÀÇ µ¡¼ÀÀÌ ÇÊ¿äÇÏ°Ô µÇ´Âµ¥, ÀÌ¸¦ À§ÇØ¼­´Â °¢°¢ÀÇ ¿¬»ê°á°ú¸¦ <STRONG>¾îµò°¡¿¡</STRONG> ÀúÀåÀ» ÇØ¾ß ÇÑ´Ù. ÀÌ·±°æ¿ì ¾Ï»ê´É·ÂÀÌ ÁÁÀº »ç¶÷Àº ¸Ó¸®¿¡ ¿¬»ê°á°ú¸¦ ±â¾ïÇÒ °ÍÀÌ°í, ±×·¸Áö ¸øÇÑ »ç¶÷Àº Á¾ÀÌµîÀ» ÀÌ¿ëÇÏ°Ô µÉ °ÍÀÌ´Ù.<BR><BR>
<DIV>ÄÄÇ»ÅÍ´Â ¸Þ¸ð¸®°ø°£À» ÀÌ¿ëÇÑ´Ù. À§ÀÇ 1ºÎÅÍ 100±îÁö ´õÇÏ´Â ¿¬»êÀ» ÇÒ°æ¿ì ¸Å¹ø ¸Þ¸ð¸®ÀÇ ÀúÀåÀå¼Ò¿¡ ¿¬»ê°á°ú¸¦ ³Ö¾ú´Ù »°´ÙÇÏ´Â ÀÏÀ» ÇÑ´Ù. ÀÌ·± ÄÄÇ»ÅÍÀÇ ¸Þ¸ð¸® °ø°£¿¡´Â ÀÏ·ÃÀÇ ¼ýÀÚ·ÎµÈ ÁÖ¼Ò°¡ ¸Þ°ÜÁ® ÀÖ´Ù. ¿©·¯ºÐÀÇ ÄÄÇ»ÅÍÀÇ ¸Þ¸ð¸®°¡ 2 <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Gigabyte" target=_blank>Gigabyte</A>¶ó¸é, 0ºÎÅÍ 2147483647±îÁöÀÇ ¹øÈ£°¡ ¸Å°ÜÁ® ÀÖ°í, ÀÌÁß »ç¿ëÇÏÁö ¾Ê´Â °÷ÀÇ ÁÖ¼ÒÀÇ ¹øÈ£¸¦ ¾Ë¾Æ³»¾î¼­ ±×°÷¿¡ ¿¬»ê°á°ú¸¦ ÀúÀåÇÏ´Â ½ÄÀÌ´Ù.<BR><BR>
<DIV>¿©·¯ºÐÀÌ ¿¬»ê°á°ú¸¦ ÀúÀåÇÏ±â À§ÇØ¼­ 2184912 ¹øÂ° ÁÖ¼Ò¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù¶ó°í °¡Á¤ÇØº¸ÀÚ. ±â¾ïÇØ¼­ »ç¿ëÇÏ±â°¡ ±×·¸°Ô ¸¸¸¸Ä¡ ¾ÊÀ» °ÍÀÌ´Ù. ±×·¡¼­ »ç¿ëÇÏ±â ½±°Ô, ¼ýÀÚ´ë½Å ¾ËÆÄºª¹®ÀÚ¸¦ »ç¿ëÇØ¼­ ÇØ´ç ÁÖ¼Ò¸¦ ´ë½Å °¡¸®Å°°Ô µÈ´Ù. ÀÌ¶§ ¿¬»êÀÇ °á°ú·Î ÀúÀåµÇ´Â °ªÀ» <STRONG>º¯¼ö</STRONG>¶ó°í ÇÏ°í, º¯¼ö°¡ ÀúÀåµÉ °ø°£À» ½±°Ô »ç¿ëÇÏ±â À§ÇØ¼­ ¿µ¾î·Î ¸í¸íÇÑ °ÍÀ» º¯¼ö¸í ÀÌ¶ó°í ÇÑ´Ù. <BR><BR>
<DIV>º¯ÇÏ´Â ¼ö°¡ ÀÖÀ¸¸é º¯Ä¡ ¾Ê´Â ¼ö°¡ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ¸¦ <STRONG>»ó¼ö</STRONG>¶ó°í ÇÏ¸ç, ¸¶Âù°¡Áö·Î <STRONG>»ó¼ö</STRONG>¸íÀ» ÀÌ¿ëÇØ¼­ »ó¼ö°¡ ÀúÀåµÉ ¸Þ¸ð¸® °ø°£À» °¡¸®Å°°Ô µÈ´Ù.<BR><BR>
<DIV><PRE class=code>              +----------&lt;--------- sum = 1+2<BR>              |<BR> +-----------+---+---------+<BR> | ¸Þ¸ð¸®    |   |         |<BR> +-----------+---+---------+<BR></PRE>À§ÀÇ ±×¸²¿¡¼­ <STRONG>sum</STRONG>ÀÌ º¯¼ö¸íÀÌ µÇ°í, sum¿¡´Â ¿¬»êÀÇ °á°úÀÎ 3ÀÌ ÀúÀåµÈ´Ù.<BR><BR>
<DIV>°£´ÜÇÏ°Ô 1+10À» ´õÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î º¸ÀÚ.<BR><PRE class=code>#include &lt;stdio.h&gt;<BR><BR>int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=main" target=_blank>main</A>()<BR>{<BR>    int a, b;<BR>    int sum;<BR><BR>    a = 1;<BR>    b = 10<BR>    sum = a+b; <BR>    printf("%d\n", sum);<BR>}<BR></PRE>
<FORM action=/modules/moniwiki/down.php method=post><INPUT type=hidden value=%23include+%3Cstdio.h%3E%0A%0Aint+main%28%29%0A%7B%0A%09int+a%2C+b%3B%0A%09int+sum%3B%0A%0A%09a+%3D+1%3B%0A%09b+%3D+10%0A%09sum+%3D+a%2Bb%3B+%0A%09printf%28%22%25d%5Cn%22%2C+sum%29%3B%0A%7D%0A name=contents><INPUT type=hidden value=sum.c name=rfile><INPUT type=submit value="´Ù¿î·Îµå : sum.c"></FORM>¾ÆÁ÷ C¹®¹ýÀ» °øºÎÇÏÁø ¸øÇßÁö¸¸, ´ë·« ÀÌÇØÇÏ´Âµ¥ ¾î·Á¿òÀÌ ¾øÀ» °ÍÀÌ´Ù. <BR>
<OL type=1>
<LI>a = 1 : º¯¼ö a°¡ °¡¸®Å°´Â °÷¿¡ <STRONG>1</STRONG>À» ÀúÀåÇÏ°í <BR>
<LI>b = 10 : º¯¼ö b°¡ °¡¸®Å°´Â °÷¿¡ <STRONG>10</STRONG>À» ÀúÀåÇÑ´Ù. <BR>
<LI>sum = a+b : º¯¼ö <STRONG>a</STRONG>°¡ °¡¸®Å°´Â °÷ÀÇ °ª 1°ú º¯¼ö <STRONG>b</STRONG>°¡ °¡¸®Å°´Â °÷¿¡ ÀúÀåµÈ °ª <STRONG>10</STRONG>À» °¡Á®¿Í¼­ ´õÇÏ°í, ±× °á°ú°ªÀÎ 11À» <STRONG>sum</STRONG>¿¡ ÀúÀåÇÑ´Ù. <BR>
<LI>º¯¼ö sumÀÌ °¡¸®Å°´Â °÷¿¡ ÀúÀåµÈ °ª 11À» °¡Á®¿À°í printf¶ó´Â ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼­ È­¸é¿¡ Ãâ·ÂÇÑ´Ù. <BR><BR></LI></OL>
<DIV>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.2.1</A> ¸í¸í ±ÔÄ¢ </H4>
<DIV>º¯¼ö¸í°ú »ó¼ö¸íÀº <STRONG>¾ËÆÄºª ¿µ¹®ÀÚ¿Í ¼Ò¹®ÀÚ</STRONG>, <STRONG>¼ýÀÚ</STRONG>,<STRONG>_</STRONG>°¡ »ç¿ëµÉ ¼ö ÀÖ´Ù. ¶ÇÇÑ Ã¹±ÛÀÚ´Â ¹Ýµå½Ã '¿µ¹®¼Ò¹®ÀÚ','´ë¹®ÀÚ', '_'¿©¾ß ÇÑ´Ù. <BR>
<DIV class=indent>
<TABLE class=wiki cellSpacing=2 cellPadding=3>
<TBODY>
<TR class=wiki>
<TD class=wiki align=left>º¯¼ö¸í </TD>
<TD class=wiki align=left>Çã¿ë¿©ºÎ </TD>
<TD class=wiki align=left>¼³¸í </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>sum1 </TD>
<TD class=wiki align=left>O </TD>
<TD class=wiki><BR></TD></TR>
<TR class=wiki>
<TD class=wiki align=left>Sum_2 </TD>
<TD class=wiki align=left>O </TD>
<TD class=wiki><BR></TD></TR>
<TR class=wiki>
<TD class=wiki align=left>_sum </TD>
<TD class=wiki align=left>O </TD>
<TD class=wiki><BR></TD></TR>
<TR class=wiki>
<TD class=wiki align=left>1sum </TD>
<TD class=wiki align=left>X </TD>
<TD class=wiki align=left>Ã¹¸Ó¸®¿¡ ¼ýÀÚ°¡ ¿Ô´Ù </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>sum 1 </TD>
<TD class=wiki align=left>X </TD>
<TD class=wiki align=left>°ø¹éÀÌ Á¸ÀçÇÏ¸é ¾ÈµÈ´Ù </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>sum!2 </TD>
<TD class=wiki align=left>X </TD>
<TD class=wiki align=left>Æ¯¼ö¹®ÀÚ´Â »ç¿ëµÉ ¼ö ¾ø´Ù </TD></TR></TBODY></TABLE><BR></DIV>
<DIV>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.3</A> µ¥ÀÌÅÍ Çü°ú Å©±â </H3>
<DIV>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.3.1</A> ±âº» µ¥ÀÌÅÍ Çü </H4>
<DIV>ÀÎ°£°ú ´Þ¸® »ç¹°À» Ãß»óÈ­ ½ÃÄÑ¼­ »ý°¢ÇÒ ¼ö ÀÖ´Â ´É·ÂÀÌ ¾ø´Â ÄÄÇ»ÅÍÀÌ´Ù º¸´Ï, <STRONG>µ¥ÀÌÅÍ°¡ ¾î¶² Á¾·ùÀÇ °ÍÀÌ¸ç (µ¥ÀÌÅÍÇü)</STRONG>, <STRONG>¾î´ÀÁ¤µµÀÇ Å©±â (µ¥ÀÌÅÍ Å©±â)</STRONG>¸¦ °¡Áö°í ÀÖ´ÂÁö¸¦ ¸íÈ®È÷ ¾Ë·ÁÁà¾ß ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.<BR><BR>
<DIV>ÀÎ°£Àº "Ãµ¿øÀº Å«µ·ÀÌ´Ù"¿Í "1000+2000=3000" ¿¡¼­ ¹®ÀÚ¿­ "Ãµ"°ú ¼ýÀÚ "1000"À» ±¸ºÐÇØ ³¾ ¼ö ÀÖÁö¸¸ ÄÄÇ»ÅÍ´Â µµ´ëÃ¼ ±¸ºÐÇØ ³¾ ¼ö°¡ ¾ø±â ¶§¹®ÀÌ´Ù.<BR><BR>
<DIV>¶§¹®¿¡ ¸ðµç ¾ð¾î´Â °íÀ¯ÀÇ Å©±â¸¦ °¡Áö´Â µ¥ÀÌÅÍ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%ED%98%95" target=_blank>Çü</A>(Type)À» Á¦°øÇÏ°í ÀÖ´Ù. C¾ð¾î´Â ´ÙÀ½°ú °°Àº Å©±â¸¦ °¡Áö´Â µ¥ÀÌÅÍ ÇüÀÌ ÁØºñµÇ¾î ÀÖ´Ù.<BR>
<DIV class=indent>
<TABLE class=wiki cellSpacing=2 cellPadding=3>
<TBODY>
<TR class=wiki>
<TD class=wiki align=left>µ¥ÀÌÅÍ Çü </TD>
<TD class=wiki align=left>Å©±â </TD>
<TD class=wiki align=left>¼³¸í </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>int </TD>
<TD class=wiki align=left>4byte </TD>
<TD class=wiki align=left>Á¤¼öÇü ¼ýÀÚ </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>char </TD>
<TD class=wiki align=left>1byte </TD>
<TD class=wiki align=left>´ÜÀÏ ¹®ÀÚ </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>float </TD>
<TD class=wiki align=left>4byte </TD>
<TD class=wiki align=left>½Ç¼ö </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>double </TD>
<TD class=wiki align=left>8byte </TD>
<TD class=wiki align=left>½Ç¼ö </TD></TR></TBODY></TABLE><BR></DIV>¿¹¸¦ µé¾î µ¥ÀÌÅÍÅ¸ÀÔÀÌ <STRONG>int</STRONG>ÀÎ <STRONG>a</STRONG>¶ó´Â º¯¼ö°¡ ÀÖ´Ù°í °¡Á¤ÇßÀ» ¶§, ¿©±â¿¡ ÀúÀåÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍÀÇ Å©±â´Â <STRONG>2^32</STRONG> ÀÌ´Ï <STRONG>0 - 4294967296</STRONG>ÀÌ µÉ°Å¶ó°í »ý°¢ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ½ÇÁ¦·Î´Â À½¼ö¸¦ Ç¥ÇöÇØ¾ß ÇÏ±â ¶§¹®¿¡ <STRONG>-2147483648 - 2147483647</STRONG>»çÀÌÀÇ °ªÀ» ÀúÀåÇÒ ¼ö ÀÖ´Ù. <BR><BR>
<DIV>char ÇüÀº ÇÏ³ªÀÇ ¹®ÀÚ¸¦ ÀúÀåÇÏ±â À§ÇØ¼­ »ç¿ëÇÏ´Âµ¥, <STRONG>2^8</STRONG>¿¡¼­ À½¼ö¸¦ Ç¥ÇöÇØ¾ß ÇÏ¹Ç·Î <STRONG>-127 - 128</STRONG>ÀÇ °ªÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.<BR><BR>
<DIV>float,°ú double ÇüÀº ¼Ò¼ýÁ¡À» °¡Áö´Â ½Ç¼ö¸¦ Ç¥ÇöÇÏ±â À§ÇØ¼­ »ç¿ëÇÑ´Ù. <BR><BR>
<DIV>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.3.2</A> signed ¿Í unsignedÇü </H4>
<DIV>Á¤¼ö¿¡´Â À½ÀÇ Á¤¼ö¿Í ¾çÀÇ Á¤¼ö°¡ ÀÖ´Ù. ±×·¸´Ù¸é ÄÄÇ»ÅÍ¿¡¼­ ¾î¶»°Ô À½¼ö¿Í ¾ç¼ö°¡ Ã³¸®µÇ´ÂÁö¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ. Á¤¼ö¸¦ ÀúÀåÇÏ±â À§ÇÑ µ¥ÀÌÅÍÇüÀº 4byteÀÇ Å©±â¸¦ °¡Áö´Â <STRONG>int</STRONG> ÇüÀÌ´Ù. ÀÌ°ÍÀ» ÄÄÇ»ÅÍ ¸Þ¸ð¸® »ó¿¡¼­ º¸ÀÚ¸é ´ÙÀ½°ú °°Àº ¸ð½ÀÀ» ÇÏ°í ÀÖÀ» °ÍÀÌ´Ù.<BR><PRE class=code>  |&lt;----------- 32 ---------&gt;|<BR>   31              ...   43210<BR>  +---------------    -------+<BR>  |                ...       |<BR>  +----------------   -------+<BR></PRE>intÇü º¯¼ö <STRONG>a</STRONG>¿¡ 1À» ÀúÀåÇß´Ù¸é, 0¹øÂ° ºñÆ®¿¡ <STRONG>1</STRONG>ÀÌ, 2¸¦ ÀúÀåÇß´Ù¸é 1¹øÂ° ºñÆ®¿¡ <STRONG>1</STRONG>, 2¹øÂ° ºñÆ®¿¡ <STRONG>0</STRONG>ÀÌ ÀúÀåµÉ °ÍÀÌ´Ù. -1À» ÀúÀåÇÏ°í ½Í´Ù¸é ? ÀÌ·¯ÇÑ À½ÀÇ °ªÀÇ Ç¥½Ã¸¦ À§ÇØ¼­ ¸¶Áö¸· ºñÆ®¸¦ µû·Î ³²°Ü µÎ¾ú´Ù. Áï 31¹øÂ° ºñÆ®¿¡ <STRONG>1</STRONG>ÀÌ ÀÖÀ¸¸é À½¼ö, <STRONG>0</STRONG>ÀÌ ÀÖÀ¸¸é ¾ç¼ö¶ó°í ¾à¼ÓÀ» ÇÑ °ÍÀÌ´Ù. ´ÙÀ½Àº intÇü Á¤¼ö°¡ ¸Þ¸ð¸® »ó¿¡ ¾î¶»°Ô ÀúÀåµÇ´ÂÁö¸¦ ³ªÅ¸³»°í ÀÖ´Ù. <BR>
<UL>
<LI>2 : 00000000 0000000 00000000 00000010 <BR>
<LI>1 : 00000000 0000000 00000000 00000001 <BR>
<LI>0 : 00000000 0000000 00000000 00000000 <BR></LI></UL>¿©±â¿¡¼­ <STRONG>-</STRONG>°¡ µÇ¸é ¾Æ·¡¿Í °°ÀÌ Ç¥ÇöµÈ´Ù.<BR>
<UL>
<LI>-1 : 11111111 11111111 11111111 11111111<BR>
<LI>-2 : 11111111 11111111 11111111 11111110<BR>
<LI>-3 : 11111111 11111111 11111111 11111101<BR></LI></UL>ÀÌ·¸°Ô ÇØº¸¸é ¾çÀÇ Á¤¼ö·Î °¡ÀåÅ« ¼ö¿Í À½ÀÇ Á¤¼öÁß °¡Àå ÀÛÀº ¼ö´Â ¾Æ·¡¿Í °°À½À» °è»êÇÒ ¼ö ÀÖ´Ù.<BR>
<UL>
<LI>°¡Àå Å« ¾çÀÇ Á¤¼ö : 011111111 11111111 11111111 11111111 (2147483647)<BR>
<LI>°¡Àå ÀÛÀº ¾çÀÇ Á¤¼ö : 100000000 00000000 00000000 00000000 (-2147483648)<BR><BR></LI></UL>¾à°£ È¥¶õ½º·´±â´Â ÇÏ°ÚÁö¸¸, ÀÌÇØÇÏ´Âµ¥ Å©°Ô ¾î·Á¿òÀº ¾øÀ» °ÍÀÌ´Ù.<BR><BR>
<DIV>ÀÌ·¸°Ô ÇØ¼­ À½ÀÇ ¼ö¸¦ Ç¥ÇöÇÏ±ä Çß´Âµ¥, ´ë½Å¿¡ ÀúÀå°¡´ÉÇÑ ¼ýÀÚÀÇ Å©±â°¡ 2^32 ¿¡¼­ 2^31À¸·Î 2¹è¸¸Å­ ÁÙ¾îµëÀ» ¾Ë ¼ö ÀÖ´Ù. ±×·¸´Ù¸é À½¼ö¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ¾øÀ» °æ¿ì ±»ÀÌ ¸¶Áö¸· ºñÆ®¸¦ À½¼öÀÎÁö ¾ç¼öÀÎÁö¸¦ ÆÇ´ÜÇÏ±â À§ÇØ¼­ ³¶ºñÇÒ ÇÊ¿ä°¡ ¾øÀ» °ÍÀÌ´Ù.<BR><BR>
<DIV>ÀÌ¸¦ À§ÇØ¼­ <STRONG>unsigned</STRONG>°¡ Á¦°øµÈ´Ù. <STRONG>ºÎÈ£¾ø´Â</STRONG> ¶æÀ¸·Î ÇØ¼®ÇÏ¸é µÇ¸ç, ±âº» ÀÚ·áÇü¾Õ¿¡ ½áÁÖ±â¸¸ ÇÏ¸é µÈ´Ù. <STRONG>unsigned int</STRONG>´Â <STRONG>ºÎÈ£¾ø´Â Á¤¼ö</STRONG>¸¦ ÀúÀåÇÏ±â À§ÇÑ µ¥ÀÌÅÍÇüÀÌ´Ù. µ¿ÀÏÇÏ°Ô unsigned char, unsigned double µîÀÇ ÀÚ·áÇüÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. <STRONG>unsigned</STRONG>°¡ »ý·«µÉ °æ¿ì <STRONG>signed</STRONG>°¡ Àû¿ëµÈ´Ù. <BR><BR>
<DIV><STRONG>100000000 00000000 00000000 00000000</STRONG>°¡ ÁÖ¾îÁú °æ¿ì <STRONG>signed int</STRONG> ¿¡¼­´Â -2147483648ÀÌ´ø °ÍÀÌ unsigned int ¿¡¼­´Â <STRONG>2147483648</STRONG>ÀÌ µÇ´Â ½ÄÀÌ´Ù. <BR><BR>
<DIV>´ÙÀ½Àº signed¿Í unsigned¸¦ ÀÌÇØÇÏ±â À§ÇÑ °£´ÜÇÑ C ÄÚµå´Ù.<BR><PRE class=code>#include &lt;stdio.h&gt;<BR>#include &lt;string.h&gt;<BR><BR>int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=main" target=_blank>main</A>()<BR>{<BR>  int a = -2147483648;<BR>  printf("%d\n", a);<BR>  printf("%u\n", a);<BR>  printf("================\n");<BR>  a = a + 1;<BR>  printf("%d\n", a);<BR>  printf("%u\n", a);<BR>}<BR></PRE>¾Æ·¡¿Í °°ÀÌ ÄÄÆÄÀÏ ½ÃÅ°°í °á°ú±îÁö È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ.<BR><PRE class=code># gcc -o signed signed.c<BR># ./signed<BR>-2147483648<BR>2147483648<BR>================<BR>-2147483647<BR>2147483649<BR></PRE><STRONG>printf</STRONG> ÇÔ¼ö´Â °ªÀ» Æ÷¸Ë¿¡ ¸ÂÃß¾î È­¸é¿¡ Ãâ·Â½ÃÅ°±â À§ÇØ¼­ »ç¿ëÇÏ´Â ÇÔ¼ö´Ù. <STRONG>%d</STRONG>´Â ÁÖ¾îÁø ÀÎÀÚ¸¦ signed int ÇüÀ¸·Î Ãâ·ÂÇÏ¶ó´Â Æ÷¸Ë¿É¼ÇÀÌ°í, <STRONG>%u</STRONG>´Â <STRONG>unsigned</STRONG> ÇüÀ¸·Î Ãâ·ÂÇÏ¶ó´Â Æ÷¸Ë¿É¼ÇÀÌ´Ù. <BR><BR>&lt;&#115;&#99;RIPT type=text/java&#115;&#99;ript&gt;<!--
google_ad_client = "pub-0339096251232740";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-06-19: blog_center
google_ad_channel = "8014010384";
//--> &lt;/&#115;&#99;RIPT&gt; &lt;&#115;&#99;RIPT src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/java&#115;&#99;ript&gt; &lt;/&#115;&#99;RIPT&gt; &lt;IFRAME name=google_ads_frame marginWidth=0 marginHeight=0 src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-0339096251232740&amp;dt=1192669792171&amp;lmt=1192669792&amp;prev_fmts=728x90_as&amp;format=468x60_as&amp;output=html&amp;correlator=1192669792109&amp;channel=8014010384&amp;url=http%3A%2F%2Fteamblog.joinc.co.kr%2Fyundream%2F189&amp;ad_type=text_image&amp;ref=http%3A%2F%2Fteamblog.joinc.co.kr%2Fyundream%2F181&amp;cc=100&amp;ga_vid=377354234.1188889436&amp;ga_sid=1192176615&amp;ga_hid=429111676&amp;ga_fc=true&amp;flash=9&amp;u_h=1024&amp;u_w=1280&amp;u_ah=960&amp;u_aw=1280&amp;u_cd=32&amp;u_tz=540&amp;u_his=1&amp;u_java=true" frameBorder=0 width=468 scrolling=no height=60 allowTransparency&gt;&lt;/IFRAME&gt; 
<DIV>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.4</A> »ó¼ö </H3>
<DIV>º¯¼ö´Â ¸»±×´ë·Î º¯ÇÏ´Â ¼öÀÌ°í, »ó¼ö´Â ¸»±×´ë·Î <STRONG>º¯ÇÏÁö ¾Ê´Â ¼ö</STRONG>ÀÌ´Ù.<BR><BR>
<DIV>»ç¿ëÀÚÀÇ ³ªÀÌ¸¦ ÀÔ·Â¹Þ¾Æ¼­ ¾î¶² ÀÏÀ» ÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î¾ß ÇÏ´Â °æ¿ì¸¦ »ý°¢ÇØº¸ÀÚ. ´ëºÎºÐÀÇ »ç¿ëÀÚ°¡ Á¤»óÀûÀ¸·Î ÀÔ·ÂÇÏ°ÚÁö¸¸, 900, 28129315 ¿Í °°Àº ÅÍ¹«´Ï ¾ø´Â ¼ö¸¦ ÀÔ·ÂÇÏ´Â °æ¿ìµµ ¹ß»ýÇÒ °ÍÀÌ´Ù. ÀÌ·± ¹®Á¦´Â ÀÔ·Â°¡´ÉÇÑ ÃÖ´ë°ªÀ» Á¤ÇØ³õ°í ºñ±³ÇÏ´Â °ÍÀ¸·Î ÇØ°á°¡´É ÇÒ°ÍÀÌ´Ù.<BR><BR>
<DIV>¾Æ·¡´Â ÄÄÆÄÀÏ ÈÄ ½ÇÇà°¡´ÉÇÑ ¿¹Á¦ ÇÁ·Î±×·¥ÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥Àº »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¼ýÀÚ·Î º¯È¯ÇÑ´ÙÀ½ <STRONG>250</STRONG>À» ÃÊ°úÇÏ´ÂÁö¸¦ °Ë»çÇÑ´Ù.<BR><PRE class=code>#include &lt;stdio.h&gt;<BR><BR><BR>int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=main" target=_blank>main</A>(int argc, char **argv)<BR>{<BR>    int age;                         // ** º¯¼ö ageÀÇ ¼±¾ð<BR>    char buf[12];                    // »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ÀúÀåÇÒ ¹öÆÛ<BR>    const int maxage=250;            // ** »ó¼ö maxageÀÇ ¼±¾ð<BR><BR>  age = 0;                         // ageÀÇ ±âº»°ªÀ¸·Î 0À» ÀÔ·ÂÇÑ´Ù.<BR>    printf("Your Age is ? ");<BR>    <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=fgets" target=_blank>fgets</A>(buf, 11, stdin);           // <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%ED%91%9C%EC%A4%80%EC%9E%85%EB%A0%A5" target=_blank>Ç¥ÁØÀÔ·Â</A>À¸·Î ÀÔ·ÂÀ» ¹Þ¾Æµé¿©¼­ buf¿¡ ÀúÀåÇÑ´Ù.<BR>    age = <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=atoi" target=_blank>atoi</A>(buf);                 // ÀÐ¾îµéÀÎ °ªÀ» int Á¤¼öÇüÀ¸·Î º¯È¯ÇÑ´Ù.<BR><BR>    if (age &gt; maxage)                // age¿Í maxage¸¦ ºñ±³ÇÑ´Ù. <BR>    {<BR>        printf("Are you crazy ? \n");<BR>        printf("Max age is %d\n", maxage);<BR>        return 1;<BR>    }<BR>    printf("OK your age is %d\n", age);<BR>    return 0;<BR>}<BR></PRE>
<FORM action=/modules/moniwiki/down.php method=post><INPUT type=hidden value=%23include+%3Cstdio.h%3E%0A%0A%0Aint+main%28int+argc%2C+char+%2A%2Aargv%29%0A%7B%0A%09int+age%3B+++++++++++++++++++++++++%2F%2F+%2A%2A+%BA%AF%BC%F6+age%C0%C7+%BC%B1%BE%F0%0A%09char+buf%5B12%5D%3B++++++++++++++++++++%2F%2F+%BB%E7%BF%EB%C0%DA%C0%C7+%C0%D4%B7%C2%C0%BB+%C0%FA%C0%E5%C7%D2+%B9%F6%C6%DB%0A%09const+int+maxage%3D250%3B++++++++++++%2F%2F+%2A%2A+%BB%F3%BC%F6+maxage%C0%C7+%BC%B1%BE%F0%0A%0A++age+%3D+0%3B+++++++++++++++++++++++++%2F%2F+age%C0%C7+%B1%E2%BA%BB%B0%AA%C0%B8%B7%CE+0%C0%BB+%C0%D4%B7%C2%C7%D1%B4%D9.%0A%09printf%28%22Your+Age+is+%3F+%22%29%3B%0A%09fgets%28buf%2C+11%2C+stdin%29%3B+++++++++++%2F%2F+%C7%A5%C1%D8%C0%D4%B7%C2%28%3A12%29%C0%B8%B7%CE+%C0%D4%B7%C2%C0%BB+%B9%DE%BE%C6%B5%E9%BF%A9%BC%AD+buf%BF%A1+%C0%FA%C0%E5%C7%D1%B4%D9.%0A%09age+%3D+atoi%28buf%29%3B+++++++++++++++++%2F%2F+%C0%D0%BE%EE%B5%E9%C0%CE+%B0%AA%C0%BB+int+%C1%A4%BC%F6%C7%FC%C0%B8%B7%CE+%BA%AF%C8%AF%C7%D1%B4%D9.%0A%0A%09if+%28age+%3E+maxage%29++++++++++++++++%2F%2F+age%BF%CD+maxage%B8%A6+%BA%F1%B1%B3%C7%D1%B4%D9.+%0A%09%7B%0A%09%09printf%28%22Are+you+crazy+%3F+%5Cn%22%29%3B%0A%09%09printf%28%22Max+age+is+%25d%5Cn%22%2C+maxage%29%3B%0A%09%09return+1%3B%0A%09%7D%0A%09printf%28%22OK+your+age+is+%25d%5Cn%22%2C+age%29%3B%0A%09return+0%3B%0A%7D%0A name=contents><INPUT type=hidden value=input.c name=rfile><INPUT type=submit value="´Ù¿î·Îµå : input.c"></FORM>»ó¼ö´Â <STRONG>const</STRONG> Å°¿öµå¸¦ <STRONG>ÀÌ¸§</STRONG> ¾Õ¿¡ ºÙÀÌ¸éµÈ´Ù. ¿¹¸¦ µé¾î ¹®ÀÚ¿­ »ó¼ö¸¦ ¼±¾ðÇÏ±â¸¦ ¿øÇÑ´Ù¸é, <STRONG>const char *name = "yundream"</STRONG> ÇÏ¸é µÈ´Ù. const°¡ ÀÏ´Ü ºÙÀ¸¸é, ¼±¾ðÇÒ¶§¿¡¸¸ °ªÀ» ³Ö¾îÁÙ ¼ö ÀÖÀ¸¸ç, Áß°£¿¡ °ªÀ» º¯°æÇÒ ¼ö ¾ø´Ù. <STRONG>age= <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=atoi" target=_blank>atoi</A>(buf)</STRONG> ´ÙÀ½ÁÙ¿¡ <STRONG>maxage=180</STRONG>¸¦ ³Ö¾îº¸±â ¹Ù¶õ´Ù. ½ÇÇàÀº Ä¿³ç ÄÄÆÄÀÏÁ¶Â÷ ¾ÈµÉ °ÍÀÌ´Ù. <BR><PRE class=code># gcc -o input input.c<BR>input.c: In function ¡®main¡¯:<BR>input.c:13: error: assignment of read-only variable ¡®maxage¡¯<BR></PRE><BR>
<DIV><STRONG>»ó¼ö¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯´Â ¹»±î ?</STRONG><BR>»ó¼ö´Â <STRONG>±ÇÇÑ</STRONG>À» Á¤ÇÔÀ¸·Î½á, ÇÁ·Î±×·¡¸ÓÀÇ ½Ç¼ö¸¦ ¹Ì¿¬¿¡ ¹æÁöÇÏ°íÀÚ ÇÒ ¶§ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. À§ÀÇ ¿¹¿¡¼­¿Í °°ÀÌ <STRONG>maxage</STRONG>´Â °íÁ¤µÈ °ªÀ¸·Î ÇÁ·Î±×·¥ ¿©±âÀú±â¿¡¼­ »ç¿ëµÉ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¸¸¾à ÀÌ°Ô º¯¼ö¶ó¸é, ÇÁ·Î±×·¡¸Ó°¡ ½Ç¼ö·Î, ÇÑÂÊ¿¡¼­´Â 150, ´Ù¸¥ ÇÔ¼ö¿¡¼­´Â 100 À¸·Î ÀÔ·ÂÇÏ´Â µîÀÇ ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖÀ» °ÍÀÌ°í, ÀÌ´Â ÇÁ·Î±×·¥ÀÇ ½É°¢ÇÑ ³í¸®Àû ¹ö±×°¡ µÉ ¼ö ÀÖ´Ù. <STRONG>const</STRONG>¸¦ ÀÌ¿ëÇØ¼­ º¯¼ö¸¦ »ó¼ö·Î ¼±¾ðÇÔÀ¸·Î½á ÀÌ·¯ÇÑ ¹®Á¦¸¦ ¿¹¹æÇÒ ¼ö ÀÖ´Ù.<BR><BR>
<DIV>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.4.1</A> º¯¼öÀÇ ¼±¾ð°ú Á¤ÀÇ </H4>
<DIV>¾ö°ÝÈ÷ ÇÏÀÚ¸é <STRONG>¼±¾ð</STRONG>Àº <STRONG>ÀÌ¸§</STRONG>¸¸ ¸¸µå´Â °ÍÀÌ°í, <STRONG>Á¤ÀÇ</STRONG>´Â ¼±¾ðµÈ ÀÌ¸§¿¡ <STRONG>°ª</STRONG>À» ÁÖ´Â ÇàÀ§´Ù.<BR>
<OL type=1>
<LI>int i; // intÇü º¯¼ö i¸¦ ¼±¾ðÇÏ´Ù. <BR>
<LI>int i=a; // intÇü º¯¼ö i¸¦ Á¤ÀÇÇÏ´Ù. <BR></LI></OL>±×·¯³ª C¿¡¼­ º¯¼ö´Â ¼±¾ð°ú µ¿½Ã¿¡ Á¤ÀÇ°¡ ÀÌ·ç¾î Áö¹Ç·Î Â÷ÀÌ°¡ ¾øÀ¸¹Ç·Î, <STRONG>º¯¼ö x¸¦ ¼±¾ðÇß´Ù</STRONG>´Â ÀÇ¹Ì´Â º¯¼ö¿¡ ´ëÇÑ ¼±¾ð°ú Á¤ÀÇ±îÁö¸¦ ÀÇ¹ÌÇÑ´Ù. C ÄÄÆÄÀÏ·¯°¡ int i¸¦ ¼±¾ðÇÔ°ú µ¿½Ã¿¡ 4byteÀÇ ¸Þ¸ð¸® °ø°£À» ÇÒ´çÇÏ°í, ±× ¸Þ¸ð¸®¿¡ ÀÖ´ø °ªÀ» »ç¿ëÇÏ°Ô µÇ±â ¶§¹®ÀÌ´Ù. <STRONG>¸Þ¸ð¸®¿¡ ÀÖ´ø °ªÀÌ ¾î¶² °ªÀÎµ¥?</STRONG> ¹°·Ð ±×°ÍÀº ¾Ë µµ¸®°¡ ¾ø´Ù. ÇÁ·Î±×·¥ÀÇ ½ÇÇà½Ã ÇÒ´çµÈ 4byteÀÇ ¸Þ¸ð¸®¿¡ ¾î¶²°ªÀÌ ÀÖ´À³Ä¿¡ µû¶ó ´Þ¶óÁö±â ¶§¹®ÀÌ´Ù. ¾Æ·¡ÀÇ ÇÁ·Î±×·¥À» ¿¬¼ÓÇØ¼­ ½ÇÇà½ÃÄÑ º¸±â ¹Ù¶õ´Ù.<BR><PRE class=code>#include &lt;stdio.h&gt;<BR>int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=main" target=_blank>main</A>()<BR>{<BR>  int i;<BR>  printf("%d\n", i);<BR>}<BR></PRE>½ÇÇàÇÒ ¶§ ¸¶´Ù °ªÀÌ ´Þ¶óÁö´Â °ÍÀ» ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ·¸°Ô º¯¼ö¸¦ ¼±¾ðÇÒ °æ¿ì ¾î¶² °ªÀÌ µé¾î ÀÖÀ»Áö ¾Ë ¼ö ¾øÀ¸¹Ç·Î, ¼±¾ð°ú µ¿½Ã¿¡ °ªÀ» ÀÔ·ÂÇØÁÖ´Â <STRONG>ÃÊ±âÈ­</STRONG>ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù. ÃÊ±âÈ­ ÀÛ¾÷À» ÇÏÁö ¾ÊÀ» °æ¿ì ½É°¢ÇÑ ¹®Á¦¸¦ °¡Áø ÇÁ·Î±×·¥ÀÌ ¸¸µé¾î Áú ¼ö ÀÖ±â ¶§¹®ÀÌ´Ù.<BR>
<DIV class=indent><IMG title="<! >" style="CURSOR: pointer" &#111;&#110;click=image_window(this) alt="<!>" src="http://www.joinc.co.kr/modules/moniwiki/imgs/attention.gif" align=middle border=0 name=target_resize_image[]> ¾Æ·¡ÀÇ ¿¹Á¦´Â Á» ´õ ½¬¿î ¿¹Á¦·Î º¯°æÇÒ ÇÊ¿ä°¡ ÀÖÀ½..<BR></DIV><PRE class=code>#include &lt;stdio.h&gt;<BR><BR>int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=main" target=_blank>main</A>()<BR>{<BR>  int i = 0;<BR>  int k;<BR>  while(k &lt;= 100)<BR>  {<BR>    i = i+k;<BR>    k++;<BR>  }<BR>  printf("%d\n", i);<BR>}<BR></PRE>1ºÎÅÍ 100±îÁöÀÇ ¸ðµç ¼ö¸¦ ´õÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µå´Â°Ô ¸ñÀûÀÌ¿´Áö¸¸, iÀÇ °ªÀ» ÃÊ±âÈ­ ÇØÁÖÁö ¾ÊÀº ÀÌÀ¯·Î ÀüÇô ¾û¶×ÇÑ °á°ú°¡ Ãâ·ÂÀÌ µÉ °ÍÀÌ´Ù. ¾Æ·¡¿Í °°Àº ¹æ¹ýÀ¸·Î ¼±¾ð°ú µ¿½Ã¿¡ ÃÊ±âÈ­ ÇÏ°Å³ª È¤Àº »ç¿ëÇÏ±â Àü¿¡ ÃÊ±âÈ­ ÇØÁÖ´Â ¼¾½º°¡ ÇÊ¿äÇÏ´Ù. <BR><PRE class=code>  int k = 0;<BR>  È¤Àº<BR>  int k;<BR>  k = 0;<BR>  <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=while" target=_blank>while</A>(i&lt; 100)<BR></PRE><BR>
<DIV>ÀÌ¹Ì ¸î°³ÀÇ ¼ÀÇÃ ÇÁ·Î±×·¥ÀÇ ÄÚµå¸¦ (ºñ·Ï ¿ÏÀüÈ÷ ÀÌÇØ ÇÏÁö ¸øÇß°ÚÁö¸¸)º¸¾Æ ¿ÔÀ¸¹Ç·Î, ¾î¶»°Ô º¯¼ö¸¦ ¼±¾ðÇØ¾ß ÇÏ´ÂÁö¿¡ ´ëÇÑ °¨Àº Àâ°í ÀÖÀ¸¸®¶ó »ý°¢µÈ´Ù. ¸î°³ÀÇ ¿¹¸¦ ´õ µå´Â °ÍÀ¸·Î ¼³¸íÀ» ¸¶Ä¡µµ·Ï ÇÏ°Ú´Ù.<BR>
<OL type=1>
<LI>char a : ÇÏ³ªÀÇ ¹®ÀÚ¸¦ ÀúÀåÇÏ±â À§ÇÑ ¹®ÀÚÇü º¯¼ö <STRONG>a</STRONG>ÀÇ ¼±¾ð <BR>
<LI>long a : longÇü º¯¼ö <STRONG>a</STRONG>ÀÇ ¼±¾ð <BR>
<LI>char *a : ¸Þ¸ð¸®ÀÇ ÁÖ¼ÒÁ¤º¸¸¦ ÀúÀåÇÏ±â À§ÇÑ Æ÷ÀÎÅÍ º¯¼ö <STRONG>a</STRONG>ÀÇ ¼±¾ð<BR>
<UL>
<LI>Æ÷ÀÎÅÍ´Â ³ªÁß¿¡ µû·Î ´Ù·ê °ÍÀÌ´Ù.<BR><BR></LI></UL></LI></OL>
<DIV>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.5</A> ¿¬»êÀÚ </H3>
<DIV>¿¬»êÀÚ´Â <STRONG>´ÜÀÏ ¹®ÀÚ</STRONG>È¤Àº <STRONG>´Ü¾î</STRONG>·Î ³»ºÎÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. ¿ì¸®´Â ÀÌ¹Ì ¸î°³ÀÇ ¿¹Á¦ ÇÁ·Î±×·¥À» ÅëÇØ¼­ »çÄ¢¿¬»êÀ» À§ÇÑ ¿¬»êÀÚ, <STRONG>ºñ±³¿¬»êÀÚ</STRONG>¸¦ »ç¿ëÇß¾ú´Ù. ÀÌ·¯ÇÑ ¿¬»êÀÚ´Â °á°ú¸¦ Ãâ·ÂÇÏ±â À§ÇØ¼­ ÇÏ³ªÀÌ»óÀÇ ÇÇ¿¬»êÀÚ¸¦ ÇÊ¿ä·Î ÇÑ´Ù. »çÄ¢¿¬»êÀÚ¶ó¸é 2°³ÀÇ ÇÇ¿¬»êÀÚ¸¦ ÇÊ¿ä·Î ÇÒ °ÍÀÌ´Ù. ¿¹¸¦ µé¾î µ¡¼ÀÀ» À§ÇÑ ¿¬»êÀÚÀÎ <STRONG>+</STRONG>¸¦ ÀÌ¿ëÇØ¼­ <STRONG>4 + 5</STRONG>¸¦ Çß´Ù¸é 2°³ÀÇ ÇÇ¿¬»êÀÚ¸¦ ´õÇÑ °á°ú·Î 9¸¦ ¾ò°Ô µÉ °ÍÀÌ´Ù.<BR><BR>
<DIV>C´Â ¸¹Àº ¼öÀÇ ¿¬»êÀÚ¸¦ Á¦°øÇÏ´Âµ¥, ´ë·« 3°³ÀÇ Å« Ä«Å×°í¸®·Î ºÐ·ùÇÒ ¼ö ÀÖ´Ù. <BR>
<UL>
<LI>´ëÀÔ ¿¬»êÀÚ : º¯¼ö¿¡ °ªÀ» ´ëÀÔÇÏ±â À§ÇÑ ¿¬»êÀÚ <BR>
<LI>»ê¼ú ¿¬»êÀÚ : +, -, *, / ¿Í °°Àº ¼öÄ¡°è»êÀ» À§ÇÑ ¿¬»êÀÚ <BR>
<LI>ºñ±³ ¿¬»êÀÚ : &gt;, =, &lt; ¿Í °°Àº ºñ±³¸¦ À§ÇÑ ¿¬»êÀÚ<BR>
<LI>±âÅ¸ ¿¬»êÀÚ : <STRONG>³í¸® ¿¬»êÀÚ</STRONG>, <STRONG>ºñÆ® ¿¬»êÀÚ</STRONG>, <STRONG>Ä³½ºÆ® ¿¬»êÀÚ</STRONG> <BR></LI></UL>ÀÌµé ¿¬»êÀÚ´Â Ä«Å×°í¸® º°·Î ÀÚ¼¼È÷ »ìÆìº¸µµ·Ï ÇÏ°Ú´Ù.<BR>
<DIV>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.5.1</A> ´ëÀÔ ¿¬»êÀÚ </H4>
<DIV>+,- È¤Àº ÇÔ¼öÀÇ °è»ê¿¡ ÀÇÇØ¼­ ¸¸µé¾îÁø °á°ú´Â <STRONG>º¯¼ö</STRONG>¿¡ ÀúÀåÀÌ µÇ¾î¾ß ÇÑ´Ù. ÀÌ·¸°Ô ¾î¶² °á°ú°ªÀ» ´Ù¸¥ º¯¼ö¿¡ ÀúÀåÇÏ±â À§ÇØ »ç¿ëÇÏ´Â ¿¬»êÀÚ°¡ <STRONG>´ëÀÔ ¿¬»êÀÚ</STRONG>ÀÌ´Ù. ´ëÀÔ¿¬»êÀÚ´Â <STR&#111;&#110;G>=</STRONG>¸¦ »ç¿ëÇÏ¸ç, ÇÏ³ªÀÇ ÇÇ¿¬»êÀÚ¸¸À» °¡Áø´Ù. <BR><BR>
<DIV>¾Æ·¡¿¡ ´ëÀÔ¿¬»êÀÚ¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ³ª¿Ô´Ù.<BR><PRE class=code>int eng, kor, math, total; <BR><BR>eng = 85;<BR>kor = 76;<BR>math = 80;<BR><BR>total = eng+kor+math;<BR></PRE>´ëÀÔ¿¬»êÀÚ´Â <STR&#111;&#110;G>=</STRONG>¸¦ ±âÁØÀ¸·Î ¿À¸¥ÂÊÀÇ °ªÀ» ¿ÞÂÊÀÇ º¯¼ö¿¡ ¹Ð¾î³Ö´Â´Ù. ¿À¸¥ÂÊÀÇ °ªÀ» º¯¼ö¿¡ ÀúÀåÇÑ´Ù°í ÀÌÇØÇÏ¸é µÈ´Ù. À§ ÄÚµå¿¡¼­ <STRONG>eng</STRONG>º¯¼ö¿¡ 85°¡ ÀúÀåµÇ¾úÀ½À» ¾Ë ¼ö ÀÖ´Ù.<BR><BR>
<DIV>¿ÞÂÊ¿¡´Â ¹Ýµå½Ã º¯¼ö°¡ ¿Í¾ß ÇÑ´Ù. ¾Æ·¡´Â Àß¸øµÈ ÄÚµå´Ù<BR><PRE class=code>5 = 2 + 3;<BR></PRE><BR>
<DIV>
<DIV class=comment>
<DIV class=commenthead>ÀÏ¹ÝÀûÀ¸·Î '''='''¸¦ °°´Ù¶ó´Â ÀÇ¹Ì·Î »ç¿ëÇÏ´Â °æ¿ì°¡ ÀÖ´Âµ¥, C¿¡¼­ '''='''´Â ºñ±³¸¦ À§ÇØ¼­ »ç¿ëÇÏ´Â ¿¬»êÀÚ°¡ ¾Æ´Ï´Ù. C´Â °°À½À» ºñ±³¸¦ À§ÇØ¼­ '''=='''¸¦ »ç¿ëÇÑ´Ù. °æÇèÀÖ´Â ÇÁ·Î±×·¡¸Óµµ '''=='''¸¦ ¾µ°÷¿¡ '''='''¸¦ ¾²´Â Àß¸øÀº ÈçÇÏ°Ô ÇÑ´Ù.</DIV></DIV><BR>
<DIV>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.5.2</A> ÀÏ¹Ý ¼öÄ¡¿¬»êÀÚ </H4>
<DIV>°¡Àå ±âº»ÀûÀÎ ¿¬»êÀ» À§ÇØ¼­ »ç¿ëµÈ´Ù. »çÄ¢¿¬»êÀ» À§ÇÑ ¿¬»êÀÚ°¡ ´ëÇ¥ÀûÀÌ´Ù. ´ÙÀ½Àº C¾ð¾î¿¡¼­ Áö¿øÇÏ´Â ÀÏ¹Ý ¼öÄ¡¿¬»êÀÚµéÀÌ´Ù. ÀÌµé ¿¬»êÀÚ´Â C»Ó¸¸ ¾Æ´Ñ ´Ù¸¥ ¸ðµç ¾ð¾î¿¡¼­ °øÅëÀûÀ¸·Î Ã£¾Æº¼ ¼ö ÀÖ´Ù. <BR>
<UL>
<LI>+ : µ¡¼À<BR>
<LI>- : »¬¼À <BR>
<LI>/ : ³ª´°¼À<BR>
<LI>* : °ö¼À<BR>
<LI>% : ³ª¸ÓÁö°ª<BR></LI></UL><STRONG>+</STRONG>¿Í <STRONG>-</STRONG>´Â ¿ª¼ö¸¦ ¸¸µé±â À§ÇÑ ¸ñÀûÀ¸·Îµµ »ç¿ëµÈ´Ù.<BR><PRE class=code>a = 5;<BR>b = -a;<BR>// b¿¡´Â -5°¡ ´ëÀÔµÈ´Ù. <BR></PRE><BR>
<DIV>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.5.3</A> ³í¸® ¿¬»êÀÚ </H4>
<DIV>³í¸® ¿¬»êÀÚ´Â <STRONG>Âü</STRONG>¶Ç´Â <STRONG>°ÅÁþ</STRONG>À» ÆÇº°ÇÏ±â À§ÇØ¼­ »ç¿ëµÈ´Ù. C´Â ´ÙÀ½°ú °°Àº ¿¬»êÀÚ¸¦ Áö¿øÇÑ´Ù.<BR>
<UL>
<LI>&amp;&amp; : AND (¸ðµÎ ÂüÀÏ ¶§ Âü)<BR>
<LI>|| : OR (ÇÏ³ª¶óµµ ÂüÀÌ¸é Âü)<BR>
<LI>! : NOT (ÂüÀÌ¸é °ÅÁþ, °ÅÁþÀÌ¸é Âü)<BR><BR></LI></UL>¾Æ·¡ÀÇ °æ¿ì <STRONG>a</STRONG>°¡ <STRONG>b</STRONG>º¸´Ù Å©°í, <STRONG>b</STRONG>°¡ <STRONG>c</STRONG>º¸´Ù Å« Á¶°ÇÀÌ ¸ðµÎ ¸¸Á·ÇÒ ¶§ ÂüÀÌ µÈ´Ù. <BR><PRE class=code>( a &gt; b) &amp;&amp; ( b &gt; c)<BR></PRE><BR>
<DIV>¾Æ·¡´Â ¾à°£ ´õ º¹ÀâÇÑ °æ¿ì´Ù.<BR><PRE class=code>(a &gt; b) || !(a &gt; c)<BR></PRE>a°¡ bº¸´Ù ´õÅ©°Å³ª È¤Àº a °¡ cº¸´Ù Å©Áö ¾Ê´Ù¸é ÂüÀÌ µÈ´Ù.<BR><BR>
<DIV>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.5.4</A> Áõ°¨ ¿¬»êÀÚ </H4>
<DIV>C¿¡¼­´Â <STRONG>++</STRONG>¿Í <STRONG>--</STRONG>¶ó´Â Æ¯¼öÇÑ ÇüÅÂÀÇ ¿¬»êÀÚ¸¦ Á¦°øÇÑ´Ù. ÀÌµéÀº °¢°¢ <STRONG>Áõ°¡¿¬»êÀÚ</STRONG>¿Í <STRONG>°¨¼Ò ¿¬»êÀÚ</STRONG>¶ó°í ºÒ¸®¿î´Ù.<BR>
<UL>
<LI>++ : º¯¼ö¿¡ 1À» ´õÇÑ´Ù <BR>
<LI>-- : º¯¼ö¿¡¼­ 1À» »«´Ù.<BR><BR></LI></UL>Áï <STRONG>a = a + 1</STRONG>Àº <STRONG>a++</STRONG>¿Í µ¿ÀÏÇÑ °á°ú¸¦ º¸¿©ÁØ´Ù. ¶ÇÇÑ <STRONG>++a</STRONG>¿Íµµ µ¿ÀÏÇÑ´Ù. ÄÚµåÀÇ ¾çÀ» ÁÙ¿©¼­ °¡µ¶¼ºÀ» ³ôÀÌ±â À§ÇÑ ¸ñÀûÀ¸·Î ÁÖ·Î »ç¿ëµÈ´Ù- Áõ°¨¿¬»êÀÚ¸¦ »ç¿ëÇÑ´Ù°í ÇØ¼­ ¹Ýµå½Ã °¡µ¶¼ºÀÌ ÁÁ¾ÆÁö´Â °Ç ¾Æ´Ï±ä ÇÏ´Ù -. ÀÌµé Áõ°¨¿¬»êÀÚ´Â <STRONG>Æ÷ÀÎÅÍ</STRONG>ÀÇ À§Ä¡¸¦ Áõ°¡ÇÏ°Å³ª °¨¼ÒÇÏ±â À§ÇÑ ¸ñÀûÀ¸·Îµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. Æ÷ÀÎÅÍ´Â ³ªÁß¿¡ ´Ù·ç°Ô µÉ °ÍÀÌ´Ù. <BR><BR><BR>
<DIV>
<DIV class=indent><IMG title="<! >" style="CURSOR: pointer" &#111;&#110;click=image_window(this) alt="<!>" src="http://www.joinc.co.kr/modules/moniwiki/imgs/attention.gif" align=middle border=0 name=target_resize_image[]> ¾ö°ÝÈ÷ ¸»ÇÏÀÚ¸é <STRONG>a++</STRONG>°ú <STRONG>++a</STRONG>´Â »ç¿ëµÇ´Â ÄÚµå¿¡ µû¶ó¼­ ´Ù¸¥ °á°ú¸¦ º¸¿©ÁÙ ¼öµµ ÀÖ´Âµ¥, ÀÌ´Â ³ªÁß¿¡ ¾ð±ÞÇÏµµ·Ï ÇÏ°Ú´Ù. <BR></DIV>
<DIV>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.5.5</A> ºñÆ® ¿¬»êÀÚ </H4>
<DIV>ÄÄÇ»ÅÍ´Â 0-9¸¦ »ç¿ëÇÏ´Â ÀÎ°£°ú ´Þ¸® 0°ú 1·ÎµÈ ºñÆ®¸¦ ÀÌ¿ëÇØ¼­ °è»êÀ» ÇÑ´Ù´Â °ÍÀº ´Ùµé ¾Ë°í ÀÖÀ» °ÍÀÌ´Ù. ±×·¯ÇÏ´Ù º¸´Ï ÄÄÇ»ÅÍ¸¦ ÀÌ¿ëÇØ¼­ Á¤º¸¸¦ Á¦´ë·Î ´Ù·ç±â À§ÇØ¼­´Â <STRONG>ºñÆ®</STRONG>¸¦ Á¦´ë·Î ÀÌÇØÇÏ°í ´Ù·ç´Â°Ô ¸Å¿ì Áß¿äÇÏ°Ô µÈ´Ù. ºñÆ® ¿¬»êÀÚ´Â ºñÆ®¸¦ ´Ù·ç±â À§ÇÑ ¸ñÀûÀ¸·Î »ç¿ëÇÑ´Ù. <BR><BR>
<DIV>¿ì¸®°¡ ÀÏ¹ÝÀûÀ¸·Î »ç¿ëÇÏ´Â x86ÄÄÇ»ÅÍÀÇ °æ¿ì byte¸¦ ±âº»´ÜÀ§·Î »ç¿ëÇÏ°Ô µÈ´Ù. ¶§¹®¿¡ ºñÆ®¿¬»êÀÚ¸¦ ÅëÇØ¼­ ºñÆ®¿¬»êÀ» ÇÒ ¶§¿¡µµ byte´ÜÀ§·Î ¿¬»êÇÏ°Ô µÈ´Ù. C´Â ´ÙÀ½°ú °°Àº ºñÆ®¿¬»êÀÚ¸¦ ÁØºñÇÏ°í ÀÖ´Ù. <BR>
<TABLE class=wiki cellSpacing=2 cellPadding=3>
<TBODY>
<TR class=wiki>
<TD class=wiki align=left>a &amp; b </TD>
<TD class=wiki align=left>ºñÆ®´ÜÀ§ AND </TD>
<TD class=wiki align=left>AND ¿¬»êÀÚ </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>a | b </TD>
<TD class=wiki align=left>ºñÆ®´ÜÀ§ OR </TD>
<TD class=wiki align=left>OR ¿¬»êÀÚ </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>a ~ b </TD>
<TD class=wiki align=left>ºñÆ®´ÜÀ§ exclusive </TD>
<TD class=wiki><BR></TD></TR>
<TR class=wiki>
<TD class=wiki align=left>a &lt;&lt; b </TD>
<TD class=wiki align=left>¿ÞÂÊÀ¸·Î ºñÆ®¸¦ ÀÌµ¿ </TD>
<TD class=wiki align=left>½¬ÇÁÆ® ¿¬»êÀÚ </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>a &gt;&gt; b </TD>
<TD class=wiki align=left>¿À¸¥ÂÊÀ¸·Î ºñÆ®¸¦ ÀÌµ¿ </TD>
<TD class=wiki><BR></TD></TR>
<TR class=wiki>
<TD class=wiki align=left>~a </TD>
<TD class=wiki align=left>1ÀÇ º¸¼ö </TD>
<TD class=wiki><BR></TD></TR></TBODY></TABLE><BR><STRONG>&amp;</STRONG> ¿¬»êÀÚ´Â °£´ÜÇÏ´Ù. ½ÊÁø¼ö 10¿Í 14°¡ ÀÖÀ»°æ¿ì ÀÌ µÎ ¼ö¸¦ &amp; ¿¬»êÇÏ¸é ´ÙÀ½°ú °°Àº °á°ú¸¦ º¸¿©ÁÙ °ÍÀÌ´Ù. <STRONG>|</STRONG>¿¬»êÀº ±»ÀÌ ¼³¸íÇÏÁö ¾Êµµ·Ï ÇÏ°Ú´Ù.<BR><PRE class=code> 10      00000000 00000000 00000000 00001010<BR> 14      00000000 00000000 00000000 00001110<BR>--------------------------------------------<BR>        00000000 00000000 00000000 00001010   10 <BR></PRE><BR>
<DIV>½¬ÇÁÆ® ¿¬»êÀÚ Áß <STRONG>&lt;&lt;</STRONG> ´Â ºñÆ®¸¦ ¿ÞÂÊÀ¸·Î ÀÌµ¿½ÃÅ²´Ù. ¿ÞÂÊÀ¸·Î ÀÌµ¿½ÃÅ°¸é ¿À¸¥ÂÊÀÌ ³²°Ô µÉ°Çµ¥, ³²Àº ÀÚ¸®´Â <STRONG>0</STRONG>À¸·Î Ã¤¿öÁø´Ù. <STRONG>6</STRONG>À» <STRONG>&lt;&lt; 1</STRONG>ÇÏ¸é 12°¡ µÉ°ÍÀÌ´Ù. <BR><PRE class=code>    00000000 00000000 00000000 00000110<BR>    00000000 00000000 00000000 00001100<BR></PRE><BR>
<DIV><STRONG>&gt;&gt;</STRONG>¿¬»êÀÚ´Â ¿À¸¥ÂÊÀ¸·Î ÀÌµ¿½ÃÅ°´Âµ¥, ÁÖÀÇÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ¿À¸¥ÂÊÀ¸·Î ÀÌµ¿½ÃÅ°¸é ¿ÞÂÊ ºñÆ®°¡ ³²°Ô µÉ°Çµ¥, ÀÌ¶§ ³²´Â ºñÆ®´Â ¿À¸¥ÂÊ¿¡ ÀÖ´ø ºñÆ®·Î Ã¤¿öÁö°Ô µÈ´Ù´Â Á¡ÀÌ´Ù. ¾Æ·¡ÀÇ ¿¹¸¦ º¸ÀÚ. <BR><PRE class=code>    10000000 00000000 00000000 00000000 ÀÌ°ÍÀ» &gt;&gt; 1ÇÏ¸é<BR>    11000000 00000000 00000000 00000000 ÀÌ·¸°Ô µÈ´Ù. <BR></PRE><BR>
<DIV>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.6</A> ¿¬»êÀÚÀÇ »ç¿ë </H3>
<DIV>´ÙÀ½Àº Áö±Ý±îÁö ¹è¿î ¿¬»êÀÚ¸¦ È°¿ëÇÑ °£´ÜÇÑ ÇÁ·Î±×·¥ÀÌ´Ù.<BR><BR>
<DIV><PRE class=code>#include &lt;stdio.h&gt;<BR><BR>int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=main" target=_blank>main</A>()<BR>{<BR>    int my_int;<BR>    printf("ÀÏ¹Ý ¼öÄ¡¿¬»ê : \n\n");<BR>    my_int = 6;                // ´ëÀÔ<BR>    printf("my_int = %d, -my_int = %d\n", my_int, -my_int);<BR>    <BR>    printf("int 1+2 = %d\n", 1 + 2);<BR>    printf("int 5-1 = %d\n", 5 - 1);<BR>    printf("int 5*1 = %d\n", 5 * 1);<BR>    printf("int 5/2 = %d\n", 5 / 2);<BR>    printf("int 5/2 = %d\n", 5 % 2);<BR><BR>    printf("double 9/4 = %f\n", 9.0 / 4.0); <BR><BR>}<BR></PRE>ÇÁ·Î±×·¥ÀÇ ½ÇÇà°á°ú°¡ ¾î¶°ÇÒ·±Áö ¿¹»óÇÏ´Â°Ç ¾î·ÆÁö ¾ÊÀ» °ÍÀÌ´Ù. ÄÄÆÄÀÏ ÈÄ ½ÇÇà½ÃÄÑ¼­ ¿¹»óÇÑ °á°ú°¡ ³ª¿Ô´ÂÁö È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ. <BR><BR>
<DIV>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch4_VarAndOper#toc" target=_blank>1.7</A> ¿¬»êÀÚ ¿ì¼±¼øÀ§ </H3>
<DIV>¿¬»êÀÚ ¿ì¼±¼øÀ§´Â ¿©·¯°³ÀÇ ¿¬»êÀÚ·Î ÀÌ·ç¾îÁø ¶óÀÎ ÄÚµå°¡ ÀÖÀ» °æ¿ì, ¾î¶² ¼ø¼­·Î Ã³¸®ÇÒ °ÍÀÎÁö¸¦ °áÁ¤ÇÏ±â À§ÇØ¼­ »ç¿ëµÈ´Ù. ´ÙÀ½Àº 2+5*4 ÀÇ ¿¬»ê°á°ú¸¦ Ãâ·ÂÇÏ´Â ÄÚµå´Ù. <BR><PRE class=code>#include &lt;stdio.h&gt;<BR><BR>int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=main" target=_blank>main</A>()<BR>{<BR>  printf("%d\n", 2 + 5 * 4);<BR>}<BR></PRE>¾ð¶æ »õ°¢ÇÏ±â¿¡ <STRONG>28</STRONG>ÀÌ¶ó´Â °á°ú°¡ ³ª¿Ã °Å¶ó°í ¿¹»óÇÒ ¼ö ÀÖÁö¸¸, C´Â ³ª¸§´ë·ÎÀÇ ¿¬»êÀÚ ¿ì¼±¼øÀ§¿¡ µû¶ó¼­ <STRONG>*</STRONG>¿¬»êÀ» <STRONG>+</STRONG>¿¬ »êº¸´Ù ¸ÕÀúÇÏ°Ô µÈ´Ù. ±×·¡¼­ 22¶ó´Â °á°ú°¡ ³ª¿À°Ô µÈ´Ù. Áï À§ÀÇ ÄÚµåÀÇ °æ¿ì C´Â ((5*4) + 2)·Î ÇØ¼®ÇØ¼­ °è»êÀ» ÇÑ´Ù. ´«Ä¡Ã«°ÚÁö¸¸ ¿¬»ê¼øÀ§¸¦ ¹«½ÃÇÏ°Å³ª Àß¸ø ÀÌÇØÇÒ °æ¿ì ÀüÇô ¾û¶×ÇÑ Àß¸øµÈ ÇÁ·Î±×·¥À» ¸¸µé¾î ³¾ ¼ö ÀÖ´Ù. <BR><BR>
<DIV>´ÙÀ½Àº C¿¡¼­ Àû¿ëµÇ´Â ¿¬»êÀÚ ¿ì¼±¼øÀ§´Ù. Âü°í·Î °áÇÕ¼ºÀº ¿ì¼±¼øÀ§°¡ °°Àº ¿¬»êÀÚµéÀÌ ¿©·µÀÖÀ» °æ¿ì ¾î´À¹æÇâÀ¸·Î Ã³¸®ÇÒ °ÇÁö¸¦ °áÁ¤ÇÏ±â À§ÇØ »ç¿ëµÈ´Ù. ÁÂ-&gt;¿ì´Â ¿ÞÂÊ¿¡¼­ ¸ÕÀú, ¿ì-&gt;ÁÂ´Â ¿À¸¥ÂÊ¿¡¼­ ¸ÕÀú °è»êÇÑ´Ù´Â °É ÀÇ¹ÌÇÑ´Ù.<BR>
<TABLE class=wiki cellSpacing=2 cellPadding=3>
<TBODY>
<TR class=wiki>
<TD class=wiki align=left>¼øÀ§ </TD>
<TD class=wiki align=left>¿¬»êÀÚ </TD>
<TD class=wiki align=left>°áÇÕ¼º </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>1 </TD>
<TD class=wiki align=left>(), [], -&gt; </TD>
<TD class=wiki align=left>ÁÂ-&gt; ¿ì </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>2 </TD>
<TD class=wiki align=left>!-, ++, --, +(´ÜÇ×), -(´ÜÇ×), *(Æ÷ÀÎÅÍ), &amp;, sizeof </TD>
<TD class=wiki align=left>¿ì-&gt;ÁÂ </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>3 </TD>
<TD class=wiki align=left>*, /, % </TD>
<TD class=wiki align=left>ÁÂ-&gt;¿ì </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>4 </TD>
<TD class=wiki align=left>+, - </TD>
<TD class=wiki align=left>ÁÂ-&gt;¿ì </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>5 </TD>
<TD class=wiki align=left>&lt;&lt;, &gt;&gt; </TD>
<TD class=wiki align=left>ÁÂ-&gt;¿ì </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>6 </TD>
<TD class=wiki align=left>&lt;, &lt;=, &gt;, &gt;= </TD>
<TD class=wiki align=left>ÁÂ-&gt;¿ì </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>7 </TD>
<TD class=wiki align=left>==, != </TD>
<TD class=wiki align=left>ÁÂ-&gt;¿ì </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>8 </TD>
<TD class=wiki align=left>&amp;(ºñÆ®¿¬»êÀÚ) </TD>
<TD class=wiki align=left>ÁÂ-&gt;¿ì </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>9 </TD>
<TD class=wiki align=left>~ </TD>
<TD class=wiki align=left>ÁÂ-&gt;¿ì </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>10 </TD>
<TD class=wiki align=left>! </TD>
<TD class=wiki align=left>ÁÂ-&gt;¿ì </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>11 </TD>
<TD class=wiki align=left>&amp;&amp; </TD>
<TD class=wiki align=left>ÁÂ-&gt;¿ì </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>12 </TD>
<TD class=wiki align=left>| | </TD>
<TD class=wiki align=left>ÁÂ-&gt;¿ì </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>13 </TD>
<TD class=wiki align=left>?: </TD>
<TD class=wiki align=left>ÁÂ-&gt;¿ì </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>14 </TD>
<TD class=wiki align=left>, </TD>
<TD class=wiki align=left>¿ì-&gt;ÁÂ </TD></TR></TBODY></TABLE><BR>À§ÀÇ ¿ì¼±¼øÀ§¸¦ ÀÌÇØÇß´Ù¸é, ¾Æ·¡ÀÇ Á» º¹ÀâÇØ º¸ÀÌ´Â ÄÚµå°¡ ¾î¶»°Ô °è»êµÉÁö ¿¹»óÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.<BR><PRE class=code>a=10*3-40/20*12+20%-2<BR></PRE>À§ÀÇ ÄÚµå´Â ´ÙÀ½°í °¡ÅÁÀÌ °è»êµÈ´Ù.<BR><PRE class=code>a=[(10*3)-{(40/20)*15}]+{20%(-2)}<BR></PRE><BR>
<DIV>±×·¯³ª ¿¬»ê¼øÀ§¸¦ ÀÌÇØÇÏ°í ÀÖ´Ù°í ÇÏ´õ¶óµµ ¸¹Àº ¿¬»êÀÌ µé¾î°¡´Â ÄÚµå¸¦ ÀÛ¼ºÇÏ´Ù º¸¸é ÇÊ¿¬ÀûÀ¸·Î ½Ç¼ö¸¦ ÇÏ°Ô µÈ´Ù. °Ô´Ù°¡ ÄÚµåÀÇ °¡µ¶¼ºµµ ±ØÀûÀ¸·Î ¶³¾îÁø´Ù. <STRONG>a=10*3-40/20*12+20%-2</STRONG>°¡ ¹«½¼ÀÏÀ» ÇÏ´ÂÁö ÇÑ´«¿¡ ÀÌÇØÇÏ±â¶õ ½¬¿îÀÏÀÌ ¾Æ´Ï´Ù. ±×·¯´Ï ¿¬»ê¼øÀ§°°Àº °Í¿¡ ½Å°æ¾²Áö¸»°í °ýÈ£ <STRONG>()</STRONG>¸¦ ÀÌ¿ëÇØ¼­ Á÷Á¢ ¿ì¼±¼øÀ§¸¦ Á¤ÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÏµµ·Ï ÇÑ´Ù. <STRONG>a=10*3-40/20*12+20%-2</STRONG>¸¦ °ýÈ£¸¦ ÀÌ¿ëÇÏ¸é ´ÙÀ½°ú °°ÀÌ Àç ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ½Ç¼öµµ ¸·¾ÆÁÙ »Ó´õ·¯, ÀÌÇØÇÏ±âµµ ÈÎ¾À ½±´Ù´Â°É ´À³¥ °ÍÀÌ´Ù.<BR><PRE class=code>a = ( (10*3) - ((40/20)*15) ) + ( 20%(-2) )</PRE></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV>]]></description>
<dc:creator>ÃÖ°í°ü¸®ÀÚ</dc:creator>
<dc:date>Mon, 30 Nov 2009 19:32:11 +0900</dc:date>
</item>
<item>
<title>¸®´ª½º È¯°æ¿¡¼­ÀÇ C ÇÁ·Î±×·¡¹Ö - 3Àå Start C</title>
<link>http://chonnom.com/bbs/board.php?bo_table=B22&amp;wr_id=3</link>
<description><![CDATA[<DIV>ÃâÃ³ :&nbsp; <A href="http://teamblog.joinc.co.kr/yundream/181" target=_blank>http://teamblog.joinc.co.kr/yundream/181</A></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>ÀÌ ¹®¼­´Â ¼öÁ¤µÉ ¼ö ÀÖ½À´Ï´Ù. ÃÖ½Å¹®¼­´Â <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC" target=_blank>Joinc Wiki</A>¿¡¼­ È®ÀÎÇÏ¼¼¿ä.<BR></DIV>
<H2><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC#toc" target=_blank>1</A> Start C </H2>
<P><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Linux" target=_blank>Linux</A>È¯°æÀÌ ´ë·« ±¸ÃàµÇ¾úÀ¸´Ï, ÀÌÁ¦ C¾ð¾î °³¹ßÈ¯°æÀ» ±¸ÃàÇØ º¸µµ·Ï ÇÏÀÚ. ´ëºÎºÐÀÇ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Linux" target=_blank>Linux</A> ¹èÆ÷ÆÇÀÌ ¼³Ä¡µÇ´Â Áï½Ã ¿ÏÀüÇÑ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD" target=_blank>°³¹ßÈ¯°æ</A>À» ±¸ÃàÇØÁÙ Å×´Ï, º»¹®ÀÇ ³»¿ëÀ» ÀÐ°í È®ÀÎÇÏ´Â Á¤µµ¸é µÉ °ÍÀÌ´Ù. ¹°·Ð.. ¾î¶² ¸®´ª½º ¹èÆ÷ÆÇÀ» »ç¿ëÇÏ°í ÀÖ´øÁö °£¿¡, ÆÐÅ°Áö°ü¸® ÅøÁ¤µµ´Â ´Ù·ê ¼ö ÀÖÀ» Á¤µµ´Â µÇ¾î¾ß ÇÒ °ÍÀÌ´Ù.<BR></P>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC#toc" target=_blank>1.1</A> ÇÊ¿äÇÑ ¿ä¼Ò </H3>
<P>°³¹ßÈ¯°æÀ» À§ÇØ¼­´Â ÃÖ¼ÒÇÑ ¾Æ·¡ÀÇ ÅøµéÀÌ ÇÊ¿äÇÏ´Ù. ¾Æ·¡ÀÇ ÅøµéÀº ¿ÏÀüÈ÷ °ø°³µÇ¾úÀ¸¸ç <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=GPL" target=_blank>GPL</A>À» µû¸£´Â ¼ÒÇÁÆ®¿þ¾îµéÀÌ´Ù.<BR></P>
<OL type=1>
<LI>¿¡µðÅÍ : ÄÚµå¸¦ Â©·Á¸é ´ç¿¬È÷ ¿¡µðÅÍ°¡ ÁØºñµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. <BR>
<LI>ÄÄÆÄÀÏ·¯ : C¾ð¾î¿¡ ÀÇÇØ¼­ Â¥¿©Áø ÄÚµå´Â <STRONG>ÀÎ°£</STRONG>ÀÌ ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Â ÄÚµåÀÌ´Ù. ±â°è´Â ÀÌ ÄÚµå¸¦ ÀÌÇØÇÒ ¼ö ¾øÀ¸¹Ç·Î, ±â°è°¡ ÀÌÇØÇÒ ¼ö ÀÖ´Â <STRONG>±â°è¾î</STRONG>·Î º¯°æÇØÁà¾ß ÇÑ´Ù. ÄÄÆÄÀÏ·¯´Â ÀÎ°£ÀÌ ÀÎÁöÇÒ ¼ö ÀÖ´Â C·Î ÀÛ¼ºµÈ ÄÚµå¸¦ ÄÄÇ»ÅÍ°¡ ÀÎÁö <STRONG>±â°è¾î</STRONG>µÈ ½ÇÇàÆÄÀÏ·Î ¸¸µé¾îÁØ´Ù. ¹ø¿ª±â¶ó°í »ý°¢ÇÏ¸é µÈ´Ù.<BR><BR></LI></OL>
<P>±âº»ÀûÀ¸·Î À§ÀÇ 2°³ÀÇ Åø¸¸ ¼³Ä¡µÇ¸é <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=C" target=_blank>C</A>¾ð¾î¸¦ ¹è¿ì´Âµ¥, ÀüÇô ¹®Á¦°¡ ¾ø´Ù. ±×·¯³ª C¾ð¾î¸¦ ÀÌ¿ëÇØ¼­ ±×·²µíÇÑ ÇÁ·Î±×·¥À» ¸¸µé·Á¸é ¸î°¡Áö ÅøµéÀÌ ´õ °®Ãß¾îÁø È¯°æÀ» ¸¸µé ÇÊ¿ä°¡ ÀÖ´Ù.<BR></P>
<OL type=1>
<LI>µð¹ö°Å : C¾ð¾î°¡ ¾Æ¹«¸® ÀÎ°£ÀÌ ÀÌÇØÇÏ±â ½±µµ·Ï ¸¸µé¾îÁ³´Ù°í´Â ÇÏÁö¸¸, ¿©ÀüÈ÷ ±â°è(ÄÄÇ»ÅÍ)ÀÇ ÀÔÀå¿¡¼­ »ý°¢À» ÇØ¾ß ÇÑ´Ù. ±×·¯´Ù º¸´Ï ¸¹Àº ½Ç¼ö°¡ »ý±æ ¼ö ¹Û¿¡ ¾ø´Ù. ¾î¶² ½Ç¼ö´Â ½±°Ô Ã£¾Æ³¾ ¼ö ÀÖÁö¸¸ ¾î¶² ½Ç¼ö´Â Ã£¾Æ³»±â ¸Å¿ì ¾î·Æ´Ù. µð¹ö°Å¸¦ ÀÌ¿ëÇÏ¸é, Àß¸øµÈ ºÎºÐÀ» Á»´õ ½±°Ô Ã£¾Æ¼­ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.<BR>
<LI>MakeÅø : ¾ÆÁÖ ÀÛÀº ÇÁ·Î±×·¥ÀÌ ¾Æ´Ñ ÀÌ»ó, °ü¸®³ª À¯Áöº¸¼öÀÇ ¸ñÀûÀ¸·Î ¿©·¯°³ÀÇ ÄÚµåÆÄÀÏ·Î ±¸¼ºÀÌ µÈ´Ù. make¸¦ ÀÌ¿ëÇÏ¸é ÀÌµé ÄÚµå¸¦ Á»´õ ½±°Ô À¯ÁöÇÒ ¼ö ÀÖ´Ù. ÇÁ·ÎÁ§Æ® °ü¸®¸¦ À§ÇÑ ÅøÀÌ¶ó°í º¸¸éµÈ´Ù.<BR>
<LI><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%ED%98%95%EC%83%81%EA%B4%80%EB%A6%AC" target=_blank>Çü»ó°ü¸®</A>µµ±¸ : <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=cvs" target=_blank>cvs</A>, <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=svn" target=_blank>svn</A>µî À¸·Î °øµ¿ÀÛ¾÷À» ÇÒ¶§, ÄÚµå ÆÄÀÏÀÌ ²¿ÀÌÁö ¾Êµµ·Ï µµ¿ÍÁÖ¸ç, ¹öÁ¯À» °ü¸®ÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ¿©±â¿¡¼­´Â Çü»ó°ü¸®Åø¿¡ ´ëÇØ¼­´Â ´Ù·çÁö ¾ÊÀ» °ÍÀÌ´Ù. ¾Æ¸¶µµ ²Ï Å« ±Ô¸ðÀÇ ÇÁ·ÎÁ§Æ®¸¦ ÇÏ±âÀü¿£ ÇÊ¿ä¾ø±ä ÇÏ°ÚÁö¸¸, °ü½ÉÀÌ ÀÖ´Ù¸é ¸µÅ©¸¦ µû¶ó°¡¼­ ÀÐ¾îº¸±â ¹Ù¶õ´Ù.<BR></LI></OL>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC#toc" target=_blank>1.2</A> °³¹ß È¯°æ ¸¸µé±â </H3>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC#toc" target=_blank>1.2.1</A> ¿¡µðÅÍ ÁØºñ </H4>
<DIV>
<DIV class=thumbleft><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/ImageView?iname=snippet_dialog.png&amp;pname=Site_2fC_2fDocuments_2fCprogramingForLinuxEnv_2fCh3_5fStartC" target=_blank><IMG style="CURSOR: pointer" &#111;&#110;click=image_window(this) height=200 src="http://www.joinc.co.kr/modules/moniwiki/pds/Site_2fC_2fDocuments_2fCprogramingForLinuxEnv_2fCh3_5fStartC/snippet_dialog.png" width=300 border=0 name=target_resize_image[]></A> 
<DIV class=thumbcaption>kdevelopÀÇ °³¹ßÈ­¸é</DIV></DIV></DIV>
<P><BR>ÄÚµå¸¦ ¸¸µé·Á¸é ÀÏ´Ü ¿¡µðÅÍ°¡ ÇÊ¿äÇÏ´Ù. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Linux" target=_blank>Linux</A>¿¡µµ ´Ù¾çÇÑ ¿¡µðÅÍ°¡ ÁØºñµÇ¾î ÀÖ´Âµ¥, °³ÀÎÀûÀ¸·Î <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=vi" target=_blank>vi</A>³ª <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=emacs" target=_blank>emacs</A>¸¦ »ç¿ëÇÒ °ÍÀ» ±ÇÀåÇÑ´Ù. ÀÌµé ¿¡µðÅÍ´Â À©µµ¿ì »ç¿ëÀÚ¶ó¸é ÀÍ¼÷ÇÏÁö ¾ÊÀº ÅÍ¹Ì³Î È¯°æÀ» °¡Áö°í ÀÖ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. ÀÌ·±°æ¿ì ¿ïÆ®¶ó¿¡µðÅÍ¿Í °°Àº <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=kate" target=_blank>kate</A>¿Í Visual C++°ú °°Àº <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%ED%86%B5%ED%95%A9%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD" target=_blank>ÅëÇÕ°³¹ßÈ¯°æ</A>ÀÎ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=kdevelop" target=_blank>kdevelop</A>µîµµ È°¿ëÇÒ ¼ö ÀÖ´Ù.<BR><BR>Æ¯È÷ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=kdevelop" target=_blank>kdevelop</A>´Â ³ôÀº ¼öÁØÀÇ ÅëÇÕ°³¹ßÈ¯°æÀ» Á¦°øÇÑ´Ù. ±×·¯³ª kdevelop¸¦ Á¦´ë·Î »ç¿ëÇÏ±â À§ÇØ¼­´Â, C¾ð¾î »Ó¸¸ ¾Æ´Ï¶ó, µð¹ö±ë, ÇÁ·ÎÁ§Æ®/Çü»ó°ü¸®¿¡ ´ëÇÑ ³»¿ëÀ» ¾Ë°í ÀÖ¾î¾ß ÇÏ±â ¶§¹®¿¡, ´çºÐ°£Àº ÀÌ·±°Íµµ ÀÖ±¸³ª ÇÏ´Â ¼öÁØ¿¡¼­ Âü°í»ï¾Æ º¸±â ¹Ù¶õ´Ù. È¤½Ã ÀÚ¹Ù¾ð¾î¸¦ »ç¿ëÇß´Ù¸é <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=eclipse" target=_blank>eclipse</A>¿¡¼­ »ç¿ëÇÏ´ÉÇÑ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=CDT" target=_blank>CDT</A>¶ó´Â C/C++°³¹ß È¯°æµµ Á¦°øÇÑ´Ù.<BR><BR>vi¸¦ ÃßÃµÇÏ´Â ÀÌÀ¯´Â ¿¡µðÅÍ·Î½áÀÇ ÇÊ¿äÇÑ ±â´É¸¸À» °¡Áö°í ÀÖ±â ¶§¹®¿¡, ´Ù¸¥ ºÎ°¡ÀûÀÎ °Í¿¡ ½Å°æ¾²Áö ¾Ê¾Æµµ µÇ±â ¶§¹®ÀÌ´Ù. °Ô´Ù°¡ ¿ø°ÝÀ¸·Î ¿¬°áÇØ¼­ »ç¿ëÇÏ±â¿¡µµ ÀüÇô ¹®Á¦°¡ ¾ø´Ù - <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=GUI" target=_blank>GUI</A> ¹æ½ÄÀÇ ¿¡µðÅÍ·Îµµ ¿ø°ÝÀÛ¾÷À» ÇÒ ¼ö ÀÖ±äÇÏÁö¸¸.. ÇÏÁö ¾Ê´À´Ï¸¸ ¸øÇÑ °æ¿ì°¡ ´ëºÎºÐÀÌ´Ù -. »ý¼ÒÇÑ ÀÔ·Â¹æ½Ä ¶§¹®¿¡ Ã³À½¿¡ ÀûÀÀÇÏ±â ¾à°£ ±î´Ù·Ó°ÚÁö¸¸, ´« µü°¨°í ÇÑµÎ½Ã°£ Á¤µµ¸¸ ¿¬½À»ï¾Æ »ç¿ëÇØ º¸±â ¹Ù¶õ´Ù. ¾ó¸¶¾ÈµÇ¾î <STRONG>vi</STRONG>¸¶´Ï¾Æ°¡ µÇ¾î ÀÖ´Â ÀÚ½ÅÀ» ¹ß°ßÇÏ°Ô µÉ°ÍÀÌ´Ù. <BR><BR></P>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC#toc" target=_blank>1.2.2</A> ÄÄÆÄÀÏ·¯ ÁØºñ </H4>
<P>ÄÄÆÄÀÏ·¯´Â ÀÎ°£ÀÇ ¾ð¾î¿¡ °¡±î¿î C·ÎµÈ ÄÚµå¸¦ ¹ø¿ªÇØ¼­ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EA%B8%B0%EA%B3%84%EC%96%B4" target=_blank>±â°è¾î</A>·Î ¸¸µé¾îÁÖ´Â ÀÏÀ» ÇÑ´Ù. ¿ì¸®°¡ ¸¸µç ÄÚµå¸¦ ½ÇÇà°¡´ÉÇÑ ÇÁ·Î±×·¥À¸·Î ¸¸µé·Á¸é ¹Ýµå½Ã <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC" target=_blank>ÄÄÆÄÀÏ·¯</A>¸¦ ÀÌ¿ëÇØ¼­ ÄÄÆÄÀÏ °úÁ¤À» °ÅÃÄ¾ß ÇÑ´Ù. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Linux" target=_blank>Linux</A>¿¡´Â °­·ÂÇÑ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=gcc" target=_blank>gcc</A>¶ó´Â ÄÄÆÄÀÏ·¯¸¦ Á¦°øÇÑ´Ù. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=gcc" target=_blank>gcc</A>´Â GNU ÇÁ·ÎÁ§Æ®ÀÇ °á°ú¹°·Î ¿ÏÀüÈ÷ °ø°³µÇ¾î ÀÖÀ¸¸ç, ¸®´ª½º´Â ¹°·ÐÀÌ°í °ÅÀÇ ´ëºÎºÐÀÇ »ó¿ë <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EC%9C%A0%EB%8B%89%EC%8A%A4" target=_blank>À¯´Ð½º</A>¿Í <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EB%A7%A5" target=_blank>¸Æ</A> À©µµ¿ìÁî¿¡¼­µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¶§¶§·Î gccÀÇ ¼º´É¿¡ ´ëÇØ¼­ ÀÇ¹®À» Ç¥ÇÏ±âµµ ÇÏ°í ½ÇÁ¦, ÇØ´ç º¥´õ°¡ Á¦°øÇÏ´Â Àü¿ëÀÇ ÄÄÆÄÀÏ·¯¿¡ ºñÇØ¼­ ¼º´ÉÀÌ ¶³¾îÁö±âµµ ÇÏÁö¸¸, ´ëºÎºÐÀÇ °æ¿ì »ç¿ëÇÏ´Âµ¥ ¹®Á¦°¡ ¾ø´Ù. <BR><BR>¾Æ¹¸µç ÀÌ ¹®¼­´Â <STRONG>gcc</STRONG>¸¦ ±âÁØÀ¸·Î ³»¿ëÀ» Ã¤¿ö°¥ °ÍÀÌ´Ù. ¹öÁ¯Àº 3.x ÀÌ»óÀ¸·Î ÇÏ°Ú´Ù. ÃÖ±ÙÀÇ Linux¿¡ ¼³Ä¡µÈ gcc´Â ÃÖ¼Ò 3.x¿¡¼­ 4.x ¹öÁ¯ÀÌ´Ï »ç¿ëÇÏ´Âµ¥ Å« ¹®Á¦°¡ ¾øÀ» °ÍÀÌ´Ù. ¾Æ·¡¿Í °°Àº ¹æ¹ýÀ¸·Î gcc°¡ ¼³Ä¡µÇ¾î ÀÖ´ÂÁö È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ. ¸¸¾à gcc°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê´Ù¸é, ¹èÆ÷ÆÇ¿¡ ¸Â´Â ÆÐÅ°Áö °ü¸®ÀÚ¸¦ ÅëÇØ¼­ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. ¹æ¹ýÀº ¹èÆ÷ÆÇ¿¡ µû¶ó¼­ ´Ù¸£±â ¶§¹®¿¡ º°µµ·Î ¼³¸íÇÏÁö ¾Êµµ·Ï ÇÏ°Ú´Ù. ¸Þ´º¾óÀ» ÃµÃµÈ÷ ÀÐ¾îº¸±â ¹Ù¶õ´Ù.<BR></P><PRE class=code># gcc --version<BR>gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)<BR>Copyright (C) 2002 Free Software Foundation, Inc.<BR>This is free software; see the source for copying conditions.  There is NO<BR>warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.<BR></PRE>
<P><BR>&nbsp;</P>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC#toc" target=_blank>1.2.3</A> Ã¹¹øÂ° C ÇÁ·Î±×·¥ÀÇ ÀÛ¼º </H4>
<P>C ÇÁ·Î±×·¥ÀÌ¶õ C¾ð¾î¸¦ ÀÌ¿ëÇØ¼­ ¸¸µé¾îÁø ÇÁ·Î±×·¥À» ¶æÇÑ´Ù.<BR><BR>±×·³ Ã¹¹øÂ° ÇÁ·Î±×·¥À» ÀÛ¼ºÇØº¸µµ·Ï ÇÏÀÚ. À¯¸íÇÑ <STRONG>hello world</STRONG>ÇÁ·Î±×·¥À¸·Î, ½ÇÇà½ÃÅ°¸é È­¸é¿¡ <STRONG>hello world</STRONG>¸¦ Ãâ·ÂÇÏ´Â ÀÏÀ» ÇÑ´Ù. ¿¡µðÅÍ·Î ¾Æ·¡ÀÇ ÄÚµå¸¦ ÀÔ·ÂÇØº¸ÀÚ. ÆÄÀÏÀÌ¸§Àº hello.c·Î ÇÏÀÚ.<BR></P><PRE class=code>#include &lt;stdio.h&gt;<BR><BR>int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=main" target=_blank>main</A>(int argc, char **argv)<BR>{<BR>    <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=printf" target=_blank>printf</A>("Hello World\n");<BR>    return 0;<BR>}<BR></PRE>
<P>
<FORM action=/modules/moniwiki/down.php method=post><INPUT type=hidden value=%23include+%3Cstdio.h%3E%0A%0Aint+main%28int+argc%2C+char+%2A%2Aargv%29%0A%7B%0A++++printf%28%22Hello+World%5Cn%22%29%3B%0A++++return+0%3B%0A%7D%0A name=contents><INPUT type=hidden value=hello.c name=rfile><INPUT type=submit value="´Ù¿î·Îµå : hello.c"></FORM><BR>°£´ÜÈ÷ ¼³¸íÀ» ÇÏµµ·Ï ÇÏ°Ú´Ù. C¾ð¾î ÇÐ½À¿¡ µé¾î°¡±âÀü¿¡ ¸Àº¸±â ½ÄÀ¸·Î ÇÏ´Â °Å´Ï, ÀÌÇØ°¡ ¾È°¡´õ¶óµµ ±×·¯·Á´Ï ÇÏ°í ³Ñ¾î°¡µµ·Ï ÇÏÀÚ. ¾îÂ÷ÇÇ ³ªÁß¿¡ ÀÚ¼¼È÷ ¾Ë¾Æº¸°Ô µÉ °ÍÀÌ´Ù.<BR></P>
<OL type=1>
<LI><STRONG>#include</STRONG> : ¿ÜºÎ ÇÔ¼ö¸¦ »ç¿ëÇÏ±â À§ÇØ¼­ ÇÔ¼ö°¡ ¼±¾ðµÇ¾î ÀÖ´Â ÆÄÀÏÀ» Æ÷ÇÔ½ÃÅ³·Á°í »ç¿ëÇÑ´Ù. stdio.h´Â Ç¥ÁØÀÔ·Â/Ç¥ÁØÃâ·Â/Ç¥ÁØ¿¡·¯¿Í °ü·ÃµÈ ÇÔ¼öµéÀÌ ¼±¾ðµÇ¾î ÀÖ´Ù.<BR>
<LI>main ÇÔ¼ö : ÇÁ·Î±×·¥ÀÇ º»¹®ÀÌ´Ù. ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ±â À§ÇØ¼­´Â ¹Ýµå½Ã ÇÏ³ªÀÇ mainÇÔ¼ö°¡ Æ÷ÇÔµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.<BR>
<LI>printf ÇÔ¼ö : Ç¥ÁØÃâ·ÂÀ»À§ÇÑ ÇÔ¼ö·Î "Hello World\n"¸¦ ¸ð´ÏÅÍ È­¸é¿¡ Ãâ·ÂÇÑ´Ù.<BR>
<LI>return : ÇÔ¼öÀÇ °á°ú¸¦ ³Ñ°ÜÁÖ±â À§ÇØ¼­ »ç¿ëÇÑ´Ù. <BR><BR></LI></OL>
<P>ÀÌÁ¦ <STRONG>gcc ÄÄÆÄÀÏ·¯</STRONG>¸¦ ÀÌ¿ëÇØ¼­ ½ÇÇà°¡´ÉÇÑ ÆÄÀÏ·Î ¸¸µé¾î º¸µµ·Ï ÇÏÀÚ.<BR></P><PRE class=code># gcc -o hello hello.c<BR></PRE>
<P>hello.c¸¦ ÄÄÆÄÀÏ ÇØ¼­ hello¶ó´Â ½ÇÇàÆÄÀÏ·Î ¸¸µé¾î¶ó´Â ¸í·ÉÀÌ´Ù. ÀÌÁ¦ hello¸¦ ½ÇÇàÇÏ¸é ´ÙÀ½°ú °°ÀÌ ÁÖ¾îÁø ÀÏÀ»ÇÏ´Â °ÍÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.<BR></P><PRE class=code># ./hello<BR>Hello World<BR>#<BR></PRE>
<P>ÇöÀç µð·ºÅä¸®¿¡¼­ ¸í·ÉÀ» Ã£µµ·ÏÇÏ±â À§ÇØ¼­ <STRONG>./</STRONG>¸¦ ÀÌ¿ëÇß´Ù.<BR><BR>&lt;&#115;&#99;RIPT type=text/java&#115;&#99;ript&gt;<!--
google_ad_client = "pub-0339096251232740";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-06-19: blog_center
google_ad_channel = "8014010384";
//--> &lt;/&#115;&#99;RIPT&gt; &lt;&#115;&#99;RIPT src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/java&#115;&#99;ript&gt; &lt;/&#115;&#99;RIPT&gt; &lt;IFRAME name=google_ads_frame marginWidth=0 marginHeight=0 src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-0339096251232740&amp;dt=1192669717640&amp;lmt=1192669717&amp;prev_fmts=728x90_as&amp;format=468x60_as&amp;output=html&amp;correlator=1192669717531&amp;channel=8014010384&amp;url=http%3A%2F%2Fteamblog.joinc.co.kr%2Fyundream%2F181&amp;ad_type=text_image&amp;ref=http%3A%2F%2Fteamblog.joinc.co.kr%2Fyundream%2F181&amp;cc=100&amp;ga_vid=377354234.1188889436&amp;ga_sid=1192176615&amp;ga_hid=1507035797&amp;ga_fc=true&amp;flash=9&amp;u_h=1024&amp;u_w=1280&amp;u_ah=960&amp;u_aw=1280&amp;u_cd=32&amp;u_tz=540&amp;u_his=2&amp;u_java=true" frameBorder=0 width=468 scrolling=no height=60 allowTransparency&gt;&lt;/IFRAME&gt; </P>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC#toc" target=_blank>1.2.4</A> C ÇÁ·Î±×·¥ÀÇ ±¸Á¶ </H4>
<P>¸ðµç ÇÁ·Î±×·¥Àº Æ¯À¯ÀÇ ±¸Á¶¸¦ °¡Áö°Ô µÈ´Ù. ¾Õ Àý¿¡¼­ ¿¹·Î µé¾ú´ø <STRONG>hello.c</STRONG>¸¦ ÀÌ¿ëÇØ¼­ C ÇÁ·Î±×·¥ÀÇ ±¸Á¶¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú´Ù.<BR></P>
<OL type=1>
<LI>ÇÁ·Î±×·¥Àº ÇÏ³ª ÀÌ»óÀÇ ÇÔ¼ö·Î ÀÌ·ç¾îÁø´Ù.<BR>
<LI>¹Ýµå½Ã ÇÏ³ªÀÇ <STRONG>main</STRONG>ÇÔ¼ö¸¦ Æ÷ÇÔÇØ¾ß ÇÑ´Ù. <BR>
<LI>ÇÔ¼ö´Â ¼­·Î µ¶¸³ÀûÀÎ °ü°è¿¡ ÀÖ´Ù.<BR></LI></OL>
<H5><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC#toc" target=_blank>1.2.4.1</A> ÇÔ¼ö </H5>
<P>ÇÔ¼ö´Â ÁÖ¾îÁø ÀÏÀ» ¼öÇàÇÏ´Â <STRONG>ÄÚµåÁ¶°¢</STRONG>À¸·Î °³³äÀûÀ¸·Î ¸Å¿ì °£´ÜÇÏ´Ù.<BR></P><PRE class=code>    ÀÔ·Â µ¥ÀÌÅÍ<BR>    +--\ /--------------+<BR>    |                   |<BR>    |                   |<BR>    +-----------/ \-----+<BR>             Ãâ·Â°á°ú<BR></PRE>
<P>À§ÀÇ ÀÌ¹ÌÁö´Â ÇÔ¼öÀÇ °³³äÀ» ÀüÇüÀûÀ¸·Î ¼³¸íÇØÁÖ°í ÀÖ´Ù. ÀÌ¹Ì ÃÊµîÇÐ±³¶§ ¼Ò°³µÈ °³³äÀÌ¹Ç·Î ÇÔ¼ö¸¦ ÀÌÇØÇÏ´Âµ¥¿¡´Â ÀüÇô ¹®Á¦ ¾øÀ¸¸®¶ó »ý°¢µÈ´Ù. <BR><BR>ÇÔ¼ö´Â <STRONG>¾î¶² µ¥ÀÌÅÍ ¼Â</STRONG>À» Áý¾î ³ÖÀ¸¸é ÇÊ¿äÇÑ ¿¬»êÀ» ÇØ¼­ <STRONG>Ãâ·Â °á°ú</STRONG>¸¦ µÇµ¹·ÁÁØ´Ù. ÇÔ¼ö´Â ´ÙÀ½°ú °°Àº ±¸Á¶¸¦ °¡Áø´Ù.<BR></P><PRE class=code>return type <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=function_name" target=_blank>function_name</A>(argument)<BR>{<BR>   // ÄÚµå<BR>}<BR></PRE>
<OL type=1>
<LI>return type : Ãâ·Â µ¥ÀÌÅÍÀÇ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%ED%98%95" target=_blank>Çü</A>(type)¸¦ ÁöÁ¤ÇØ ÁØ´Ù. <BR>
<LI>function_name : ÇÔ¼öÀÇ ÀÌ¸§À¸·Î °¢ ÇÔ¼ö´Â ÀÌ¸§À¸·Î ±¸ºÐµÇ¸ç, ÀÌ¸§À¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.<BR>
<LI>argument(ÀÎÀÚ) : ÇÔ¼ö¿¡ ³Ñ°ÜÁö´Â °ªÀÌ´Ù.<BR>
<LI>ÇÔ¼ö ÄÚµå : ÇÔ¼öÀÇ º»Ã¼ºÎºÐÀ¸·Î ÀÎÀÚ¸¦ ¹Þ¾Æ¼­ <STRONG>¿¬»ê</STRONG>À» ÇÏ°í °á°ú°ªÀ» µÇµ¹·ÁÁØ´Ù.<BR></LI></OL>
<P>´ÙÀ½Àº µÎ°³ÀÇ ¼ýÀÚ¸¦ ÀÔ·Â¹Þ¾Æ¼­ <STRONG>´õÇÏ±â</STRONG>¿¬»êÀ» ÇÑ ÈÄ µÇµ¹·ÁÁÖ´Â °¡Àå °£´ÜÇÑ Çü½ÄÀÇ ÇÔ¼ö´Ù. °¡Àå °£´ÜÇÑ ÇÔ¼öÀÌ±ä ÇÏÁö¸¸ ¸ðµç ÇÔ¼ö´Â °á±¹ ¾Æ·¡ÀÇ ¿¹¿Í µ¿ÀÏÇÑ ±¸Á¶¸¦ °¡Áø´Ù. <BR></P><PRE class=code>int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=plus" target=_blank>plus</A>(int a, int b) <BR>{<BR>    return a+b;<BR>}<BR></PRE>
<P><BR>ÇÏ³ªÀÇ ÇÁ·Î±×·¥Àº ÇÏ³ª ÀÌ»óÀÇ ÇÔ¼ö·Î ±¸¼ºµÇ¾îÀÖ´Ù. ÀÌ ÇÔ¼öµéÀº ÀÔ·Â°ª°ú Ãâ·ÂÀÇ Çü½ÄÀ¸·Î ´Ù¸¥ ÇÔ¼öµé¿¡°Ô °ªÀ» ³Ñ±â´Â ½ÄÀÇ µ¥ÀÌÅÍÀÇ Èå¸§À¸·Î ÁÖ¾îÁø ÀÏÀ» ¼öÇàÇÑ´Ù. ºÐ¾÷È­µÈ ÄÁÅ×ÀÌ³Ê º§Æ®¸¦ »ý°¢ÇÏ¸é µÉ°Å °°´Ù. <BR><BR><SPAN class=attach><IMG style="CURSOR: pointer" &#111;&#110;click=image_window(this) alt=function.png src="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC?action=download&amp;value=function.png" name=target_resize_image[]></SPAN><BR></P>
<H5><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC#toc" target=_blank>1.2.4.2</A> main ÇÔ¼ö </H5>
<P><STRONG>main ÇÔ¼ö</STRONG>´Â Æ¯º°ÇÑ Á¾·ùÀÇ ÇÔ¼öÀÌ¸ç, ÇÁ·Î±×·¥ÀÌ ½ÃÀÛµÇ´Â ÁöÁ¡ÀÌ´Ù. ¸ðµç C ÇÁ·Î±×·¥Àº ¹Ýµå½Ã ÇÏ³ªÀÇ main ÇÔ¼ö¸¦ Æ÷ÇÔÇÏ°í ÀÖ¾î¾ß¸¸ ÇÑ´Ù. ´Ù¸¥ ÇÔ¼ö¿Í ¸¶Âù°¡Áö·Î return type, function name, argumentÀÇ 3¿ä¼Ò·Î ÀÌ·ç¾îÁ® ÀÖ´Ù.<BR><BR><SPAN class=attach><IMG style="CURSOR: pointer" &#111;&#110;click=image_window(this) alt=function2.png src="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC?action=download&amp;value=function2.png" name=target_resize_image[]></SPAN><BR><BR>´ÙÀ½Àº <STRONG>µ¡¼À</STRONG>¿¬»êÀ» ÇÏ´Â sumÀÌ¶ó´Â ÇÔ¼ö¸¦ Æ÷ÇÔÇÑ ÇÁ·Î±×·¥ÀÌ´Ù.<BR></P><PRE class=code>#include &lt;stdio.h&gt;<BR><BR>int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=sum" target=_blank>sum</A>(int a, int b)<BR>{<BR>    return a+b;<BR>}<BR>int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=main" target=_blank>main</A>(int argc, char **argv)<BR>{<BR>    int result;<BR>    result = <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=sum" target=_blank>sum</A>(4, 5);<BR>    return result;<BR>}<BR></PRE>
<P>
<FORM action=/modules/moniwiki/down.php method=post><INPUT type=hidden value=%23include+%3Cstdio.h%3E%0A%0Aint+sum%28int+a%2C+int+b%29%0A%7B%0A%09return+a%2Bb%3B%0A%7D%0Aint+main%28int+argc%2C+char+%2A%2Aargv%29%0A%7B%0A%09int+result%3B%0A%09result+%3D+sum%284%2C+5%29%3B%0A%09return+result%3B%0A%7D%0A name=contents><INPUT type=hidden value=sum.c name=rfile><INPUT type=submit value="´Ù¿î·Îµå : sum.c"></FORM>¿ÏÀüÇÑ ÇÁ·Î±×·¥ÀÌ µÇ±â À§ÇØ¼­ ÇÏ³ªÀÇ mainÇÔ¼ö¸¦ °¡Áö°í ÀÖÀ¸¸ç, mainÇÔ¼ö´Â ³»ºÎ¿¡¼­ sumÀÌ¶ó´Â ÇÔ¼ö¸¦ È£ÃâÇØ¼­ 4¿Í 5¸¦ ´õÇÏ°í °á°ú°ªÀ» ¸®ÅÏÇÏ°í ÇÁ·Î±×·¥À» Á¾·áÇÑ´Ù. ÇÁ·Î±×·¥ÀÌ Á¾·áµÇ¾úÀ¸¸é ¾î¶»°Ô ¸®ÅÏ°ªÀ» È®ÀÎÇÒ ¼ö ÀÖÀ»±î ? ´ÙÀ½°ú °°ÀÌ ½©¿¡¼­ È®ÀÎ °¡´ÉÇÏ´Ù.<BR></P><PRE class=code># ./sum<BR># echo $?<BR>9<BR></PRE>
<P>echo(1)´Â È­¸é¿¡ Ãâ·ÂÀ» ÇÏ±â À§ÇØ¼­ »ç¿ëÇÏ´Â ½©³»ºÎ¸í·É¾îÀÌ´Ù. <STRONG>$?</STRONG>´Â °¡Àå ÃÖ±Ù ½ÇÇà½ÃÅ² ÇÁ·Î±×·¥ÀÌ ¸®ÅÏÇÑ °ªÀÌ ÀúÀåµÇ´Â ½©ÀÇ Æ¯º°ÇÑ º¯¼ö´Ù. ¾î¶»°Ô ÀÌ·±ÀÏÀÌ °¡´ÉÇÑÁö´Â ¾ÆÁ÷Àº ¸ô¶óµµ µÈ´Ù. Â÷Â÷ ¾Ë¾Æ³ª°¡°Ô µÉ °ÍÀÌ´Ù.<BR><BR></P>
<H5><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC#toc" target=_blank>1.2.4.3</A> include </H5>
<P><BR>&nbsp;</P>
<H5><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC#toc" target=_blank>1.2.4.4</A> ÁÖ¼® </H5>
<P><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EC%A3%BC%EC%84%9D" target=_blank>ÁÖ¼®</A>Àº ºÎ°¡ÀûÀÎ Á¤º¸¸¦ ¾Ë·ÁÁÖ±â À§ÇØ¼­ »ç¿ëµÇ´Â C¾ð¾îÀÇ ¿ä¼Ò´Ù. C¾ð¾î°¡ ÀÎ°£ÀÇ ¾ð¾î¿Í »ó´çÈ÷ À¯»çÇÏ±ä ÇÏÁö¸¸, ¿©ÀüÈ÷ ÀÌÇØÇÏ±â Èûµç¸éÀÌ ÀÖ´Ù. ±×·¯´Ù º¸´Ï ´Ù¸¥ »ç¶÷ÀÌ ÄÚµå¸¦ ÀÌÇØÇÏ±â Èûµé¸ç, ½ÉÁö¾î ÇÁ·Î±×·¥À» ¸¸µç ´ç»çÀÚ Á¶Â÷µµ, ½Ã°£ÀÌ Áö³ª¸é ¿Ö ÀÌÄÚµå¸¦ ÀÛ¼ºÇß´ÂÁö ÀØ¾î¹ö¸®´Â °æ¿ì°¡ »ý±ä´Ù. ÀÌ´Â ÇÁ·Î±×·¥ÀÇ À¯Áöº¸¼ö¸¦ Èûµé°Ô ¸¸µå´Â ¿äÀÎÀÌ µÈ´Ù.<BR><BR>ÁÖ¼®À» »ç¿ëÇÏ¸é ÀÌÇØÇÏ±â ½¬¿î ÄÚµå¸¦ ¸¸µé ¼ö ÀÖ´Ù. Æ¯È÷ ¿©·¯¸í°ú Çù·ÂÇØ¼­ ÀÛ¾÷ÇØ¾ß ÇÒ°æ¿ì ÁÖ¼®Àº ÇÊ¼öÀûÀÎ ¿ä¼Ò´Ù. ´ç¿¬ÇÏÁö¸¸ ÁÖ¼®Àº ±â°è¾î·Î ¹ø¿ªÀÌ µÇÁö ¾Ê´Â´Ù. ´ÙÀ½Àº ÁÖ¼®ÀÇ ¿¹ÀÌ´Ù. <BR></P><PRE class=code>#include &lt;stdio.h&gt;<BR><BR>/*<BR> * ¸¸µç»ç¶÷ : yundream<BR> * ÇÏ´ÂÀÏ : µÎ°³ÀÇ ÀÎÀÚ¸¦ ´õÇÑ °á°ú¸¦ ¸®ÅÏÇÑ´Ù.<BR> * ÀÎÀÚ : int a, int b<BR> */<BR>int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=sum" target=_blank>sum</A>(int a, int b)<BR>{<BR>    return a+b;<BR>}<BR><BR>// Main ÇÔ¼ö ½ÃÀÛ <BR>int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=main" target=_blank>main</A>(int argc, char **argv)<BR>{<BR>    int result;<BR>    result = <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=sum" target=_blank>sum</A>(4, 5); // µÎ°³ÀÇ ÀÎÀÚ¸¦ ´õÇÑ´Ù.<BR>    return result;<BR>}<BR></PRE>
<P>ÁÖ¼®Àº "/* */"°ú "//" µÎ°³¸¦ ÀÌ¿ëÇØ¼­ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. "/* */"´Â ºí·°´ÜÀ§ÀÇ ÁÖ¼®À» ¸¸µé±â À§ÇØ¼­ »ç¿ëÇÏ¸ç, <I>//</I>´Â ¶óÀÎ´ÜÀ§ÀÇ ÁÖ¼®À» ¸¸µé±â À§ÇØ¼­ »ç¿ëÇÑ´Ù. ÇÔ¼ö ÀüÃ¼¿¡ ´ëÇÑ »ó¼¼¼³¸íµîÀº <STRONG>/* */</STRONG>¸¦ ÄÚµå Áß°£Áß°£ °£´ÜÇÑ ¼³¸íÀ» À§ÇØ¼­ <STRONG>//</STRONG>¸¦ »ç¿ëÇÑ´Ù.<BR><BR><BR></P>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC#toc" target=_blank>1.3</A> C ÇÁ·Î±×·¥ÀÌ ¸¸µé¾îÁö´Â °úÁ¤ </H3>
<P>ÀÎ°£ÀÌ ÀÌÇØÇÏ±â ½¬¿î C¾ð¾î¸¦ ÀÌ¿ëÇØ¼­ <STRONG>ÇÁ·Î±×·¥</STRONG>À» ¸¸µé¾ú´Ù¸é, ÀÌ¸¦ ÄÄÇ»ÅÍ°¡ ÀÌÇØÇÒ ¼ö ÀÖ´Â ±â°è¾î ÆÄÀÏ·Î ¹ø¿ªÇØ¼­ ÄÄÇ»ÅÍ°¡ ½ÇÇàÇÒ ¼ö ÀÖ´Â <STRONG>½ÇÇàÆÄÀÏ</STRONG>ÀÇ ÇüÅÂ·Î ¸¸µé¾î¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ÀÏÀ» ÇÏ´Â ÇÁ·Î±×·¥À» <STRONG>ÄÄÆÄÀÏ·¯</STRONG>¶ó °í ÇÑ´Ù. ÀÌ¹Ì ¿ì¸®´Â hello world ÇÁ·Î±×·¥ ¿¹Á¦¸¦ ÅëÇØ¼­, ÄÄÆÄÀÏ·¯¸¦ ÀÌ¿ëÇØ¼­ ½ÇÇàÆÄÀÏÀ» ¸¸µé°í ÀÌ¸¦ ½ÇÇà½ÃÅ°´Â ¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸¾Ò´Ù. ¿©±â¿¡¼­´Â ¾î¶°ÇÑ °úÁ¤À» °ÅÃÄ¼­ ½ÇÇàÆÄÀÏÀÌ ¸¸µé¾îÁö´ÂÁö¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú´Ù.<BR><BR>'<I>Pre processor</I><BR>ÄÄÆÄÀÏ·¯¸¦ ½ÇÇà½ÃÅ°¸é °¡Àå ¸ÕÀú <STRONG>pre compile</STRONG>¸¦ ¼öÇàÇÑ´Ù. ÀÎ°£Àº ½¬¿îÇÁ·Î±×·¥ÀÇ ÀÛ¼ºÀ» À§ÇØ¼­ include³ª <STRONG>¸ÅÅ©·Î</STRONG>µîÀ» ÀÌ¿ëÇØ¼­ ÄÚµåÀÇ ³»¿ëÀ» Ãà¾àÇÑ´Ù. pre compile´Â Ãà¾àµÈ ³»¿ëÀ» ÄÄÆÄÀÏ·¯°¡ ½±°Ô ÇØ¼®ÇÒ ¼ö ÀÖµµ·Ï Ç®¾î¾²´Â °úÁ¤ÀÌ´Ù. <BR><BR><STRONG>Assembly ÄÚµåÀÇ »ý¼º</STRONG><BR>ÀÌÁ¦ Ç®¾î¾´ ÄÚµå¸¦ °¡Àå ¿ø½ÃÀûÀÎ ¾ð¾îÀÇ ÇüÅÂÀÎ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Assembly" target=_blank>Assembly</A>ÄÚµå·Î ¸¸µé¾îÁØ´Ù. ¾î¼Àºí¸®ÄÚµå´Â ±â°è¾î¿Í 1:1·Î ´ëÀÀµÇ±â ¶§¹®¿¡ ÀÏ´Ü ¾î¼Àºí¸®ÄÚµå·Î ¼º°øÀûÀ¸·Î ¸¸µé¾î³½´Ù¸é ½±°Ô ±â°è¾îÇüÅÂ·Î º¯È¯ÇÒ ¼ö ÀÖ´Ù.<BR><BR><STRONG>Object ÆÄÀÏÀÇ »ý¼º</STRONG><BR>Assembly ÄÚµå°¡ ¸¸µé¾îÁ³´Ù¸é, ÀÌÁ¦ ÀÌ°É ±â°è¾î·Î º¯È¯ÇÑ´Ù. ÀÌ·¸°Ô ÇØ¼­ ¸¸µé¾îÁø ÆÄÀÏÀ» objectÆÄÀÏÀÌ¶ó°í ÇÑ´Ù. <BR><BR><STRONG>linker</STRONG><BR>±×·¯³ª objectÆÄÀÏÀÌ »ý°å´Ù°í ¹Ù·Î ½ÇÇàµÉ ¼ö ÀÖ´Â°Ô ¾Æ´Ï´Ù. ÇÁ·Î±×·¥À¸·Î½á ½ÇÇàÇÏ±â À§ÇØ¼­´Â ¿î¿µÃ¼Á¦°¡ Á¦°øÇÏ´Â ´Ù¸¥ ¿©·¯°¡Áö °´Ã¼(±â´É)µé°ú <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EC%97%B0%EA%B2%B0" target=_blank>¿¬°á</A>(link)µÇ¾î¾ß ÇÑ´Ù. link°úÁ¤À» °ÅÄ¡¸é ºñ·Î¼­ ½ÇÇà°¡´ÉÇÑ ¿ÏÀüÇÑ ÇÁ·Î±×·¥ÀÌ ¸¸µé¾îÁö°Ô µÈ´Ù. </P>]]></description>
<dc:creator>ÃÖ°í°ü¸®ÀÚ</dc:creator>
<dc:date>Mon, 30 Nov 2009 19:31:05 +0900</dc:date>
</item>
<item>
<title>¸®´ª½º È¯°æ¿¡¼­ÀÇ C ÇÁ·Î±×·¡¹Ö - 2Àå ¸®´ª½º¿Í C</title>
<link>http://chonnom.com/bbs/board.php?bo_table=B22&amp;wr_id=2</link>
<description><![CDATA[<DIV id=view_content>
<H2><FONT size=2>ÃâÃ³ - </FONT><A href="http://teamblog.joinc.co.kr/yundream/175" target=_blank><FONT size=2>http://teamblog.joinc.co.kr/yundream/175</FONT></A></H2>
<H2><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>1</A> Linux ¿Í C </H2>ÃÖÃÊ¿¡ C´Â ½Ã½ºÅÛ ÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ ¾ð¾î·Î °³¹ßµÇ¾úÀ¸¸ç, »ó¾÷Àû¹× ÇÐ½ÀÀûÀÎ ¿ëµµ·Î ¼º°øÇÑ ÃÖÃÊÀÇ ¿î¿µÃ¼Á¦¶ó ÇÒ ¼ö ÀÖ´Â <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Unix" target=_blank>Unix</A>¿î ¿µÃ¼Á¦¸¦ ¸¸µå´Â µ¥¿¡ »ç¿ëµÇ¾ú´Ù. ÇÑ¸¶µð·Î Unix¿Í C´Â ¶¿·¹¾ß ¶¿ ¼ö ¾ø´Â °ü°èÀÎ °ÍÀÌ´Ù. ÀÌ°ßÀÌ ÀÖÀ» ¼ö ÀÖÁö¸¸ ¿î¿µÃ¼Á¦ÀÇ ¼±Á¶°ÝÀÎ Unix¸¦ ÀÌÇØÇÏ´Â °ÍÀº ÄÄÇ»ÆÃÈ¯°æÀ» ÀÌÇØÇÏ´Â °¡Àå ÁÁÀº ¹æ¹ýÀÌ¸ç, Unix¸¦ ÀÌÇØÇÏ´Â °¡Àå ÁÁÀº ¹æ¹ýÀº C¸¦ ÀÌÇØÇÏ´Â °ÍÀÌ¶ó ÇÒ ¼ö ÀÖ´Ù.<BR><BR><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Linux" target=_blank>Linux</A> ¿î¿µÃ¼Á¦°¡ Unix¿Í ÀüÇô ´Ù¸¥ ¿î¿µÃ¼Á¦¶ó°í´Â ÇÏÁö¸¸ UnixÀÇ ¸ðµç Ã¶ÇÐ°ú ±¸ÇöÀ» ±×´ë·Î Æ÷ÇÔÇÏ°í ÀÖÀ¸¸ç, »ç½Ç»ó ¶Ç´Ù¸¥ Unix¿î¿µÃ¼Á¦ÀÇ ÇÑ Á¾·ù¶ó°í ÇÒ ¼ö ÀÖ´Ù. UnixÀÇ ¶Ç´Ù¸¥ ¿î¿µÃ¼Á¦¶ó´Âµ¥ °ÅºÎ°¨À» °¡Áø ¸®´ª¼­µéµµ ÀÖ°ÚÁö¸¸ ÇÁ·Î±×·¡¸ÓÀÇ ÀÔÀå¿¡¼­ º¸ÀÚ¸é Linux¿Í Unix´Â µ¿ÀÏÇÏ´Ù.<BR><BR>±»ÀÌ LinuxÈ¯°æ¿¡¼­ C¾ð¾î¸¦ °øºÎÇÏ·Á´Â ÀÌÀ¯°¡ ¿©±â¿¡ ÀÖ´Ù. Linux¸¦ ÀÌÇØÇÑ´Ù´Â °ÍÀº Unix¸¦ ÀÌÇØÇÑ´Ù´Â °ÍÀÌ¸ç, ÀÌ´Â ÄÄÇ»ÆÃÈ¯°æÀ» ÀÌÇØÇÑ´Ù´Â ÀÇ¹Ì°¡ µÇ±â ¶§¹®ÀÌ´Ù.<BR><BR>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>1.1</A> Linux ¿¡ ´ëÇØ¼­ </H3>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>1.1.1</A> LinuxÀÇ Åº»ý </H4>
<DIV>
<DIV class=thumbleft><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/ImageView?iname=Linus_Torvalds.jpg&amp;pname=Site_2fC_2fDocuments_2fCprogramingForLinuxEnv_2fCh2_5fLiuxAndC" target=_blank><IMG style="CURSOR: pointer" &#111;&#110;click=image_window(this) height=322 src="http://www.joinc.co.kr/modules/moniwiki/pds/Site_2fC_2fDocuments_2fCprogramingForLinuxEnv_2fCh2_5fLiuxAndC/Linus_Torvalds.jpg" width=210 border=0 name=target_resize_image[]></A> 
<DIV class=thumbcaption>Linus Torvalds</DIV></DIV></DIV><BR>ÇÊ¸°µå Çï½ÌÅ° ´ëÇÐ¿ø¿¡¼­ ¼ÒÇÁÆ®¿þ¾î °øÇÐÀ» Àü°øÇÏ´ø ¸¹Àº ÇÐ»ýµéÁß <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=linus%20Torvalds" target=_blank>linus Torvalds</A>¶ó´Â Æò¹üÇÑ ´ëÇÐ¿ø»ýÀÌ ÀÖ¾ú´Ù. ´ç½Ã Åä¹ßÁî´Â Andrew Tanenbaum±³¼ö¿¡ ÀÇÇØ¼­ °³¹ßµÈ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Minix" target=_blank>Minix</A>¶ó´Â ¿î¿µÃ¼Á¦¸¦ °¡Áö°í Unix ½Ã½ºÅÛ¿¡ ´ëÇÑ °øºÎ¸¦ ÇÏ°í ÀÖ¾ú´Âµ¥, MinixÀÇ ¶óÀÌ¼¾½º¿Í ¼º´ÉµîÀÌ ÀÚ½ÅÀÌ ¿øÇÏ´Â ¹Ù¿¡ ¹ÌÄ¡Áö ¸øÇÔÀ» ¾Ë°Ô µÇ¾ú´Ù. <BR><BR>±×¸®ÇÏ¿©, ³ª¸§´ë·Î Unix-likeÇÑ ¿î¿µÃ¼Á¦¸¦ ¸¸µé °èÈ¹À» ¼¼¿ì°í ÀÌ¸¦ ½ÇÇà¿¡ ¿Å±â°Ô µÈ´Ù. ÀÌ·¯ÇÑ ½ÇÇàÀÇ °á°ú¹°·Î Åº»ýÇÑ°Ô <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Linux" target=_blank>Linux</A>´Ù.<BR><BR>Linux´Â ¾Ö½Ã´çÃÊ °³ÀÎÀÌ Ãë¹Ì»ï¾Æ¼­ ¸¸µç ¿î¿µÃ¼Á¦ ÀÌ¹Ç·Î, ±× ½ÃÀÛÀº ¸Å¿ì º¸Àß °ÍÀÌ ¾ø¾ú´Ù. ÀÌ·¯ÇÑ Linux¿î¿µÃ¼Á¦°¡ °³ÀÎ»ç¿ëÀÚºÎÅÍ ´ë±â¾÷È¯°æ¿¡ ±îÁö ³Î¸® »ç¿ëµÇ°Ô µÈ°ÍÀº <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EC%9D%B8%ED%84%B0%EB%84%B7" target=_blank>ÀÎÅÍ³Ý</A>°ú <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=GNU" target=_blank>GNU</A>ÀÇ °ø·Î°¡ Àý´ëÀûÀÌ¿´´Ù. <BR><BR>¸®´©Áî´Â º° »ý°¢ ¾øÀÌ 1991³â¿¡ ÀÚ½ÅÀÌ ¸¸µç <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=linux" target=_blank>linux</A>(version 0.01)¸¦ ´º½º±×·ìÀ» ÅëÇØ °ø°³ÇÏ°Ô µÈ´Ù. °ø°³¸¦ ¹ßÇ¥ÇÏ¸é¼­ ±×´Â "ÀÌ´Â ´ÜÁö Ãë¹ÌÀÌ¸ç GNUÃ³·³ Àü¹®ÀûÀÎ °ÍÀÌ ¾Æ´Ï´Ù"¶ó°í ¹ßÇ¥¼Ò°¨À» Ç¥ÇöÇß´Ù. ¸»±×´ë·Î Ãë¹Ì»ï¾Æ °ø°³Çß´ø linux´Â ¼ö¸¹Àº À¯´ÉÇÑ ÇÁ·Î±×·¡¸ÓÀÇ ÀÚ¹ßÀûÀÎ Âü¿©·Î ±Þ¼ÓÇÑ ¹ßÀüÀ» ÀÌ·ç°Ô µÇ¾úÀ¸¸ç, °á±¹ GNUÀÇ ¿©·¯ ÇÁ·ÎÁ§Æ®Áß °¡Àå Áß¿äÇÑ ÇÁ·ÎÁ§Æ®·Î ÀÌ¸§À» ¿Ã¸®´Â ¼öÁØ±îÁö ÀÌ¸£°Ô µÈ´Ù.<BR><BR>ÀÌ·¸°Ô ºü¸¥ ¼ºÀåÀ» ÇÏ±ä ÇßÁö¸¸, 1998³â ±îÁö´Â ÇÐ½À¿ë ¿î¿µÃ¼Á¦¶ó´Â ÀÌ¹ÌÁö°¡ °­Çß´Ù. ±×·¯´ø °ÍÀÌ ¸®´ª½ºÀÇ ½ÃÀå¿¡¼­ÀÇ ÀáÀçÀû ¼ºÀå´É·ÂÀ» ´«Ä¡Ã¦ ·¹µåÇÞ°ú °°Àº ¸î¸î È¸»çµé¿¡ ÀÇÇØ¼­ ±â¾÷½ÃÀåÀÇ ¹°²¿°¡ Æ®ÀÌ°Ô µÈ´Ù.<BR><BR>ÇöÀç´Â ¾î¶² ¼ÒÇÁÆ®¿þ¾î º¥´õ¶óµµ ¸®´ª½º¸¦ ¹«½ÃÇÒ ¼ö ¾ø´Â Á¤µµ°¡ µÇ¾ú´Ù. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=IBM" target=_blank>IBM</A>, Dell, <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Oracle" target=_blank>Oracle</A>, Informix, Intel µîÀÌ Àü·«ÀûÀ¸·Î Linux¸¦ À¯/¹«ÇüÀ¸·Î Áö¿øÇÏ°í ÀÖ´Ù. <BR><BR>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>1.1.2</A> LinuxÀÇ Æ¯Â¡ </H4>ÇÁ·Î±×·¡¸ÓÀÇ °üÁ¡¿¡¼­ LinuxÀÇ Æ¯Â¡À» »ìÆìº¸µµ·Ï ÇÏ°Ú´Ù.<BR><BR>
<UL>
<LI>Linux´Â Unix-like ¿î¿µÃ¼Á¦´Ù.<BR>
<DIV class=indent>¸¹Àº Linux¿Í GNUÁöÁöÀÚµéÀÌ Linux´Â Unix°¡ ¾Æ´Ï´Ù¶ó°í ÇÏ°í ÀÖ´Ù. ±×·¯³ª °³¹ßÀÚ ÀÔÀå¿¡¼­ Linux´Â ºÐ¸í Unix-likeÇÑ ¿î¿µÃ¼Á¦´Ù. ½ÇÁ¦ Linux ¿î¿µÃ¼Á¦´Â UnixÀÇ ¿©·¯ Ã¶ÇÐµéÀ» ±×´ë·Î Àû¿ë½ÃÅ°°í ÀÖ´Ù. ÆÄÀÏ, IPC, °¢Á¾ ½Ã½ºÅÛ/Ç¥ÁØÁö¿ø ÇÔ¼öµî ¸ðµç °ÍÀÌ UnixÈ¯°æ°ú µ¿ÀÏÇÏ°Å³ª ºñ½ÁÇÏ´Ù. <BR></DIV>
<LI>ÇÐ½À¿ëÀ¸·Î´Â ÃÖ°í´Ù.<BR>
<DIV class=indent>ÄÄÇ»ÆÃ¿ª»ç¿¡¼­ »ç½Ç»ó ÃÖÃÊ·Î µîÀåÇÑ ¿î¿µÃ¼Á¦´Â UnixÀÌ¸ç, Unix ¿î¿µÃ¼Á¦ÀÇ Ã¶ÇÐ°ú ¼³°è, ±¸¼ºÀº ÈÄ¿¡ µîÀåÇÑ ¸ðµç ¿î¿µÃ¼Á¦µéÀÌ °è½ÂÇÏ°í ÀÖ´Ù. À¯´Ð½ºÀÇ ÃÖ´ë? °æÀï»ó´ëÀÎ windowsµµ ¿¹¿Ü°¡ ¾Æ´Ï´Ù. ÀÌ´Â Unix´Â ÄÄÇ»ÆÃºÐ¾ßÀÇ ÇÐ½ÀÀ» À§ÇÑ ÃÖ°íÀÇ ¿î¿µÃ¼Á¦ÀÓÀ» ÀÇ¹ÌÇÑ´Ù. <BR>±×·¯³ª ¾ÈÅ¸±õ°Ôµµ ÀÌ·¯ÇÑ Unix¿î¿µÃ¼Á¦¸¦ Á÷Á¢ ¿î¿µÇÏ´Âµ¥¿¡´Â "ºñ¿ë"ÀÌ¶ó´Â °áÁ¤ÀûÀÎ ¹®Á¦°¡ µû¸£°Ô µÈ´Ù. Unix¿î¿µÃ¼Á¦´Â ¸Å¿ì ºñ½Î¸ç, »ó´ëÀûÀ¸·Î °í°¡ÀÇ Àåºñ¿¡¼­ µ¹¾Æ°¡±â ¶§¹®¿¡, ½Ç¹«¸¦ ¶Ù´Â °³¹ßÀÚ°¡ ¾Æ´Ñ, ÇÐ»ý(È¤Àº ¹é¼ö)ÀÇ ½ÅºÐ¿¡¼­ Á¢ÇÏ±â¶õ °áÄÚ ½±Áö ¾Ê´Ù. <BR>Linux´Â ÈÇ¸¢ÇÑ ´ë¾ÈÀÌ µÉ ¼ö ÀÖ´Ù. Linux´Â UnixÀÇ Ã¶ÇÐÀ» ±×´ë·Î °è½ÂÇÏ°í ÀÖÀ¸¸ç, ½Ã½ºÅÛÀÇ ¸ðµç °ÍÀÌ Unix¿Í °ÅÀÇ µ¿ÀÏÇÏ´Ù. ½Ã½ºÅÛ ¸í·É, Åøµéµµ µ¿ÀÏÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, Linux¿¡¼­ ¸¸µç ÇÁ·Î±×·¥Àº °ÅÀÇ ¼öÁ¤¾øÀÌ Unix¿¡¼­ ±×´ë·Î »ç¿ëµÉ ¼ö ÀÖ´Ù. °Ô´Ù°¡ ÀÚÀ¯·Ó°Ô ÀÌ¿ëÇÒ ¼ö ÀÖÀ¸¸ç, Àú·ÅÇÑ PC¿¡¼­µµ ÈÇ¸¢ÇÏ°Ô ÀÛµ¿µÈ´Ù. <BR><BR></DIV></LI></UL>Unix°¡ ÇÐ½ÀÀ» À§ÇÑ ÃÖ°íÀÇ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C" target=_blank>¿î¿µÃ¼Á¦</A>¶ó´Â ÀÇ°ß¿¡ ´ëÇØ¼­´Â ÀÌ°ßÀÌ ÀÖÀ» ¼ö ÀÖ´Ù. ÇÊÀÚÀÇ »ý°¢À» Á¤¸®ÇØ º¸ÀÚ¸é Unix°¡ ÃÖ°íÀÇ ÇÐ½À¿ë ¿î¿µÃ¼Á¦ÀÎ ÀÌÀ¯´Â ´ÙÀ½°ú °°´Ù.<BR>
<OL type=1>
<LI>Unix´Â ¸ðµç ¿î¿µÃ¼Á¦ÀÇ ¼±Á¶°ÝÀÌ´Ù. ´ëºÎºÐÀÇ ¿î¿µÃ¼Á¦°¡ Unix¿î¿µÃ¼Á¦ ¸ðµ¨À» °ÅÀÇ ±×´ë·Î µû¸£°í ÀÖ´Ù. <BR>
<LI><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Network%20programing" target=_blank>Network programing</A>, <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=system%20programing" target=_blank>system programing</A>À» À§ÇÑ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC" target=_blank>¶óÀÌºê·¯¸®</A>¿Í Åø, <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C" target=_blank>ÇÁ·ÎÅäÄÝ</A>µéÀÌ Unix È¯°æ¿¡¼­ ¸¸µé¾îÁ³´Ù. <BR>
<LI>RFC, °³¹ß¹®¼­ÀÇ »ó´ç¼ö°¡ Unix ±âÁØÀÌ´Ù(¿ª»ç°¡ ¿À·¡µÇ¾ú±â ¶§¹®¿¡ ´ç¿¬ÇÏ´Ù) <BR>
<LI>´Ü¼øÇÑ °èÃþÀ» °¡Áö°í ÀÖ´Ù. - À©µµ¿ìÁî °°Àº °æ¿ì´Â »ç¿ëÀÚ ÆíÀÇ¸¦ À§ÇØ¼­ ¿©·¯°³ÀÇ °èÃþÀ» °¡Áö°Ô µÈ´Ù. ÀÌ´Â Àú ±í¼÷ÀÌ¿¡ ÀÖ´Â °èÃþÀ» Á÷Á¢ Á¢±ÙÇØ¾ß ÇÏ´Â °³¹ßÀÚ¿¡°Ô´Â Àç¾ÓÀÌ µÉ ¼ö ÀÖ´Ù - <BR>
<LI>UnixÀÇ Ã¶ÇÐÀº <STRONG>Small is beautifull</STRONG>ÀÌ´Ù. ÀÌ·¯ÇÑ Ã¶ÇÐÀº ÀÏ¹ÝÀ¯Àú¿¡°Ô ºÒÆíÇÔÀ¸·Î ´Ù°¡¿Ã ¼ö ÀÖÁö¸¸ °³¹ßÀÚ³ª ÇÁ·Î±×·¡¸Ó ÇÐ»ý¿¡°Ô´Â ÀåÁ¡ÀÌ µÈ´Ù. ¿¡µðÅÍ¿Í <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=gcc" target=_blank>gcc</A>ÄÄÆÄÀÏ·¯ ÇÏ³ª°¡ °®Ãß¾îÁö´Â °ÍÀ¸·Î ÇÐ½À/°³¹ßÈ¯°æÀÌ ¸¸µé¾îÁø´Ù. <BR><BR></LI></OL>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>1.2</A> C ¾ð¾î </H3>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>1.2.1</A> ¾ð¾î¿¡ ´ëÇØ¼­ </H4>¾ð¾î´Â ÀÇ»ç¼ÒÅëÀ» À§ÇÑ ¼ö´ÜÀ¸·Î »ç¿ëµÈ´Ù. ÀÏº»ÀÎ°úÀÇ ÀÇ»ç¼ÒÅëÀ» À§ÇØ¼­´Â ÀÏº»¾î¸¦ ±¸»çÇØ¾ß ÇÑ´Ù. Áß±¹ÀÎ, ¹Ì±¹ÀÎ°úµµ ¸¶Âù°¡Áö°¡ µÇ°Ú´Ù. »ç¶÷»çÀÌÀÇ ÀÇ»ç¼ÒÅëÀ» À§ÇØ¼­¸¸ ¾ð¾î°¡ »ç¿ëµÇ´À³Ä ÇÏ¸é ±×·¸Áöµµ ¾Ê´Ù. ¹«¾ð°¡¸¦ Á¦¾îÇÏ°í ´Ù·ç±â À§ÇÑ ¸ðµç ºÎºÐ¿¡ ¾ð¾î´Â »ç¿ëµÈ´Ù. ÀÚ¿¬Çö»óÀ» ÀÌÇØÇÏ±â À§ÇØ¼­ ¼öÇÐÀÌ »ç¿ëµÈ´Ù. ±â°è¸¦ ´Ù·ç±â À§ÇØ¼­ Á¦°øµÇ´Â ¸Þ´º¾ó ¿ª½Ã ¾ð¾î¶ó°í ÇÒ ¼ö ÀÖ´Ù. <BR><BR>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>1.3</A> C ÇÁ·Î±×·¡¹Ö ¾ð¾î </H3>ÄÄÇ»ÅÍ¿Í ´ëÈ­ÇÏ±â À§ÇØ¼­´Â ÄÄÇ»ÅÍ°¡ ÀÌÇØÇÒ ¼ö ÀÖ´Â ¾ð¾îÀÎ ±â°è¾î¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î¼­ ÁÖ¾îÁø ¼ýÀÚµéÀÇ ¸ñ·Ï¿¡¼­ °¡Àå Å« ¼ýÀÚ¸¦ Ã£µµ·Ï ÇÒ·Á¸é ´ë·« ´ÙÀ½°ú °°Àº ¾ð¾î¸¦ ÄÄÇ»ÅÍ¿¡ ÀÔ·ÂÇØ¾ß ÇÑ´Ù. <BR><PRE class=code>0011010011101011100101100100111010000000010101000010110110001010...<BR></PRE>ÇÑ¸¶µð·Î ¸»ÇØ¼­ ÀÎ°£ÀÌ ÇÒ ÁþÀÌ µÇÁö ¸øÇÑ´Ù. µµ´ëÃ¼ Àú°É ¾î¶»°Ô ÀÌÇØÇÏ°í ¸í·ÉÀ» ³»¸± ¼ö ÀÖ´Ü ¸»ÀÎ°¡. ±×·¯³ª ³î¶ø°Ôµµ ÄÄÇ»ÅÍ°¡ ¸¸µé¾îÁø ÃÊ±â¿¡´Â Àú·¯ÇÑ ±â°è¾î¸¦ Á÷Á¢ ÄÄÇ»ÅÍ¿¡ ÀÔ·ÂÇÏ´Â ¹æ½ÄÀ¸·Î ÄÄÇ»ÅÍ¸¦ ¿î¿ëÇß¾ú´Ù. <BR><BR>¿ø·¡ ÀÎ°£Àº °ÔÀ¸¸¥ µ¿¹°ÀÌ´Ù. ¸¹Àº ÄÄÇ»ÅÍ°úÇÐÀÚµéÀÌ À§ÀÇ ´Ü¼ø¹«½ÄÇÑ ¹æ¹ýÀÌ ¾Æ´Ñ Á»´õ ½¬¿î ¹æ¹ýÀ¸·Î ÄÄÇ»ÅÍ¿Í ´ëÈ­ÇÏ±â À§ÇÑ ¹æ¹ýÀ» Ã£±â À§ÇØ¼­ ³ë·ÂÇß¾ú°í, ±×·¡¼­ ¸¸µé¾îÁø°Ô <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Assembly" target=_blank>Assembly</A> ÀÌ´Ù. Assembly´Â <STRONG>0</STRONG>°ú <STRONG>1</STRONG>µÈ ¸í·ÉÀ» Á»´õ ÀÎ°£ÀÌ ÀÌÇØÇÏ±â ½±°Ô²û ¹®ÀÚÈ­ Çß´Ù.<BR><PRE class=code>.section .data<BR><BR>data_items:                         # ¼ýÀÚ µ¥ÀÌÅÍµé<BR>    .long 3,67,34,222,45,75,54,34,44,33,22,11,66,0 <BR>    .section .text<BR>    .globl _start<BR><BR>_start:<BR>    movl $0, %edi                   # move 0 into the index register<BR>    movl data_items(,%edi,4), %eax  # load the first byte of data<BR>    movl %eax, %ebx                 # since this is the first item, %eax is<BR>                                    # the biggest<BR><BR>start_loop:                         # start loop<BR>    cmpl $0, %eax                   # check to see if we ve hit the end<BR>    je loop_exit<BR>    incl %edi                       # load next value<BR>    movl data_items(,%edi,4), %eax<BR>    cmpl %ebx, %eax                 # compare values<BR>    jle start_loop                  # jump to loop beginning if the new<BR>                                    # one isn t bigger<BR>    movl %eax, %ebx                 # move the value as the largest<BR>    jmp start_loop                  # jump to loop beginning<BR>loop_exit:                          # %ebx is the return value,<BR>                                    # and it already has the number<BR><BR>    movl $1, %eax                   #1 is the <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=exit" target=_blank>exit</A>() syscall<BR>    int $0x80<BR></PRE>¹¹ ±×·¡µµ ¿©ÀüÈ÷ º¸±â ¾î·Æ´Ù°í »ý°¢ÇÒÁö ¸ð¸£°ÚÁö¸¸ ¾îÂ¶µç <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EA%B8%B0%EA%B3%84%EC%96%B4" target=_blank>±â°è¾î</A>º¸´Ù´Â ÈÎ¾À ÀÌÇØÇÏ±â ½¬¿ï °ÍÀÌ´Ù. <BR><BR>±×·¯³ª ¾î¼Àºí¸®¾î´Â ±â°è¾î¸¦ 1:1·Î ÀüÈ¯ÇÑ´Ù. ¶§¹®¿¡ ±â°è¾î º¸´Ù´Â È¹±âÀûÀ¸·Î ÀÌÇØÇÏ±â ½±Áö¸¸, ¿©ÀüÈ÷ ÀÎ°£¿¡°Ô ±â°èÀûÀÎ »ç°í¹æ½ÄÀ» °­¿äÇÏ°Ô ¸¸µç´Ù. <BR><BR>±×·¡¼­ Á»´õ ÀÎ°£ÀûÀÎ, Á»´õ ÀÎ°£ÀÌ »ç¿ëÇÏ±â ½¬¿î ¶Ç´Ù¸¥ ´ë¾ÈÀ» Ã£°Ô µÇ¾ú°í, ±×·¯ÇÑ ³ë·ÂÀÇ °á°ú ¸¸µé¾îÁø°Ô C¾ð¾îÀÌ´Ù. C ÇÁ·Î±×·¡¹Ö ¾ð¾î (ÀÌÇÏ C)´Â 1970³â¿¡ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Unix" target=_blank>Unix</A>¿î¿µÃ¼Á¦¿¡¼­ »ç¿ëÇÏ±â À§ÇÑ ¸ñÀûÀ¸·Î Dennis Ritchie¿¡ ¸¸µé¾î Á³À¸¸ç, °­·ÂÇÔ°ú Æí¸®ÇÔÀ¸·Î °ÅÀÇ ¸ðµç ÄÄÇ»ÅÍ¿Í ¿î¿µÃ¼Á¦¿¡¼­ »ç¿ëÇÏ´Â °¡Àå ¼º°øÀûÀÎ ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ µÇ¾ú´Ù.<BR><BR>ÀÌÈÄ¿¡ ¸¸µé¾îÁø C++, Java, Perl, PHP, Python µîÀÇ ¾ð¾îµéµµ Á÷°£Á¢ÀûÀ¸·Î CÀÇ ¿µÇâÀ» ¹Þ¾ÒÀ¸¸ç, ÃÖ±Ùµé¾î ÀÌµé ÃÖ½ÅÀÇ ¾ð¾î°¡ ¸¹Àº ÀÎ±â¸¦ ²ø°í ÀÖ±â´Â ÇÏÁö¸¸, ¿©ÀüÈ÷ C´Â °¡Àå ¸¹Àº °³¹ßÀÚÁøÀ» È®º¸ ÇÏ°í ÀÖÀ¸¸ç, ¸¹Àº ¼öÀÇ ÇÁ·Î±×·¥ÀÌ ¿©ÀüÈ÷ C·Î ¸¸µé¾îÁö°í ÀÖ´Ù. <BR><BR>´ÙÀ½Àº C·Î ¸¸µé¾îÁø °¡Àå Å« ¼ýÀÚ¸¦ Ã£´Â ÇÁ·Î±×·¥ÀÌ´Ù.<BR><PRE class=code>int <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=main" target=_blank>main</A>()<BR>{<BR>    int i = 0;<BR>    int maxitem = -1;<BR>    int items[] = {3,67,34,222,45,76,54,34,44,33,22,11,66,0};<BR>    while(items[i] != 0)<BR>    {<BR>        if (items[i] &gt; maxitem)    <BR>            maxitem = items[i];<BR>        i++;<BR>    }<BR>    printf("MAX NUM IS : %d\n", maxitem);<BR>}<BR></PRE>¾à°£ÀÇ ¼¾½º¸¸ ÀÖ´Ù¸é ÇÁ·Î±×·¡¸Ó°¡ ¾Æ´Ï´õ¶óµµ ÀÌÇØÇÏ±â ¾î·ÆÁö ¾ÊÀ» Á¤µµ´Ù. <BR><BR>¾ö°ÝÈ÷ ¸»ÇÏÀÚ¸é C¾ð¾î¶ó´Â °ÍÀº ÀÎ°£ÀÌ ±â°è¾î¸¦ ÀÌÇØÇÏ°í »ç¿ëÇÏ±â Èûµé±â ¶§¹®¿¡ ¸¸µé¾îÁø Áß°£´Ü°èÀÇ ¾ð¾î¶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. À§ÀÇ ÄÚµå´Â ÀÎ°£Àº ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖÁö¸¸ ÄÄÇ»ÅÍ´Â ÀÌÇØÇÒ ¼ö ¾ø±â ¶§¹®¿¡, ±â°è¾î·Î ¹Ù²Ù¾îÁÖ´Â <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC" target=_blank>ÄÄÆÄÀÏ·¯</A>¶ó´Â º°µµÀÇ ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇÏ°Ô µÈ´Ù. ÀÌ°ÍÀº ³ªÁß¿¡ ´Ù·çµµ·Ï ÇÒ °ÍÀÌ´Ù. <BR><BR>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>1.3.1</A> ÄÄÇ»ÅÍ¿Í ¿î¿µÃ¼Á¦ ±×¸®°í ÇÁ·Î±×·¡¹Ö ¾ð¾î </H4>ÄÄÇ»ÅÍ <STRONG>¸ö</STRONG>, ¿î¿µÃ¼Á¦´Â <STRONG>³ú</STRONG>¶ó°í ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ³ú¸¸ °¡Áö°í¼­´Â ÇÒ ¼ö ÀÖ´Â ÀÏÀÌ Á¦ÇÑÀûÀÌ´Ù. ÃÖ¼ÒÇÑÀÇ ÄÄÇ»ÅÍÀÇ À¯Áö¸¸ °¡´ÉÇÒ »ÓÀÌ°í, ¾î¶² ¿øÇÏ´Â ÀÏÀ» ÇÏ±â À§ÇØ¼­´Â ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇÏ´Ù. ÇÁ·Î±×·¡¹Ö ¾ð¾î¶õ ÀÌ·¯ÇÑ ÇÁ·Î±×·¥À» ¸¸µé±â À§ÇÑ ¶Ç´Ù¸¥ ÇÁ·Î±×·¥¼Â ÀÌ¶ó°í ÀÌÇØÇÏ¸é µÈ´Ù. <BR><BR>&lt;&#115;&#99;RIPT type=text/java&#115;&#99;ript&gt;<!--
google_ad_client = "pub-0339096251232740";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-06-19: blog_center
google_ad_channel = "8014010384";
//--> &lt;/&#115;&#99;RIPT&gt; &lt;&#115;&#99;RIPT src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/java&#115;&#99;ript&gt; &lt;/&#115;&#99;RIPT&gt; 
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>1.4</A> ¿Ö Linux¿Í C ÀÎ°¡ </H3>Áö±Ý¿¡ ¿Í¼­ C´Â C++, Java, Perl, Python, Ruby, C# µîÀÇ ¾ð¾îµé¿¡ ºñÇØ¼­ ±¸´Ú´Ù¸® ¾ð¾î·Î Ãë±ÞÀ» ¹Þ°í ÀÖ´Â°Ô »ç½ÇÀÌ´Ù. ±×·¯³ª ¿©ÀüÈ÷ C´Â ¸¹Àº ¿µ¿ª¿¡¼­ ¾²¿©Áö°í ÀÖÀ¸¸ç, ¸¸µé¾îÁö´Â ÀüÃ¼ ÇÁ·Î±×·¥ÀÇ (¾Æ¸¶µµ) Àû¾îµµ 60% ÀÌ»óÀÌ C·Î ¸¸µé¾îÁö°í ÀÖ´Ù. <BR><BR>C´Â ¿©ÀüÈ÷ ¼º°øÀûÀ¸·Î »ç¿ëµÇ°í ÀÖ´Â ¾ð¾îÀÌ´Ù. ±×·¯³ª C¸¦ ¹è¿ö¾ß ÇÏ´Â ÁøÁ¤ÇÑ ÀÌÀ¯´Â ¾Æ·¡¿Í °°ÀÌ Á¤¸®ÇÒ ¼ö ÀÖ´Ù. <BR>
<UL>
<LI>°¡Àå ¿À·¡µÈ °í¼öÁØÀÇ ¾ð¾î´Ù. <BR>
<DIV class=indent>C´Â ½ÇÁúÀûÀ¸·Î ¼º°øÇÑ °¡Àå ¿À·¡µÈ ¾ð¾îÀÌ´Ù. ±×¸¸Å­ ¿À·£ ¿ª»ç¸¦ °¡Áö°í ÀÖÀ½À» ÀÇ¹ÌÇÑ´Ù. ¿ª»ç¸¦ ¾Ë¸é ½Ã´ë¸¦ Áö¹èÇÒ ¼ö ÀÖ´Ù. <BR></DIV>
<LI>¸¹Àº ÇÁ·Î±×·¥µéÀÌ C·Î ÀÛ¼ºµÇ¾ú´Ù. <BR>
<DIV class=indent>ÇÁ·Î±×·¡¹Ö ±â¼úÀ» ÀÍÈ÷´Â °¡Àå ÁÁÀº ¹æ¹ýÁß ÇÏ³ª´Â ´Ù¸¥ ÈÇ¸¢ÇÑ ÇÁ·Î±×·¥À» Á¢ÇÏ´Â °ÍÀÌ´Ù. ¼ö½Ê¶óÀÎÀÇ °£´ÜÇÑ ÇÁ·Î±×·¥ºÎÅÍ ¼ö¸¸/¼ö½Ê¸¸ ¶óÀÎÀÇ °Å´ëÇÑ ÇÁ·Î±×·¥±îÁö ¼ö¸¹Àº C·Î µÈ ÇÁ·Î±×·¥µéÀ» ÀÎÅÍ³Ý»ó¿¡¼­ Á¢ÇÒ ¼ö ÀÖ´Ù. <BR></DIV>
<LI>¸¹Àº ¹®¼­µéÀÌ C·Î ¼³¸íµÇ¾î Á³´Ù.<BR>
<DIV class=indent>¾Ë°í¸®Áò°ú ÀÚ·á±¸Á¶µîÀ» ¼³¸íÇÑ ´ë´Ù¼öÀÇ ¹®¼­µéÀÌ C¸¦ ±âÁØÀ¸·Î Å×½ºÆ®µÇ¾îÁö°í ÀÛ¼ºµÇ¾î¼­ ¹èÆ÷µÇ°í ÀÖ´Ù. ÃÖ±Ù¿¡´Â (Æ¯È÷ Python) ´Ù¸¥ ¾ð¾îµé·Î ¼³¸íµÇ¾îÁø ¹®¼­µéÀÌ ³ª¿À°í ÀÖÁö¸¸, ¿ª½Ã Àý´ë´Ù¼öÀÇ ¹®¼­µéÀÌ C¸¦ ±âÁØÀ¸·Î ¸¸µé¾î Áö°í ÀÖ´Ù. ¹®¼­ÀÇ ÀÛ¼ºÀÚµéÀÌ C¾ð¾î¿¡ ÀÍ¼÷ÇÑ °æ¿ì°¡ ¸¹±â ¶§¹®ÀÌ´Ù.<BR></DIV>
<LI>°£°áÇÏ°í ´Ü¼øÇÏ´Ù. <BR>
<DIV class=indent>´ÜÁ¡ÀÌ µÉ ¼öµµ ÀÖ°ÚÁö¸¸, C´Â °£°áÇÏ°í ´Ü¼øÇÏ´Ù. ÀÌ´Â ´Ù¸¥ ºÎ°¡ÀûÀÎ °Í¿¡ ½Å°æ¾È¾²°í, ¹è¿ì°íÀÚ ÇÏ´Â ¾ð¾îÀÇ Æ¯Â¡°ú È°¿ë¿¡ ÁýÁßÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù. <BR><BR></DIV></LI></UL>°á·ÐÀûÀ¸·Î ¸»ÇÏÀÚ¸é Linux È¯°æÀ» ÀÌ·¯ÇÑ C¾ð¾î¸¦ ¹è¿ì´Âµ¥ ÃÖÀûÀÇ È¯°æÀ» Á¦°øÇÑ´Ù. ¿î¿µÃ¼Á¦ÀÇ ¼±Á¶°ÝÀÎ UnixÀÇ Ã¶ÇÐÀ» ±×´ë·Î °¡Áö°í ÀÖÀ¸¸ç, Ç¥ÁØÀ» Àß µû¸£°í ÀÖ´Ù. ¼³Ä¡ Áï½Ã º°µµÀÇ ºñ¿ëÀ» ÁöºÒÇÒ ÇÊ¿ä ¾øÀÌ ¿ÏÀüÇÑ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD" target=_blank>°³¹ßÈ¯°æ</A>À» ±¸ÃàÇØÁØ´Ù. º¹ÀâÇÏ°í ¸Ó¸®¾ÆÇÁ°Ô ÀÌ·±Àú·± ¶óÀÌ¼¾½º µûÁö¸é¼­ °³¹ßÈ¯°æÀ» ¸¸µé ÇÊ¿ä°¡ ¾øÀ¸¸ç, ÀÌ·± Àú·± Àâ´ÙÇÑ °Í¿¡ ½Å°æ¾²Áö ¾Ê°í, ¿À·ÎÁö °³¹ß°ú ÇÐ½À¿¡ ÁýÁßÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù. Linux¿¡¼­ÀÇ C°³¹ßÈ¯°æÀÌ Á¤¸» ±×·¸°Ô È¯»óÀûÀÎ°¡¿¡ ´ëÇØ¼­´Â ÀÌ°ßÀÌ ÀÖÀ» ¼ö ÀÖÁö¸¸, Àû¾îµµ ÇÐ½À¿¡ ÀÖ¾î¼­ ÃÖ»óÀÇ È¯°æÀ» Á¦°øÇØÁØ´Ù´Â°É ÀÇ½ÉÇÒ ÇÊ¿ä°¡ ¾øÀ» °ÍÀÌ´Ù.<BR><BR>
<H2><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2</A> Start Linux </H2>ÀÌ ¹®¼­´Â ¸®´ª½º È°¿ë¼­°¡ ¾Æ´Ï´Ù. ±×·¯¹Ç·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÔ¿¡ ÀÖ¾î¼­ ¹Ýµå½Ã ÇÊ¿äÇÏ´Ù°í »ý°¢µÇ´Â ¸®´ª½ºÀÇ Æ¯Â¡ÀûÀÎ °Íµé¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇÒ °ÍÀÌ´Ù. <BR><BR>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.1</A> Linux Kernel </H3>½ÇÁúÀûÀ¸·Î ¿î¿µÃ¼Á¦¶ó°í ÇÏ¸é <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Kernel" target=_blank>Kernel</A> ÀÚÃ¼¸¦ °¡¸£Å²´Ù. kernelÀÌ¾ß¸»·Î ³ú¿¡ ÇØ´çµÇ´Â ÇÙ½ÉÀûÀÎ ºÎºÐÀ¸·Î ·¥, Å°º¸µåÀÔ·Â, ¸ð´ÏÅÍ Ãâ·Â, ÇÁ·Î±×·¥ Á¦¾î¿Í °°Àº ÇÙ½ÉÀûÀÎ ¾÷¹«¸¦ ¼öÇàÇÑ´Ù. ³ª¸ÓÁö´Â ¸ðµÎ kernelÀ§¿¡¼­ µ¹¾Æ°¡´Â (ÇüÅÂ°¡ ´Ù¸¥) ÇÁ·Î±×·¥ÀÏ »ÓÀÌ´Ù. <BR><BR>Linux Ä¿³ÎÀº ¸®´©Áî Åä¹ßÁî°¡ ¸¸µé¾úÀ¸¸ç ÇöÀç(2006³â) 2.6.xx ¹öÀüÀÌ ¹èÆ÷µÇ°í ÀÖ´Ù. Linux Ä¿³ÎÀº <STRONG>.</STRONG>À¸·Î ±¸ºÐµÈ 3ÀÚ¸®ÀÇ ¼ýÀÚ·Î ±¸ºÐÀ» ÇÏ´Âµ¥, Ã¹¹øÂ° ÀÚ¸®´Â <STRONG>major version</STRONG>, µÎ¹øÂ° ÀÚ¸®´Â <STRONG>minor version</STRONG>, ¸¶Áö¸· ÀÚ¸®´Â <STRONG>patch version</STRONG>À» ³ªÅ¸³½´Ù.<BR><BR>¿¹¸¦ µé¾î 2.6.12 ¶ó°í ÇÏ¸é, Ä¿³Î¼Ò½º¿Í ±â´É¿¡ ÀÖ¾î¼­ 2¹øÀÇ Å« º¯È­°¡ ÀÖ¾úÀ¸¸ç, 2¹øÀÇ º¯È­°¡ ÀÌ·ç¾îÁø 2.0.0¿¡¼­ 6¹øÀÇ ÀÚÀßÇÑ º¯È­°¡ ÀÖ¾úÀ½À» ÀÇ¹ÌÇÑ´Ù. 12´Â 2.6.0¿¡¼­ 12¹øÀÇ ÆÐÄ¡¼öÁØÀÇ º¯È­¸¦ ¸»ÇØÁØ´Ù.<BR><BR>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.2</A> ¹èÆ÷ÆÇ </H3>Linux´Â ¸ðµç ¼Ò½ºÄÚµå°¡ ¿ÏÀüÈ÷ °ø°³µÇ¾î ÀÖ´Ù. ±×·¯´Ù º¸´Ï, ´Ù¾çÇÑ Á¾·ùÀÇ ¹èÆ÷ÆÇµéÀÌ Á¸ÀçÇÏ°Ô µÈ´Ù. ÀÌ·¯ÇÑ ¹èÆ÷ÆÇµéÀº ÁÖ·Î ¾î¶² ¹æ½ÄÀ¸·Î ÆÐÅ°Áö(ÇÁ·Î±×·¥)µéÀ» °ü¸®ÇÏ´ÂÁö¿¡ µû¶ó¼­ ±¸ºÐÁö¾î Áø´Ù.<BR><BR>¼ö¹é°³ÀÇ ¹èÆ÷ÆÇÀÌ ÀÖÁö¸¸ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=RedHat" target=_blank>RedHat</A>, <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Gentoo" target=_blank>Gentoo</A>, <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Ubuntu" target=_blank>Ubuntu</A>, <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Fedora" target=_blank>Fedora</A> µîÀÇ ¹èÆ÷ÆÇÀÌ ³Î¸® »ç¿ëµÇ°í ÀÖ´Ù. ¾î¶² ¹èÆ÷ÆÇÀ» ÀÌ¿ëÇØ¼­ ¸®´ª½ºÈ¯°æÀ» ±¸ÃàÇØµµ ¹®Á¦´Â ¾ø°ÚÁö¸¸, ÀÔ¹®¿ëÀ¸·Î´Â Fedora³ª Ubuntu¸¦ ÃßÃµÇÑ´Ù.<BR><BR>ÀÌ ¹®¼­¿¡¼­´Â ¹èÆ÷ÆÇÀ» ¼³Ä¡ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼­ ´Ù·çÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. ½ÃÁß¿¡ ³ª¿Í ÀÖ´Â °ü·Ã ¼­ÀûÀÌ³ª °¢ ¹èÆ÷ÆÇ Ä¿¹Â´ÏÆ¼ÀÇ ¼³Ä¡ ¹®¼­¸¦ Âü°íÇÏ±â ¹Ù¶õ´Ù.<BR><BR>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.3</A> ¸®´ª½ºÀÇ Æ¯Â¡ </H3>°³¹ßÀÚÀÎ ÇÊÀÚÀÇ ÀÔÀå¿¡¼­ ¸®´ª½º´Â <STRONG>¶Ç ´Ù¸¥ Unix ¿î¿µÃ¼Á¦</STRONG>´Ù. ¿©±â¿¡ ¼Ò°³µÈ ¸®´ª½ºÀÇ Æ¯Â¡Àº °ÅÀÇ ´ëºÎºÐÀÌ UnixÀÇ Æ¯Â¡ ±×´ë·ÎÀÌ´Ù. LinuxÀÇ Æ¯Â¡À» ¹è¿ì¸é¼­ ´ýÀ¸·Î UnixÀÇ Æ¯Â¡±îÁö ¹è¿ì°Ô µÇ´Ï <STRONG>ÀÏ¼®ÀÌÁ¶</STRONG>¶ó ÇÒ ¼ö ÀÖ°Ú´Ù. <BR><BR>¸®´ª½ºÀÇ Æ¯Â¡À» ÀÚ¼¼È÷ ´Ù·ç´Â °ÍÀº ÀÌ ¹®¼­ÀÇ ¹üÀ§¸¦ ¿ÏÀüÈ÷ ¹þ¾î³­´Ù. ¿©±â¿¡¼­´Â °³¹ßÈ¯°æÀ» ÀÌÇØÇÒ ¼ö ÀÖ´Â ¼öÁØ¿¡¼­ÀÇ ÃÖ¼ÒÇÑÀÇ ³»¿ë¸¸ ´Ù·ê °ÍÀÌ´Ù.<BR><BR>À¯´Ð½º°¡ ¸ðµç ¸®´ª½ºÀÇ Æ¯Â¡À» °¡Áö°í ÀÖÀ¸¹Ç·Î, ¼³¸í¿¡¼­´Â Unix·Î ÅëÀÏÇÏµµ·Ï ÇÏ°Ú´Ù.<BR>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.3.1</A> ´ÙÁß »ç¿ëÀÚ </H4>°³ÀÎÀÌ »ç¿ëÇÏ´Â <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=PC" target=_blank>PC</A>ÀÇ ¿î¿µÃ¼Á¦·Î ¸¸µé¾îÁ³´ø <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=DOS" target=_blank>DOS</A>, <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Windows" target=_blank>Windows</A>´Â ´Þ¸® Unix´Â Ã³À½ºÎÅÍ Áß´ëÇüÀÇ ÄÄÇ»ÅÍ¸¦ Á¦¾îÇÒ ¸ñÀûÀ¸·Î ¸¸µé¾îÁø ¿î¿µÃ¼Á¦´Ù. ±×·±ÀÌÀ¯·Î Ã³À½ºÎÅÍ ´ÙÁß»ç¿ëÀÚ Áö¿øÀ» °í·ÁÇØ¼­ ¼³°è°¡ µÇ¾ú´Ù. <BR><BR>ÀÌ·± ´ÙÁß »ç¿ëÀÚ´Â ´ëºÎºÐÀÇ °æ¿ì ¹°¸®ÀûÀ¸·Î ÄÄÇ»ÅÍ¿¡¼­ ¸Ö¸® ¶³¾îÁ® ÀÖÀ¸¸ç, <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=NetWork" target=_blank>NetWork</A>¸¦ ÀÌ¿ëÇØ¼­ Á¢¼Ó ÇÏ°Ô µÈ´Ù. Unix´Â Á¢¼ÓÀÌ À¯È¿ÇÑ Á¢¼ÓÀÎÁö ¾Æ´ÑÁö(ºÒ¹ýÀûÀÎ »ç¿ëÀÚ³ª Å©·¡Ä¿)¸¦ ÆÇ´ÜÇÏ±â À§ÇØ¼­ ID:Password¹æ½ÄÀÇ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Login" target=_blank>Login</A> ½Ã½ºÅÛÀ» Áö¿øÇÑ´Ù.<BR><BR>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.3.2</A> ´ÙÁß ÇÁ·Î¼¼½º </H4>ÇÁ·Î¼¼½º¶õ ¿î¿µÃ¼Á¦À§¿¡¼­ ÁÖ¾îÁøÀÏÀ» ÇÏ´Â ÇÁ·Î±×·¥ÀÇ ½ÇÇà ÀÌ¹ÌÁö´Ù. Unix´Â ´ÙÁßÀÇ »ç¿ëÀÚ¸¦ Áö¿øÇÏ°í ÀÖÀ¸¹Ç·Î, µ¿½Ã¿¡ ¿©·¯°³ÀÇ ÇÁ·Î¼¼½º¸¦ Áö¿ø ÇÒ ¼ö ÀÖµµ·Ï ¸¸µé¾îÁ³´Ù. <STRONG>A</STRONG>»ç¿ëÀÚ°¡ À¥ ºê¶ó¿ìÁøÀ» ÇÏ´Â µ¿¾È <STRONG>B</STRONG>»ç¿ëÀÚ´Â <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=DataBase" target=_blank>DataBase</A>ÀÛ¾÷À» ÇÏ¸é¼­ µ¿½Ã¿¡ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=mp3" target=_blank>mp3</A>¸¦ °¨»óÇÒ ¼ö ÀÖ´Ù. <BR><BR>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.3.3</A> ³ôÀº ÀÌ½Ä¼º </H4>Unix´Â ¿î¿µÃ¼Á¦ÀÇ 80% ÀÌ»óÀÌ C¾ð¾î·Î ¸¸µé¾îÁ³´Ù. ÀÌ´Â ´Ù¸¥ Á¾·ùÀÇ ÄÄÇ»ÅÍ¿¡ ½±°Ô ÀÌ½ÄÇÒ ¼ö ÀÖÀ½À» ¸»ÇÑ´Ù. Unix´Â °ÅÀÇ ´ëºÎºÐÀÇ Áß´ëÇü ÄÄÇ»ÅÍ¿Í PC/ÀÓº£µðµå±â±â - Linux -¿¡ ¼³Ä¡µÇ¾î ÀÖ´Ù.<BR><BR>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.3.4</A> ´Ü¼øÇÔ </H4>Ãß»óÀûÀÌ±ä ÇÏÁö¸¸ À¯´Ð½ºÀÇ <STRONG>´Ü¼øÇÔ</STRONG>Àº À¯´Ð½ºÀÇ ´ëÇ¥ÀûÀÎ Æ¯Â¡ÀÌ´Ù. À©µµ¿ì »ç¿ëÀÚ°¡ Unix¸¦ Á¦ÀÏ Á¢ÇÏ¸é ´À³¢´Â°Ô ´Ü¼øÇÔ¿¡¼­ ¿À´Â È²´çÇÔÀÌ´Ù. µµ½º½ÃÀýÀ» º¸´Â °Í°ú °°ÀÌ ÄÄÀº ¹ÙÅÁÈ­¸é¿¡ ÇÁ·ÒÇÁÆ®¸¸ ±ôºýÀÌ°í ÀÖ´Â°É º¸¸é¼­ Àý¸ÁÀ» ´À³¤ »ç¿ëÀÚµµ ²Ï³ª ÀÖ¾úÀ» °ÍÀÌ´Ù.<BR><BR>°Ô´Ù°¡ ÇÁ·Î±×·¥¿ª½Ã ³Ê¹«³ª ¹«¼ºÀÇ ÇÏ±â ±×Áö ¾ø´Ù. ¾Æ±âÀÚ±âÇÑ ¾ÆÀÌÄÜ°ú ´Ù¾çÇÑ ºÎ°¡±â´ÉÀ» Á¦°øÇÏ¸ç ¸¶¿ì½º Å¬¸¯À¸·Î ÇÊ¿äÇÑ ÀÏÀ» ÇØ°áÇÒ ¼ö ÀÖ´Â À©µµ¿ì¿Í´Â ´Þ¸® UnixÀÇ ÇÁ·Î±×·¥Àº Á÷Á¢ Å¸ÀÌÇÎÀ» ÇÏ°í ¿É¼ÇÀ» Áà¼­ ÀÏÀ» ¼öÇàÇØ¾ß ÇÑ´Ù. À¯´Ð½º È¯°æ¿¡ ¸Å¿ì ÀÍ¼÷ÇÑ °³¹ßÀÚ¶ó°í ÇÏ´õ¶óµµ ÆÄÀÏÀÇ ¸ñ·ÏÀ» º¸¿©ÁÖ´Â <STRONG>ls</STRONG>ÀÇ ¿É¼ÇÀ» ¿Ïº®ÇÏ°Ô ÀÌÇØÇÏ°í »ç¿ëÇÏ´Â »ç¶÷Àº ¾Æ¸¶µµ ¾øÀ» °ÍÀÌ´Ù. <BR><BR>±×·¯³ª ¸ð¼øµÇ°Ôµµ ÀÌ·¯ÇÑ ´Ü¼øÇÔÀÌ À¯´Ð½º¸¦ °­·ÂÇÏ°Ô ¸¸µé¾îÁØ´Ù. À¯´Ð½ºÀÇ ´ëºÎºÐÀÇ ±â´É°ú ÇÁ·Î±×·¥µéÀº ÀÚ±â¿¡°Ô ÁÖ¾îÁø ÀÏ¸¸ ÇÏ¸ç, º¹ÀâÇÑ ÀÛ¾÷Àº Ã¶ÀúÈ÷ ºÐ¾÷È­ ÇÔÀ¸·Î½á ¼öÇàÀ» ÇÑ´Ù. ÅØ½ºÆ® ÆÄÀÏÀÇ ³»¿ëÀ» ÀÐ¾î¼­ Linux°¡ Æ÷ÇÔµÈ ¶óÀÎÀ» µû·Î ÀúÀåÇÏ´Â ÀÏÀ» ÇÏ°í ½Í´Ù°í °¡Á¤ÇØº¸ÀÚ. °£´ÜÇÑ ÀÛ¾÷°°Áö¸¸ À©µµ¿ì¿¡¼­ ÀÌ·¯ÇÑ ÀÏÀº <STRONG>¿øÇÏ´Â ÇÁ·Î±×·¥</STRONG>À» Ã£¾Æ¾ß ÇÏ´Â Áö·çÇÑ °úÁ¤À» °ÅÃÄ¾ß ÇÑ´Ù. À¯´Ð½º´Â ¾Æ·¡¿Í °°ÀÌ °£´ÜÇÏ°Ô ÇØ°áÇÒ ¼ö ÀÖ´Ù. <BR><PRE class=code># cat sample.txt | grep "Linux" &gt; Linux.txt<BR></PRE>ÆÄÀÏÀÇ ³»¿ëÀ» Ãâ·ÂÇÏ´Â <STRONG>cat</STRONG>À» ÀÌ¿ëÇØ¼­ ³»¿ëÀ» ÀÐ¾î¿À°í, ÀÐ¾î¿Â ³»¿ëÀ» ¹®ÀÚ¿­À» ºñ±³ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» °¡Áø <STRONG>grep</STRONG>¿¡ º¸³»¾î¼­ Linux¸¦ Æ÷ÇÔÇÑ ¶óÀÎÀ» Linux.txt¿¡ ÀúÀåÇÏ´Â ¹æ½ÄÀÌ´Ù. Ã¶ÀúÈ÷ ºÐ¾÷È­ µÇ¾îÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. <BR><BR>ÀÌ·¯ÇÑ <STRONG>´Ü¼øÇÔ</STRONG>Àº <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%ED%8C%8C%EC%9D%B4%ED%94%84" target=_blank>ÆÄÀÌÇÁ</A>¿Í <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EC%9E%AC%EC%A7%80%ED%96%A5" target=_blank>ÀçÁöÇâ</A>ÀÌ¶ó´Â ±â¼úÀ» ÅëÇØ¼­ ¾ò¾îÁö´Â Æ¯Â¡ÀÌ´Ù. ÆÄÀÌÇÁ¿Í ÀçÁöÇâ¿¡ ´ëÇØ¼­´Â µû·Î ´Ù·ç°Ô µÉ °ÍÀÌ´Ù.<BR><BR>
<H3><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.4</A> ¸®´ª½º È¯°æ </H3>¸®´ª½ºÀÇ È¯°æÀ» °³¹ß¿¡ ÇÊ¿äÇÑ ÃÖ¼ÒÇÑÀÇ ¼öÁØ¿¡¼­ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú´Ù.<BR>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.4.1</A> Shell </H4>¿ì¸®°¡ ÄÄÇ»ÅÍ¸¦ »ç¿ëÇÏ´Âµ¥ ÀÖ¾î¼­, ÄÄÇ»ÅÍ¿Í ¿î¿µÃ¼Á¦ÀÇ º¹ÀâÇÑ ±¸¼ºÀ» ÀÌÇØÇÏ°í ÀÖÀ» ÇÊ¿ä´Â ¾ø´Ù. ±×·¡¾ß ÇÑ´Ù¸é ÄÄÇ»ÅÍ´Â ´ÜÁö Àü¹®°¡ÀÇ ÀüÀ¯¹°ÀÌ µÇ¾úÀ» °ÍÀÌ´Ù. <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Shell" target=_blank>Shell</A>Àº Á¶°³²®ÁúÀÌ ³»ºÎ¸¦ °¨Ãß´Â °ÍÃ³·³ ÄÄÇ»ÅÍ¿Í ¿î¿µÃ¼Á¦¸¦ ³»ºÎ·Î ¼û±ä´Ù. SellÀ» ÀÌ¿ëÇÏ´Â »ç¿ëÀÚ´Â ¿î¿µÃ¼Á¦°¡ ¾î¶»°Ô ¸í·ÉÀ» ¼öÇàÇÏ´ÂÁö µîÀÇ º¹ÀâÇÑ °Í¿¡ ½Å°æ ¾µÇÊ¿ä ¾øÀÌ shell¿¡ °£´ÜÈ÷ ¸í·ÉÀ» ³»¸²À¸·Î½á ÇÊ¿äÇÑ ÀÛ¾÷À» ÇÒ ¼ö ÀÖµµ·Ï ¸¸µé¾îÁØ´Ù. <BR><BR><SPAN class=attach><IMG style="CURSOR: pointer" &#111;&#110;click=image_window(this) alt=shell.gif src="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC?action=download&amp;value=shell.gif" name=target_resize_image[]></SPAN><BR><BR>shellÀº ÀÌ¸¦Å×¸é ¿î¿µÃ¼Á¦¿Í »ç¿ëÀÚ¸¦ ¿¬°áÇØÁÖ´Â ÀÏÀ» ÇÏ´Â ÇÁ·Î±×·¥ÀÌ¶ó°í ÇÒ ¼ö ÀÖ´Ù. ¿©·¯Á¾·ùÀÇ °ÔÀÓÀÌ ÀÖµíÀÌ shellµµ ¿©·¯Á¾·ùÀÇ ½©ÀÌ ÀÖ´Ù. <STRONG>ksh</STRONG>, <STRONG>csh</STRONG>, <STRONG>bash</STRONG>, <STRONG>zshell</STRONG>µîÀÌ ÀÖÀ¸¸ç ¸®´ª½º È¯°æ¿¡¼­´Â <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=bash" target=_blank>bash</A>½©ÀÌ °¡Àå ³Î¸® »ç¿ëµÈ´Ù. ½© ÇÁ·Î±×·¥ÀÌ¶ó°í ºÎ¸£±âµµ ÇÑ´Ù. <BR><BR>½©Àº ÇÁ·ÒÇÁÆ®¶ó´Â °ÍÀ» ÅëÇØ¼­ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Þ¾Æµé¿©¼­ ÇÊ¿äÇÑ ÀÏÀ» ¼öÇàÇÑ´Ù.<BR><BR><SPAN class=attach><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC?action=UploadFile&amp;rename=prompt.jpg" target=_blank>Upload new Attachment "prompt.jpg"</A></SPAN><BR><BR>À©µµ¿ìÁî¿¡¼­µµ <STRONG>cmd</STRONG>¶ó°í ºÒ¸®¿ì´Â ½©À» ¶ç¿ï ¼ö´Â ÀÖÁö¸¸, À¯´Ð½ºÀÇ ½©Àº À©µµ¿ìÁîÀÇ ½©°ú´Â ´Ù¸¥ Â÷¿øÀÇ °ÍÀÌ´Ù. GUIÈ­¸é¿¡¼­ ¸¶¿ì½º Å¬¸¯À¸·Î °ÅÀÇ ´ëºÎºÐÀÇ ÀÏÀ» Ã³¸®ÇÏ´Â À©µµ¿ìÁî¿Í´Â ´Þ¸® À¯´Ð½º´Â °ÅÀÇ ¸ðµç ÀÛ¾÷ÀÌ ½©¿¡¼­ ÀÌ·ç¾îÁø´Ù. ºñ·Ï <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=KDE" target=_blank>KDE</A>¿Í <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Gnome" target=_blank>Gnome</A>¿Í °°Àº µ¥½ºÅ©Å¾ È¯°æÀÌ ³ª¿À±ä ÇßÁö¸¸, ¿©ÀüÈ÷ ¸¹Àº À¯´Ð½º À¯ÀúµéÀÌ µ¥½ºÅ©Å¾È¯°æÀ» ´ÜÁö ¸¹Àº <STRONG>½© Ã¢</STRONG>À» ¶ç¿ì±â À§ÇÑ ¿ëµµ·Î »ç¿ëÇÒ »ÓÀÌ´Ù. <BR><BR>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.4.2</A> ÆÄÀÏ ±¸Á¶ </H4>¸®´ª½ºÀÇ ÆÄÀÏ ½Ã½ºÅÛ ±¸Á¶´Â À¯´Ð½ºÀÇ ±×°Í°ú µ¿ÀÏÇÑ <STRONG>°èÃþ ±¸Á¶</STRONG>¸¦ °¡Áö°í ÀÖÀ¸¸ç, ÀÌ·¯ÇÑ °èÃþ ±¸Á¶´Â µð·ºÅä¸®¶ó´Â Æ¯¼öÇÑ ÇüÅÂÀÇ ÆÄÀÏÀ» ÅëÇØ¼­ ¸¸µé¾îÁø´Ù. <BR><PRE class=code> /---+--- root<BR>     |<BR>     +--- usr ---+--- local --+--- lib<BR>     |           |            |<BR>     |           |            +--- java<BR>     |           |            |<BR>     |           |            +--- include <BR>     |           |<BR>     |           +--- bin <BR>     |           |<BR>     |           +--- src ----+--- apache<BR>     |                        |<BR>     |                        +--- httpd<BR>     |<BR>     +--- home --+-- yundream<BR>                 |<BR>                 +-- younghi<BR>                 |<BR>                 +-- cocoboc <BR></PRE><BR>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.4.3</A> ¸ðµç °ÍÀº ÆÄÀÏÀÌ´Ù </H4>À¯´Ð½º´Â ¸ðµç°É <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%ED%8C%8C%EC%9D%BC" target=_blank>ÆÄÀÏ</A>·Î Ãë±ÞÇÑ´Ù. À§¿¡ Àá±ñ ¾ð±ÞµÇ¾ú´ø °ÍÃ³·³ <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC" target=_blank>µð·ºÅä¸®</A>µµ (Æ¯¼öÇÑ ÇüÅÂ)ÀÇ ÆÄÀÏ·Î Ãë±ÞÇÒ »Ó¸¸ ¾Æ´Ï¶ó, ÇÏµåµð½ºÅ©, ÀÌ´õ³ÝÄ«µå, ÇÁ¸°ÅÍ, °¢Á¾ ÀÔÃâ·Â Æ÷Æ®(USB, PS/2, Serial)µî ¸ðµç ÀåÄ¡±îÁö ÆÄÀÏ·Î Ãë±ÞÇÑ´Ù. ¿¹¸¦ µéÀÚ¸é ÇÏµåµð½ºÅ©´Â <STRONG>/dev/hda1</STRONG>, <STRONG>/dev/hda2</STRONG>, ÇÃ·ÎÇÇµð½ºÅ© µå¶óÀÌºê´Â <STRONG>/dev/fd0</STRONG>ÀÌ¸§ÀÇ ÆÄÀÏ·Î °ü¸®ÇÑ´Ù. <BR><BR>À©µµ¿ìÁîÀ¯Àú¶ó¸é ÀÌ·¯ÇÑ È¯°æÀÌ ³¸¼³°Ô ´À²¸Áö°ÚÁö¸¸, ÀÌ´Â Àû¾îµµ °³¹ßÀÚÀÇ ÀÔÀå¿¡¼­ ºÃÀ» ¶§´Â ¸Å¿ì ÇÕ¸®ÀûÀÎ ±¸Á¶´Ù. ¸ðµç °É ÆÄÀÏÀÌ¶ó´Â µ¿ÀÏÇÑ °´Ã¼·Î º¸°Ô µÊÀ¸·Î½á, µ¿ÀÏÇÑ ÇÁ·Î±×·¡¹Ö ¹æ½ÄÀ» Àû¿ëÇÒ ¼ö ÀÖ±â ¶§¹®ÀÌ´Ù. °¢°¢ÀÇ ÀåÄ¡¸¦ À§ÇÑ ÇÁ·ÎÅäÄÝÀº Á¦¿ÜÇÏ´õ¶óµµ, ÀåÄ¡¿¡ ÀÐ°í/¾²´Âµ¥ ÀÖ¾î¼­ µ¿ÀÏÇÑ ÇÁ·Î±×·¡¹Ö ±â¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î °³¹ß ½Ã°£À» Å©°Ô ´ÜÃà½ÃÅ³ ¼ö ÀÖ´Ù.<BR><BR>ÀÌ·¯ÇÑ ÀåÄ¡¿Í °ü·ÃµÈ Æ¯¼öÇÑ ÆÄÀÏµéÀº <STRONG>/dev</STRONG>¹Ø¿¡ À§Ä¡ÇÑ´Ù. <BR><BR>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.4.4</A> ÆÄÀÌÇÁ¿Í ÀçÁöÇâ </H4>Pipe(ÆÄÀÌÇÁ)´Â ÇÑÂÊ°´Ã¼¿¡¼­ ´Ù¸¥ÂÊ °´Ã¼·Î ¾î¶² ¹°°ÇÀ» º¸³»±â À§ÇÑ Åë·Î·Î »ç¿ëµÈ´Ù. »óÇÏ¼öµµ°üÀÌ ´ëÇ¥ÀûÀÎ °æ¿ì°¡ µÉ°ÍÀÌ´Ù. ÄÁÅ×ÀÌ³Êº§Æ®¿ª½Ã ÇüÅÂ´Â ´Ù¸£Áö¸¸ ¹°°ÇÀ» º¸³»±â À§ÇÑ Åë·Î·Î »ç¿ëµÈ´Ù´Â Á¡¿¡¼­ ÀÏÁ¾ÀÇ ÆÄÀÌÇÁ¶ó°í ÇÒ ¼ö ÀÖ´Ù. <BR><BR><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=Unix" target=_blank>Unix</A>¿ª½Ã °´Ã¼ »çÀÌÀÇ ¹°°ÇÀ» Àü´ÞÇÏ±â À§ÇÑ ¸ñÀûÀ¸·Î <STRONG>ÆÄÀÌÇÁ</STRONG>¸¦ »ç¿ëÇÑ´Ù. ¿©±â¿¡¼­ °´Ã¼´Â <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C" target=_blank>¿î¿µÃ¼Á¦</A>¿¡¼­ ¾î¶² ÀÛ¾÷À» ¼öÇàÇÏ´Â ÃÖ¼Ò´ÜÀ§ÀÎ <STRONG>ÇÁ·Î¼¼½º</STRONG>°¡µÇ¸ç, ¹°°ÇÀº ÀÏ·ÃÀÇ ¿¬¼ÓµÈ bit·Î ÀÌ·ç¾îÁø <STRONG>µ¥ÀÌÅÍ</STRONG>°¡ µÈ´Ù. <BR><PRE class=code>  +------------+        PIPE       +------------+<BR>  | Process A  | --------||------&gt; | Process B  |<BR>  +------------+                   +------------+<BR></PRE><BR>ÆÄÀÌÇÁ´Â À¯´Ð½º ½Ã½ºÅÛ¿¡¼­ ÇÁ·Î¼¼½º°£ µ¥ÀÌÅÍ¸¦ Àü´ÞÇÏ±â À§ÇØ¼­ °¡Àå³Î¸® ÇÊ¼öÀûÀ¸·Î »ç¿ëµÇ´Â ¼³ºñ´Ù. ´ÙÀ½Àº À¯´Ð½º¿¡¼­ ÆÄÀÌÇÁ¸¦ ÅëÇØ¼­ ÀÛ¾÷À» ÇÏ´Â ÀÏ¹ÝÀûÀÎ ¿¹´Ù. ÆÄÀÌÇÁ¾ø´Â À¯´Ð½º´Â ¾Ó²¿ ¾ø´Â Âð»§ÀÌ¶ó ÇÒ ¼ö ÀÖ´Ù. ½©¿¡¼­´Â <STRONG>|</STRONG>¸¦ ÀÌ¿ëÇØ¼­ ÆÄÀÌÇÁ¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.<BR><PRE class=code>// ÇÁ·Î¼¼½º Áß¿¡¼­ viÀÇ Á¤º¸¸¦ ¾ò¾î¿Â´Ù. <BR># ps -ef | grep vi <BR><BR>// file.txt¸¦ ÀÐ¾î¼­ ¸î¶óÀÎÀ¸·Î ±¸¼ºµÇ¾î ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. <BR># cat file.txt | wc -l <BR><BR>// È®ÀåÀÚ°¡ .txtÀÎ ¸ðµç ÆÄÀÏÀ» ÀÐ¾î¼­ "joinc"¹®ÀÚ¿­À» °¡Áø ÆÄÀÏÀ» ¾ò¾î¿Â´Ù.<BR># cat *.txt | grep "joinc"<BR><BR>// ÇÁ·Î¼¼½º Áß¿¡¼­ rootÀ¯Àú°¡ ½ÇÇàÇÑ viÀÇ Á¤º¸¸¦ ¾ò¾î¿Â´Ù.<BR># ps -ef | grep vi | grep root<BR></PRE><BR><STRONG>ÀçÁöÇâ</STRONG>Àº <STRONG>´Ù¸¥ °÷À¸·Î ÇâÇÏ°Ô ÇÑ´Ù</STRONG>¶ó´Â ¶æÀ» °¡Áö°í ÀÖ´Ù. ¿¹¸¦ µéÀÚ¸é È­¸é¿¡ Ãâ·ÂµÇ´Â µ¥ÀÌÅÍ¸¦ <STRONG>ÆÄÀÏ</STRONG>ÀÌ³ª <STRONG>ÇÁ¸°ÅÍ</STRONG>µîÀ¸·Î º¸³»±â À§ÇÑ ¿ëµµ·Î »ç¿ëÇÒ ¼ö ÀÖ´Âµ¥, ÀÌ °æ¿ì µ¥ÀÌÅÍ¸¦ <STRONG>ÆÄÀÏ·Î ÀçÁöÇâ</STRONG>ÇÑ´Ù. µ¥ÀÌÅÍ¸¦ <STRONG>ÇÁ¸°ÅÍ</STRONG>·Î ÀçÁöÇâ ÇÑ´Ù. ¶ó°í ¸»ÇÑ´Ù. ½©¿¡¼­´Â <STRONG>&gt;</STRONG>¸¦ ÀÌ¿ëÇØ¼­ ÀçÁöÇâ ÇÒ ¼ö ÀÖ´Ù. <BR><PRE class=code>// ÇÁ·Î¼¼½º Áß¿¡¼­ rootÀ¯Àú°¡ ½ÇÇàÇÑ viÀÇ Á¤º¸¸¦ È­¸éÀÌ ¾Æ´Ñ  <BR>// rootvi.txt ÆÄÀÏ·Î ÀçÁöÇâÇÑ´Ù. <BR># ps -ef | grep vi | grep root &gt;  rootvi.txt <BR><BR>// rootvi.txt ÆÄÀÏÀÇ ³»¿ëÀ» ÇÁ¸°ÅÍ·Î ÀçÁöÇâ ÇÑ´Ù.<BR>// ÇÁ¸°ÅÍ°¡ ¼³Á¤µÇ¾î ÀÖ´Ù¸é Ãâ·ÂÀÌ µÉ °ÍÀÌ´Ù.<BR># cat rootvi.txt &gt; lp0<BR></PRE><BR><STRONG>&gt;</STRONG>¸¦ ÀÌ¿ëÇØ¼­ ÀçÁöÇâ ÇÒ°æ¿ì µ¿ÀÏÇÑ ÀÌ¸§ÀÇ ÆÄÀÏÀÌ ¾ø´Ù¸é »õ·Î »ý¼ºµÉ °ÍÀÌ´Ù. ¸¸¾à µ¿ÀÏÇÑ ÀÌ¸§ÀÇ ÀÌ¸§ÀÇ ÆÄÀÏÀÌ ÀÖ´Ù¸é, µ¤¾î½á¹ö¸®°Ô µÈ´Ù. µ¤¾î¾²Áö ¾Ê°í ¸¶Áö¸·ºÎÅÍ Ãß°¡µÇ°Ô ÇÒ·Á¸é <STRONG>&gt;&gt;</STRONG>¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. <BR><PRE class=code>// newaddr.txt¸¦ ÀÐ¾î¼­ addr.txt ÆÄÀÏ¿¡ Ãß°¡ÇÑ´Ù. <BR># cat newaddr.txt &gt;&gt; addr.txt<BR></PRE><BR>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.4.5</A> Ç¥ÁØÀÔ·Â,Ç¥ÁØÃâ·Â,Ç¥ÁØ¿¡·¯ </H4>ÄÄÇ»ÅÍ·Î ¿ì¸®°¡ ÇÏ´Â ÀÏÀº °á±¹ <STRONG>ÀÔ·Â</STRONG>°ú <STRONG>Ãâ·Â</STRONG> µÎ°¡Áö ÀÛ¾÷À¸·Î ¿ä¾àµÉ ¼ö ÀÖ´Ù. ¿ì¸®°¡ ÀÔ·ÂÀ» ÅëÇØ¼­ ÄÄÇ»ÅÍ·Î ¸í·ÉÀ» Àü´ÞÇÏ¸é, ±× °á°ú´Â Ãâ·ÂÀÇ ÇüÅÂ·Î ¿ì¸®¿¡°Ô Àü´ÞµÈ´Ù. ÀÔ·ÂÀº Å°º¸µå·Î Ãâ·ÂÀº ¸ð´ÏÅÍ¸¦ ÅëÇØ¼­ ÀÌ·ç¾îÁø´Ù. <BR><BR>Å°º¸µå·Î ÅëÇØ¼­ ÀÌ·ç¾îÁö´Â ÀÔ·ÂÀ» <STRONG><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%ED%91%9C%EC%A4%80%EC%9E%85%EB%A0%A5" target=_blank>Ç¥ÁØÀÔ·Â</A></STRONG>ÀÌ¶ó°í ÇÏ¸ç, ¸ð´ÏÅÍ¸¦ ÅëÇØ¼­ ÀÌ·ç¾îÁö´Â Ãâ·ÂÀ» <STRONG><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%ED%91%9C%EC%A4%80%EC%B6%9C%EB%A0%A5" target=_blank>Ç¥ÁØÃâ·Â</A></STRONG>ÀÌ¶ó°í ÇÑ´Ù. ±×·¸´Ù¸é <STRONG>Ç¥ÁØ¿¡·¯</STRONG>¶õ ¹«¾ùÀÎ°¡. ÀÔ·ÂÀº ¹«Á¶°Ç ÇÏ³ª°¡ µÇ°ÚÁö¸¸, Ãâ·ÂÀº ÇÑ°¡Áö ÀÌ»óÀÌ µÉ ¼ö ÀÖ´Ù. ÀÛ¾÷À» Á¦´ë·Î ¸¶ÃÆÀ» °æ¿ìÀÇ Ãâ·Â°á°ú°¡ ÀÖÀ» ¼ö ÀÖÁö¸¸ ÀÛ¾÷À» ½ÇÆÐÇßÀ» °æ¿ìÀÇ Ãâ·Â°á°ú°¡ ÀÖÀ» ¼öµµ ÀÖ±â ¶§¹®ÀÌ´Ù. <STRONG>Ç¥ÁØ¿¡·¯</STRONG>´Â ÀÛ¾÷¿¡ ½ÇÆÐÇß´Ù¶ó´Â °ÍÀ» »ç¿ëÀÚ¿¡°Ô ¾Ë·ÁÁÖ±â À§ÇØ¼­ »ç¿ëÇÑ´Ù. <BR><BR>Unix¿¡¼­´Â ÀÌ·¯ÇÑ ÀÔ·Â°ú Ãâ·Â±îÁöµµ ÆÄÀÏ·Î °ü¸®¸¦ ÇÑ´Ù. ÀÌ ÆÄÀÏµéÀº ´ÙÀ½°ú °°ÀÌ ÀÔ·Â°ú Ãâ·Â¿¡ ´ëÀÀµÇ´Â ¼ýÀÚ·ÎµÈ ÀÌ¸§À» °¡Áö°í ÀÖ´Ù. <BR>
<TABLE class=wiki cellSpacing=2 cellPadding=3>
<TBODY>
<TR class=wiki>
<TD class=wiki align=left>Ç¥ÁØÀÔ·Â </TD>
<TD class=wiki align=left>0 </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>Ç¥ÁØÃâ·Â </TD>
<TD class=wiki align=left>1 </TD></TR>
<TR class=wiki>
<TD class=wiki align=left>Ç¥ÁØ¿¡·¯ </TD>
<TD class=wiki align=left>2 </TD></TR></TBODY></TABLE><BR>ÀÌ¸¦ ÀÌ¿ëÇØ¼­ ÀçÁöÇâÀ» ½ÃÅ³ ¶§, Ç¥ÁØ¿¡·¯¿Í Ç¥ÁØ¿¡·¯¸¦ µû·Î ÀúÀåÇÒ ¼öµµ ÀÖ´Ù.<BR><PRE class=code>// Ç¥ÁØÃâ·ÂÀ» suessvalue.txt·Î ÀçÁöÇâ ÇÑ´Ù. <BR># ./prog 1&gt; suessvalue.txt<BR><BR>// Ç¥ÁØ¿¡·¯¸¦ error.txt ÆÄÀÏ·Î ÀúÀåÇÑ´Ù.<BR># ./prog 2&gt; error.txt<BR></PRE>´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î Ç¥ÁØ¿¡·¯¸¦ Ç¥ÁØÃâ·ÂÀ¸·Î ÀçÁöÇâ ½ÃÅ³ ¼öµµ ÀÖ´Ù.<BR><PRE class=code>#./prog 2&gt;&amp;1<BR></PRE><BR>
<H4><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.4.6</A> °èÁ¤ </H4>¸®´ª½º¿ª½Ã ´Ù¸¥ À¯´Ð½ºµé°ú ¸¶Âù°¡Áö·Î ´ÙÁß»ç¿ëÀÚ ¿î¿µÃ¼Á¦ÀÌ´Ù. ÀÌ·¸´Ù º¸´Ï ½Ã½ºÅÛ ÀÚ¿ø¿¡ ´ëÇÑ Á¢±Ù±ÇÇÑÀÌ ¸Å¿ì Áß¿äÇØ Áø´Ù. ¿¹¸¦µé¾î Æ¯Á¤ À¯ÀúÀÇ °³ÀÎ ½Å»óÁ¤º¸¸¦ °¡Áø ÆÄÀÏÀº °áÄÚ ´Ù¸¥ À¯ÀúµéÀÌ º¼ ¼ö ÀÖ¾î¼­´Â ¾ÈµÉ °ÍÀÌ¸ç <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=shutdown" target=_blank>shutdown</A>°ú °°Àº ½Ã½ºÅÛ ´Ù¿î ¸í·ÉÀº Æ¯¼öÇÑ À¯Àú(½´ÆÛÀ¯Àú)¸¸ÀÌ Á¦ÇÑÀûÀ¸·Î ½ÇÇà°¡´É ÇØ¾ß ÇÒ°ÍÀÌ´Ù. ¾Æ¹¸µç ³×Æ®¿öÅ©ÀåÄ¡, ÆÄÀÏ, ÇÁ·Î¼¼½º, ÀåÄ¡(µð½ºÅ©, CD-ROM, ÇÁ¸°ÅÍµî)ÀÇ ¸ðµç ½Ã½ºÅÛ ÀÚ¿ø¿¡ ´ëÇØ¼­ »ç¿ëÀÚ °èÁ¤¼öÁØ¿¡¼­ÀÇ Á¢±ÙÁ¦¾î¿Í °ü·ÃµÈ Á¦ÇÑÀÌ ÇÊ¿äÇÏ°Ô µÉ °ÍÀÌ´Ù. È¸»çÀÇ Á÷Ã¥°ú °ü·ÃµÈ ½Ã½ºÅÛ°ú µ¿ÀÏÇÏ´Ù°í º¸¸é µÈ´Ù. ÀÏ¹Ý »ç¿øÀÎÁö, ´ë¸®ÀÎÁö, °úÀåÀÎÁö, »çÀåÀÎÁö¿¡ µû¶ó¼­ Á¢±ÙÇÒ¼ö ÀÖ´Â È¸»çÀÚ¿øÀÇ ·¹º§ÀÌ °áÁ¤µÇ´Â °Í°ú ¸¶Âù°¡Áö´Ù. ÀÏ¹Ý °øÁö»çÇ×ÀÌ¾ß ÀüÁ÷¿øÀÌ º¼ ¼ö ÀÖÁö¸¸ °æ¿µ°ú °ü·ÃµÈ Áß¿ä ¹®°ÇÀº ÃÖ°í°æ¿µÁø¸¸ º¼¼ö ÀÖ¾î¾ß ÇÒ°ÍÀÌ´Ù.<BR><BR>
<H5><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.4.6.1</A> À¯Àú </H5>È¸»ç·Î Ä¡¸é »ç¿ø °³°³ÀÎÀÌ´Ù. ¸®´ª½º ½Ã½ºÅÛ °üÁ¡¿¡¼­ º¸ÀÚ¸é ½Ã½ºÅÛ¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â ÃÖ¼Ò´ÜÀ§ °´Ã¼°¡ µÈ´Ù. À¯Àú´Â Á¢±ÙÀ» À§ÇØ¼­ ÀÚ½ÅÀÇ ID¿Í ÆÐ½º¿öµå¸¦ °¡Áö¸ç, ÀÌ¿Ü¿¡µµ ½Ã½ºÅÛ¿¡¼­ÀÇ ¿øÇÒÇÑ È°µ¿À» À§ÇÑ "»ç¿ëÀÚ È¨µð·ºÅä¸®", "»ç¿ëÀÚ ½©", "Æ÷ÇÔµÇ´Â ±×·ì"°ú °°Àº °¢Á¾ ºÎ°¡ÀûÀÎ Á¤º¸µéÀ» °¡Áö°Ô µÈ´Ù.<BR>
<DIV class=indent><BR></DIV>¸®´ª½º¿¡¼­ À¯Àú´Â Å©°Ô 2°³·Î ³ª´©°Ô µÈ´Ù. Àý´ëÀûÀÎ ±ÇÇÑÀ» °¡Áö´Â ½´ÆÛÀ¯Àú¿Í ÀÏ¹ÝÀ¯Àú À¯Àú´Ù.<BR><BR><STRONG>½´ÆÛÀ¯Àú</STRONG>´Â º¸Åë ID·Î <STRONG>root</STRONG>¸¦ °¡Áö¸ç ½Ã½ºÅÛ¿¡¼­ Àý´ëÀûÀÎ ¿µÇâ·ÂÀ» Çà»çÇÑ´Ù. ½Ã½ºÅÛÀÇ ¼Ë´Ù¿î, ¸®ºÎÆÃ, ÀåÄ¡ÀÇ Á¦¾î, À¯ÀúÁ¦¾î, ÆÄÀÏÁ¦¾î¿¡ ÀÖ¾î¼­ ÀüÇô Á¦ÇÑÀÌ ¾ø´Ù. ¸¶À½¸¸ ¸Ô´Â´Ù¸é <STRONG>rm -rf /</STRONG>·Î ½Ã½ºÅÛÀÇ ¸ðµç ÆÄÀÏÀ» ³¯·Á¹ö¸± ¼öµµ ÀÖ´Â Àý´ë ±ÇÇÑÀÚÀÌ´Ù. ¿ö³«¿¡ ¸·°­ÇÑ ±ÇÇÑÀ» °¡Áö°í ÀÖ±â ¶§¹®¿¡ ¿î¿µÃ¼Á¦ ÀÚÃ¼¸¦ ÆÄ±«ÇØ ¹ö¸®´Â ¾îÃ³±¸´Ï ¾ø´Â ½Ç¼ö¸¦ ÇÒ ¼öµµ ÀÖ´Ù. ÇØ¼­ ¸î¸î »ó¿ë¿î¿µÃ¼Á¦µéÀº ½´ÆÛÀ¯Àú¶óµµ ÆÄ¿ö¿¡ Á¦ÇÑÀ» µÎ±âµµ ÇÑ´Ù.<BR><BR>ÀÏ¹Ý À¯Àú´Â ½´ÆÛÀ¯Àú¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö À¯Àú¸¦ °¡¸®Å²´Ù. ÀÏ¹ÝÀ¯Àú´Â ½´ÆÛÀ¯Àú°¡ Á¤ÇÏ´Â ¹Ù¿¡ µû¶ó¼­ ½Ã½ºÅÛ³»¿¡¼­ÀÇ ±ÇÇÑ°ú È°µ¿¿µ¿ª¿¡ ÀÖ¾î¼­ Á¦ÇÑÀ» ¹Þ°Ô µÈ´Ù.<BR><BR>
<H5><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.4.6.2</A> ±×·ì </H5>È¸»ç¿¡¼­´Â ÀÎÀûÀÚ¿ø°ü¸®ÀÇ È¿À²¼ºÀ» ³ôÀÌ±â À§ÇØ¼­ °³ÀÎº°·Î Á÷Ã¥°ú Á÷±ÞÀ» µÎ°í ÀÌ¸¦ ´Ù½Ã ¹­¾î¼­ ºÎ¼­(ÆÀ)¸¦ ¸¸µé¾î¼­ °ü¸®ÇÑ´Ù. ±â¼ú°³¹ßÆÀ, °æ¿µÁö¿øÆÀ, È¸°èÆÀ, ÀÎ»çÆÀµîÀÎµ¥, ÇÑ¸íÀÇ Á÷¿øÀº ÇÏ³ª È¤Àº ±× ÀÌ»óÀÇ ÆÀ¿¡ ¼Ò¼ÓµÉ ¼ö ÀÖÀ» °ÍÀÌ°í ÆÀÀÇ Æ¯Â¡¿¡ µû¶ó¼­ ±ÇÇÑÀÌ ÀçÁ¶Á¤ µÉ°ÍÀÌ´Ù.<BR><BR>È¸»ç¿Í °°ÀÌ ºÎ¼­(ÆÀ)À» ¸¸µé¾î¼­ Á¶Á÷À» È¿À²ÀûÀ¸·Î ¸¸µå´Â°Í°ú °°Àº ±¸Á¶´Â ´Ù¸¥ ¸ðµç Áý´Ü¿¡¼­ (ÀÌ¸§¸¸ ¾à°£ ¹Ù²Ù¾î¼­) °øÅëÀûÀ¸·Î ³ªÅ¸³ª¸ç ¿î¿µÃ¼Á¦¿ª½Ã ¿¹¿Ü¾øÀÌ ÀÌ·¯ÇÑ ±¸Á¶¸¦ µû¸¥´Ù. <BR><BR>¸®´ª½º¿¡¼­´Â ÀÌ¸¦ ±×·ìÀÌ¶ó°í ÇÑ´Ù. ¸®´ª½º¿¡¼­ÀÇ ±×·ì¿ª½Ã À¯ÀúÀÚ¿øÀ» È¿À²ÀûÀ¸·Î °ü¸®ÇÏ±â À§ÇÑ ÀåÄ¡´Ù. ÇÏ³ªÀÇ À¯Àú´Â ÇÏ³ªÀÌ»óÀÇ ±×·ì¿¡ Æ÷ÇÔµÉ ¼ö ÀÖ´Ù.<BR><BR>
<H5><A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch2_LiuxAndC#toc" target=_blank>2.4.6.3</A> ±ÇÇÑ </H5>À¯Àú¿Í ±×·ìÀº °íÀ¯ÀÇ ±ÇÇÑÀÌ ÀÖÀ¸¸ç, ÀÌ·¯ÇÑ ±ÇÇÑÀº ÁÖ·Î ÆÄÀÏ¿¡ Àû¿ëµÈ´Ù. Áï ÆÄÀÏÀÏ ÀÐÀ»¼ö ÀÖ´ÂÁö (r), ¾µ¼ö ÀÖ´ÂÁö (w), ½ÇÇàÇÒ ¼ö ÀÖ´ÂÁö (x)¿¡ ´ëÇØ Á¤ÀÇ ÇÏ´Â °ÍÀ¸·Î ÀÌ·ç¾îÁø´Ù. ¸®´ª½º¿¡¼­ ¸ðµç °ÍÀº ÆÄÀÏ·Î ´Ù·ç¾îÁö¹Ç·Î ÆÄÀÏ¿¡ ´ëÇØ¼­ ±ÇÇÑÀ» ¼³Á¤ÇÑ´Ù´Â °ÍÀº °á±¹ ½Ã½ºÅÛ ÀüÃ¼¿¡ ´ëÇÑ ±ÇÇÑÀ» ¼³Á¤ÇÏ´Â °Í°ú µ¿ÀÏÇÑ È¿°ú¸¦ °¡Áø´Ù.<BR><BR>ÀÌ·¯ÇÑ ±ÇÇÑÀº <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EC%9C%A0%EC%A0%80" target=_blank>À¯Àú</A>(User)¿Í <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=%EA%B7%B8%EB%A3%B9" target=_blank>±×·ì</A>(Group), Other(¾îµð¿¡µµ ¼ÓÇÏÁö ¾ÊÀº)¿¡ ´ëÇØ¼­ °¢°¢ Á¤ÀÇ ÇÒ ¼ö ÀÖ´Ù. <BR><PRE class=code> À¯Àú     ±×·ì     Other<BR>+-+-+-+  +-+-+-+  +-+-+-+<BR>|R|W|X|  |R|W|X|  |R|W|X|<BR>+-+-+-+  +-+-+-+  +-+-+-+<BR> 4 2 1    4 2 1    4 2 1</PRE><PRE class=code>¿¹¸¦ µé¾î <STRONG>test.txt</STRONG>ÆÄÀÏÀ» À¯Àú <STRONG>yundream</STRONG>¿¡ ´ëÇØ¼­ ÀÐ±â/¾²±â/½ÇÇà ±ÇÇÑÀ» ±×·ì <BR><STRONG>develop</STRONG>¿Í Other¿¡´Â ÀÐ±â/¾²±â ±ÇÇÑÀÌ ºÎ¿©µÇ¾î ÀÖ´Ù¸é <A href="http://www.joinc.co.kr/modules/moniwiki/wiki.php/manSearch?google=none&amp;name=ls" target=_blank>ls</A>°á°ú´Â ´ÙÀ½°ú °°À» °ÍÀÌ´Ù. <BR></PRE><PRE class=code>$ ls -al<BR>-rw-r--r--   1 yundream develop     5632 2006-04-19 18:09 uname.c<BR>-rwxr-xr-x   1 yundream develop     5632 2006-04-19 18:09 yundream.txt </PRE><PRE class=code>ÀÌÇØÇÏ´Âµ¥ º°·Î ¾î·Á¿ò¾øÀ» °ÍÀÌ´Ù. ls´Â ±ÇÇÑÀ» 7°³ÀÇ ÇÊÅÍ·Î ³ªÅ¸³½´Ù. <BR>Ã³À½ 9°³ ÇÊµå°¡ 3°³¾¿ ²÷¾î¼­ À¯Àú/±×·ì/Otehr¿¡ ´ëÇÑ ±ÇÇÑÀ» ¼³Á¤ÇÑ´Ù. <BR>¸¶Áö¸· ÇÊµå´Â stiky bit¿Í °°Àº Æ¯¼öÇÑ Á¤ÀÇ¸¦ À§ÇØ¼­ »ç¿ëµÈ´Ù.<DIV class=autosourcing-stub><P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 11px 0px 7px; PADDING-TOP: 0px"><A href="http://test.mojily.pe.kr/bbs/board.php?bo_table=C_program&amp;wr_id=2" target=_blank>[ÃâÃ³] ¸ðÁö¸®³× - http://test.mojily.pe.kr/bbs/board.php?bo_table=C_program&amp;wr_id=2</A> </P></DIV></PRE></DIV>]]></description>
<dc:creator>ÃÖ°í°ü¸®ÀÚ</dc:creator>
<dc:date>Mon, 30 Nov 2009 19:28:31 +0900</dc:date>
</item>
<item>
<title>¸®´ª½º È¯°æ¿¡¼­ÀÇ C ÇÁ·Î±×·¡¹Ö - 1Àå ¼Ò°³</title>
<link>http://chonnom.com/bbs/board.php?bo_table=B22&amp;wr_id=1</link>
<description><![CDATA[ÃâÃ³ - <A HREF="http://teamblog.joinc.co.kr/yundream/172" TARGET='_blank'>http://teamblog.joinc.co.kr/yundream/172</A><br/>¼Ò°³ <br/>ÄÄÇ»ÆÃ È¯°æÀÌ Áö±Ý¿¡ ÀÌ¸£°Ô µÈ °¡Àå °áÁ¤ÀûÀÎ ¿øÀÎÀ» Á¦°øÇÑ °ÍÀº C¶ó´Â ¾ð¾îÀÇ ÃâÇöÀÌ µÉ°ÍÀÌ´Ù. C¾ð¾î ´öºÐ¿¡ Áö±ÝÀÇ Çö´ëÀûÀÎ ÄÄÇ»ÆÃ È¯°æÀÌ °®Ãß¾îÁ³´Ù°í ÇØµµ °ú¾ðÀÌ ¾Æ´Ò°ÍÀÌ´Ù. <br/><br/><br/>1972³â Unix ¿î¿µÃ¼Á¦¸¦ À§ÇØ¼­ ¸¸µé¾îÁø C¾ð¾î´Â °ÅÀÇ 30³âÀÌ Áö³­ Áö±Ý±îÁöµµ °¡Àå ÀÎ±â ÀÖ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾îÁßÀÇ ÇÏ³ªÀÌ´Ù. °´Ã¼ÁöÇâÀÌ ÀÏ¹ÝÈ­ µÇ°í Java, python, C++µîÀÇ ¾ð¾îµéÀÌ ³ª¿ÔÀ½¿¡µµ ºÒ±¸ÇÏ°í, »ó¾÷ÀûÀ¸·Î³ª ÇÐ½À¿ëÀ¸·Î È®°íÇÑ ÀÚ¸®¸¦ ÁöÅ°°í ÀÖ´Ù.<br/><br/><br/>C¾ð¾î°¡ ÀÌÃ³·³ ÀÎ±â¸¦ ²ø°ÔµÇÀÚ, »ê¾÷ÇöÀå¿¡¼­ ½±°Ô ÀÀ¿ëÇÒ ¼ö ÀÖµµ·Ï Ç¥ÁØÈ­°¡ ÇÊ¿äÇØÁö°Ô µÇ¾úÀ¸¸ç, ±×¸®ÇÏ¿©¼­ 1983³â ANSI(American National Standards Institute)¿¡¼­ C¿¡ ´ëÇÑ Ç¥ÁØÀ» Á¤ÀÇÇÏ°Ô µÈ´Ù. ÀÌÈÄ C¸¦ À§ÇÑ ANSIÇ¥ÁØÀ» ÆíÇÏ°Ô ANSI C¶ó°í ºÎ¸£°Ô µÈ´Ù. ANSI CÀÇ ÃÖ½ÅÇ¥ÁØÀº C99 ÀÌ¸ç, ¿©±â¿¡´Â C¾ð¾î¸¦ À§ÇÑ Scope, Term, Symbol, È¯°æ, ±¸¹®¿ä¼Ò, ÁÖ¼®, Çì´õÆÄÀÏ±ÔÄ¢ µî C¾ð¾î¸¦ »ç¿ëÇÏ´Âµ¥ ÀÖ¾î¼­ ÁØ¼öÇØ¾ßµÉ »çÇ×µéÀÌ Á¤ÀÇµÇ¾î ÀÖ´Ù.<br/><br/><br/>ANSI C Ç¥ÁØ ±Ç°í¾È<br/>ÀÌ°ÍÀº °­Á¦°¡ ¾Æ´Ñ ±Ç°íÀÌ¹Ç·Î ÄÄÆÄÀÏ·¯¸¦ ¸¸µå´Â ´ÜÃ¼°¡ ÀÌ¸¦ ¹Ýµå½Ã ÁöÅ³ÇÊ¿ä´Â ¾ø´Ù. ±×·¯³ª »ê¾÷Ç¥ÁØÀÌ¹Ç·Î ±Ç°í¸¦ ¹«½ÃÇÑ ÄÄÆÄÀÏ·¯ÀÇ °æ¿ì ¹«½Ã´çÇÏ´Â °æ¿ì°¡ »ý±æ ¼ö ÀÖ´Ù. ±Ç°í»çÇ×À» ÁöÅ°¸é¼­ ±â´ÉÈ®ÀåÀ» À§ÇØ¼­ ´Ù¸¥ ¿ä¼ÒµéÀ» Ãß°¡½ÃÅ°´Â °æ¿ì´Â Á¾Á¾ ÀÖ´Ù.<br/><br/><br/><br/>ÀÌ ¹®¼­ÀÇ ³»¿ëÀº °¡´ÉÇÑ CÀÇ ÃÖ½Å Ç¥ÁØÀÎ C99À» µû¸£°Ô µÉ°ÍÀÌ´Ù. °¡´ÉÇÑÀÌ¶ó´Â ´Ü¼­°¡ ºÙÀº ÀÌÀ¯´Â ÇÊÀÚ°¡ C99ÀÇ Ç¥ÁØÀ» ¿ÏÀüÈ÷ ¼÷ÁöÇÏÁö ¸øÇÔÀ¸·Î Ç¥ÁØ¿¡¼­ ¹þ¾î³­ ¼³¸íÀÌ ÀÖÀ» ¼ö ÀÖ±â ¶§¹®ÀÌ´Ù. ±×·¸´Ù°í °ÆÁ¤ÇÒ ÇÊ¿ä´Â ¾ø´Ù. C¾ð¾î¸¦ ÀÌÇØÇÏ°í »ç¿ëÇÏ´Âµ¥¿¡´Â ¹®Á¦°¡ ¹ß»ýÇÏÁö ¾Ê´Â ¼öÁØÀº ÁöÅ³ °ÍÀÌ´Ù.<br/><br/><br/>ÀÌ ¹®¼­´Â wiki¸¦ ÀÌ¿ëÇØ¼­ ¸¸µé¾îÁú °ÍÀÌ¸ç, ¸ðµç °úÁ¤ÀÌ °ø°³µÈ »óÅÂ¿¡¼­ ÁøÇàµÉ °ÍÀÌ´Ù. ´©±¸µçÁö Âü¿©°¡´ÉÇÏ´Ù. Version 1ÀÌ ¿Ï·áµÈ ½ÃÁ¡¿¡¼­ ¸±¸®Áî ¹öÁ¯ÀÌ docbook Çü½ÄÀ¸·Î º¯È¯ÇÒ °èÈ¹ÀÌ´Ù.<br/><br/><br/>ÀÌ ¹®¼­´Â ¾Æ·¡¿Í °°Àº »ç¿ëÀÚ¸¦ ¸ñÇ¥·Î ³»¿ëÀ» Ã¤¿ö³ª°¥ °ÍÀÌ´Ù.<br/><br/>C ÀÔ¹®ÀÚ <br/><br/>Linux ÃÊº¸ »ç¿ëÀÚ <br/><br/>Linux¿¡¼­ °³¹ßÈ¯°æÀ» ±¸ÃàÇÒ ¼ö ÀÖÀ» Á¤µµ·Î °£´ÜÈ÷ ¼Ò°³<br/><br/>¹®¹ýÀº °¡´ÉÇÑ °£°áÇÏ°Ô, ÇÊ¿äÇÑ ³»¿ë¸¸<br/><br/>»ç½Ç»ó if, while ¹®¸¸ ¾Ë¸é ÇÁ·Î±×·¥ ¸¸µé ¼ö ÀÖ´Ù.<br/><br/>°¡´ÉÇÏ¸é ÄÄÇ»ÅÍÀÇ ¿ø¸® ¼öÁØ¿¡¼­(Áö·çÇÒ ¼öµµ ÀÖ°ÚÁö¸¸)ÀÇ ÀÌÇØ¸¦ ¸ñÇ¥·Î<br/><br/>¿¹¸¦µé¾î Æ÷ÀÎÅÍÀÇ °æ¿ì ±¸±¸ÀýÀýÇÏ°Ô Ãß»óÀûÀ¸·Î ¼³¸íÇÏ´Â °Íº¸´Ù, ±¸Ã¼ÀûÀ¸·Î ÄÄÇ»ÅÍÀÇ ÀÔÀå¿¡¼­ Æ÷ÀÎÅÍ°¡ ¾î¶»°Ô ±â¼úµÇ´Â°¡ ÇÏ´Â ½ÄÀ¸·Î<br/><br/>È¤Àº signed, unsignedÀÇ ¼³¸í½Ã ºñÆ®ÀÇ ÀÔÀå¿¡¼­ ±â¼úÇÏ´Â ½Ä<br/><br/>¿¹Á¦´Â ³²¹ßÇÏÁö ¾Ê´Â´Ù. ¹Ýµå½Ã ÇÊ¿äÇÑ °÷¿¡¼­¸¸ »ç¿ëÇÑ´Ù. <br/><br/>¹®¹ýÀ» ³¡³½´ÙÀ½, ¸®´ª½º ½Ã½ºÅÛ ÇÁ·Î±×·¡¹ÖÀ¸·Î ÇÑÀå Á¤µµ¸¦ ÇÒ¾ÖÇØ¼­, ÀÀ¿ë¿¡ ´ëÇÑ °¨À» ÀâÀ» ¼ö ÀÖ´Â Á¤µµ·Î. <br/><br/>¹®¼­ÀÇ ¿ä¼Ò´Â 3°³·Î ÇÑ´Ù. <br/><br/>º»¹® <br/><br/>¿¹Á¦ : º»¹®ÀÇ ³»¿ë°ú °ü·ÃµÈ ½ÇÇà°¡´ÉÇÑ ÄÚµåÀÇ ÀüºÎ È¤Àº ÀÏºÎ<br/><br/>Áß¿ä : º»¹®ÀÇ Èå¸§À» ÇØÄ¡Áö ¾Ê´Â ¼öÁØ¿¡¼­ÀÇ ÆÁ, ¾ð±Þ, ÁÖ¼® <br/><br/>±×¸² : 4°¡Áö »öÀÌ»óÀ» ³ÑÁö ¾Êµµ·Ï ÇÑ´Ù. Å©±â´Â ¹ÌÁ¤]]></description>
<dc:creator>ÃÖ°í°ü¸®ÀÚ</dc:creator>
<dc:date>Mon, 30 Nov 2009 19:27:33 +0900</dc:date>
</item>
</channel>
</rss>
