º»¹®/³»¿ë
CÀÇ MAINÇÔ¼ö ±â´É ÀÌÇØ
1. ¹®Á¦Á¤ÀÇ
unix ½Ã½ºÅÛÀÇ vi »ç¿ë¹ý À̸¦Å×¸é ¸í·É¸ðµå(ESC)¿Í ÀԷ¸ðµå(i,a,o ..) ¸¶Áö¸· Çà ¸ðµå(:) °°Àº ¸ðµå º¯°æ°ú ¸í·É¸ðµå¿¡¼ÀÇ À̵¿, »èÁ¦, ¼öÁ¤ ¸í·É¾îÀÇ ½Àµæ°ú Ưº°¸í·É󸮿¡¼ÀÇ ÀúÀå, Á¾·á µî ¿©·¯ ¸í·É¾î¸¦ °øºÎÇÏ°í ¾µ ¼ö ÀÖ°Ô ÇÏ¸ç ¡°.c ¡±ÆÄÀÏÀ» °¡Áö°í gcc ÄÄÆÄÀÏÀ» ÅëÇØ a.out ÆÄÀÏ·Î ½ÇÇàÀ» ½ÃŰ´Â °úÁ¤À» ¾Ë°Ô ÇÏ´Â °ÍÀÌ ¸ñÀûÀÌ´Ù. ¶ÇÇÑ c¿¡¼ÀÇ mainÇÔ¼öÀÇ ÀÎÀÚ¿¡ ´ëÇÑ ÀÌÇØ¸¦ ÇÏ´Â °ÍÀ» ¸ñÇ¥·Î ÇÕ´Ï´Ù.
°úÁ¦ÀÇ ¿ä±¸»çÇ×
1. vi¸¦ ½ÇÇà½ÃŲ´Ù.
2. viÀÇ ¸í·É¸ðµå¿¡¼ ÀԷ¸ðµå·Î ÀüȯÇÑ´Ù.
3. mainÇÔ¼öÀÇ ÀÎÀÚ°¡ 1°³ÀÎ °æ¿ì ¿¡·¯¸Þ¼¼Áö¸¦ Ãâ·ÂÇϵµ·Ï Äڵ带 §´Ù.
4. mainÇÔ¼öÀÇ ÀÎÀÚ°¡ 3°³ ÀÌ»óÀ̸é ÀÎÀÚÀÇ °³¼ö¸¦ Ãâ·ÂÇϰí ÀÎÀÚ list¸¦ Ãâ·ÂÇϵµ·Ï Äڵ带 §´Ù.
5. ÀÎÀÚ°¡ 2°³ À̸é ȯ°æº¯¼ö¸¦ Ãâ·ÂÇϵµ·Ï ÇÔ°ú µ¿½Ã¿¡ getenv, setens Å×½ºÆ®¸¦ Ãâ·ÂÇϵµ·Ï Äڵ带 §´Ù.
6. ¼Ò½ºÄڵ带 ÀúÀåÇÑ´Ù.
# ÀÏ·ÃÀÇ °úÁ¤ ¼Ó¿¡¼ ¼öÁ¤°ú À̵¿, ÀúÀå, Á¾·á µîÀÇ ¸í·É¾î¸¦ ±¸»çÇÑ´Ù.
7. gcc ¼³Ä¡¸¦ È®ÀÎÇÏ°í ¼³Ä¡µÇÁö¾ÊÀ» °æ¿ì ¼³Ä¡¸¦ ÇÑ´Ù.
8. gcc- ÆÄÀϸí.c ¸¦ ½ÇÇàÇÔÀ¸·Î¼ a.out ÆÄÀÏÀ» »ý¼ºÇÑ´Ù.
9. ÇöÀç µð·ºÅ丮¿¡ a.out ÆÄÀÏÀ» ½ÇÇàÇÑ´Ù. (./a.out)
10. ÀÎÀÚÀÇ ¼ö¿¡ º¯È¸¦ ÁÖ¸ç °úÁ¦¸¦ ¼öÇàÇÏ´ÂÁö È®ÀÎÇÑ´Ù.
2. ÇÁ·Î±×·¥ ±¸Çö ¼³¸í
(1) °ü·Ã³»¿ë ÇнÀ
¸í·ÉÇà ÀÎÀÚ(argc, argv)
argc ¡ë ÀÎÀÚÀÇ ¼ö
argv ¡ë ÀÎÀÚÀÇ ³»¿ë
ȯ°æ º¯¼ö ¸ñ·ÏÀ̶õ
ÇÁ¡¦(»ý·«)
- ȯ°æ º¯¼ö °ªÀ» °¡Á®¿Â´Ù.
- ±âº»Çü : ch-ar getenv(const ch-ar name);
name :¾Ë°íÀÚÇϴ ȯ°æº¯¼ö À̸§
-¹Ýȯ°ª :¡¡¼º°ø - ȯ°æº¯¼ö °ª
½ÇÆÐ - null
- ȯ°æ º¯¼ö °ªÀ» º¯°æÇÑ´Ù.
- ±âº»Çü : int setenv(const name , const ch-ar value, int overwrite);
name : º¯°æÇϰíÀÚ Çϴ ȯ°æº¯¼ö À̸§
1. Àü󸮴ܰè -Àü󸮱â(cpp)
# include, #define µî #À¸·Î ½ÃÀÛÇÏ´Â ¹®¹ý »çÇ×ÀÌ ÀûÀýÈ÷ Àüó¸®µÈ c ¾ð¾î ¼Ò½ºÆÄÀÏ »ý¼º
2. ÄÄÆÄÀÏ ´Ü°è - ÄÄÆÄÀÏ·¯(cc1)
c¾ð¾î ¼Ò½ºÆÄÀÏÀº ÄÄÆÄÀÏ °úÁ¤À» °ÅÃÄ ¾î¼Àºí¸® ¼Ò½ºÆÄÀÏÀÌ µÊ
3. ¾î¼Àºí ´Ü°è - ¾î¼Àºí·¯(as)
¾î¼Àºí¸® ¼Ò½º ÆÄÀÏÀº ¾î¼Àºí °úÁ¤À» °ÅÃÄ ¸ñÀû ÆÄÀÏÀÌ µÊ
4. ¸µÅ© ´Ü°è- ¸µÄ¿(ld)
¸ñÀû ÄÚµå´Â ¶óÀ̺귯¸®¿Í ¸µÅ©µÇ¾î ½ÇÇà °¡´ÉÇÑ ÆÄÀÏÀÌ µÊ
gcc ÄÄÆÄÀÏ·¯¶õ
gcc´Â gnu ±â¹ÝÀÇ ¿î¿µÃ¼Á¦¿¡¼ ÄÄÆÄÀÏÀ» Çϱâ À§ÇÏ¿© ¸¸µé¾îÁø c ¾ð¾î ÄÄÆÄÀÏ·¯ ¿´³ª ÇöÀç´Â ¿©·¯ °¡Áö ¾ð¾î°¡ Ãß°¡µÇ¾ú´Ù.
ÄÄÆÄÀÏ ½Ã°£¿¡ È£ÃâÀÚ¿¡¼ ó¸®ÇÏ¿© ÄÄÆÄÀÏ·¯, ¸µÄ¿, ¹ÙÀδõ°¡ ÇϳªÀÇ µ¶¸³µÈ ½ÇÇà