CDT¸¦ ÀÌ¿ëÇÑ Windows C/C++ °³¹ß ȯ°æ ¸¸µé±â
ÃÑ ÆäÀÌÁö ¼ö : 3027

Àüü ÇÔ¼ö/¿ë¾î»çÀü
ÇöÀçÀ§Ä¡ : ¹Ì´Ï»çÀÌÆ®>eclipse>documents>CDT

Contents

1 CDT¸¦ ÀÌ¿ëÇÑ Windows C/C++ °³¹ß ȯ°æ ¸¸µé±â
1.1 CDT¿¡ ´ëÇØ¼­
1.2 CDTÀÇ ÁÖ¿ä ±â´É
1.3 Eclipse CDT ¼³Ä¡Çϱâ (Windows ȯ°æ)
1.3.1 GNU ȯ°æ ¸¸µé±â
1.3.2 Eclipse ½ÇÇàÇϱâ
1.3.3 CDT ¼³Ä¡Çϱâ
1.4 CDT Tutorial
1.4.1 Project »ý¼º
2 °ü·Ã ÆäÀÌÁö
3 ÅõÇ¥

1 CDT¸¦ ÀÌ¿ëÇÑ Windows C/C++ °³¹ß ȯ°æ ¸¸µé±â

1.1 CDT¿¡ ´ëÇØ¼­

CDT´Â C/C++ °³¹ßÅø·Î½á Eclipse Ç÷¿Æû¿¡¼­, C/C++ ÅëÇÕ°³¹ßȯ°æÀÌ °¡´ÉÇϵµ·Ï Áö¿øÇÑ´Ù.

CDT´Â Eclipse ÇÁ·ÎÁ§Æ®ÀÇ È®ÀåÅø ÇÁ·ÎÁ§Æ®ÀÇ ÀϺηΠ°³¹ßµÇ°í ÀÖ´Ù. ¿ÏÀüÈ÷ °ø°³µÇ¾î ÀÖÀ¸¸ç, ´©±¸³ª CDT°³¹ß¿¡ Âü¿©ÇÒ ¼ö ÀÖµµ·Ï ¿­·ÁÀÖ´Ù.

1.2 CDTÀÇ ÁÖ¿ä ±â´É

  • C/C++ ¿¡µðÅÍ : ÄÚµå ¿Ï¼º±â´É, syntac highlighting, ±âº»ÇÔ¼ö ¸ñ·Ï
  • C/C++ µð¹ö±ë : GDB¸¦ ÀÌ¿ëÇÑ´Ù.
  • C/C++ ½ÇÇà±â
  • Parser
  • ã±â
  • Makefile »ý¼º±â

ÀÌ·¯ÇÑ ±â´É°ú ÇÔ²² ÀÌŬ¸³½º¿¡¼­ Á¦°øÇÏ´Â CVS(12) Ŭ¶óÀÌ¾ðÆ®¸¦ ÀÌ¿ëÇÏ°Ô µÇ¸é ¸Å¿ì °­·ÂÇÑ °³¹ßȯ°æÀ» ±¸ÃàÇÒ ¼ö ÀÖ°Ô µÈ´Ù.

1.3 Eclipse CDT ¼³Ä¡Çϱâ (Windows ȯ°æ)

ÇöÀç (2005/07/17) ÃֽŹöÁ¯ÀÎ 3.1.0À» ±âÁØÀ¸·Î ¼³¸íÇϵµ·Ï ÇϰڴÙ. CDTÀÇ ¹öÁ¯Àº 2.1À» ±âÁØÀ¸·Î ÇÑ´Ù.

À¯´Ð½º ȯ°æÀº °£´ÜÇϱ⠶§¹®¿¡ À©µµ¿ì¸¦ ±âÁØÀ¸·Î ¼³¸íÇϵµ·Ï ÇÒ°ÍÀÌ´Ù. À©µµ¿ì ȯ°æ¿¡¼­ Eclipse CDT¸¦ ÅëÇØ¼­ C/C++ °³¹ßȯ°æÀ» ¸¸µé°æ¿ì GNU ȯ°æ(gcc,g++,gdb,make)À» ¿ì¼± ¸¸µé¾îÁà¾ß ÇÑ´Ù. ¹°·Ð VC++°ú °°Àº À©µµ¿ì Àü¿ë °³¹ßȯ°æÀ» ÀÌ¿ëÇÏ´Â °Íµµ ¹æ¹ýÀ̱ä ÇϰÚÁö¸¸, °³ÀÎÀûÀ¸·Î VC++Àº »ç¿ëÇÒ ÀÏÀÌ ¾ø°í, À©µµ¿ì ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßµµ QT¸¦ ÀÌ¿ëÇÒ °ÍÀ̱⠶§¹®¿¡ Eclipse + GNU + CDT ¸¦ °³¹ßȯ°æÀ¸·Î ÇÒ °ÍÀÌ´Ù.

1.3.1 GNU ȯ°æ ¸¸µé±â

GNU °³¹ßȯ°æÀº MINGW·Î ¸¸µé¾ú´Ù. MinGW(12)´Â À©µµ¿ì¿¡ GNU ȯ°æÀ» ¸¸µé±â À§ÇÑ Åø·Î cygwin(12)°ú ¸Å¿ì À¯»çÇÏ´Ù°í ÇÒ ¼ö ÀÖ´Ù. °ø°³¼ÒÇÁÆ®¿þ¾î ¶óÀ̼¾½º¸¦ µû¸¥´Ù. cygwin°ú´Â ´Þ¸® Windows Native ÀÀ¿ë °³¹ßÀÌ °¡´ÉÇϵµ·Ï Áö¿øÇϰí ÀÖ´Ù. MinGW´Â http://www.mingw.org ¿¡¼­ ¹Þ¾Æ¼­ ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½Àº °£´ÜÇÑ Å×½ºÆ® ÄÚµå´Ù.
#include <windows.h> 
 
int WINAPI WinMain (HINSTANCE hInstance,  
                     HINSTANCE hPrevInstance,  
                     PSTR szCmdLine,  
                     int iCmdShow)  
{ 
   MessageBox (NULL, "Hello", "Hello Demo", MB_OK); 
   return (0); 
} 
 
´ÙÀ½Àº ÄÄÆÄÀÏ ¹æ¹ýÀÌ´Ù.
$ gcc -o hello.exe hello.cc -mwindows 
 

STLÀ» Æ÷ÇÔÇÑ C++ Äڵ嵵 ÄÄÆÄÀÏ ÇØº¸¾Ò´Ù. ÀߵȴÙ.
#include <map> 
#include <iostream> 
 
using namespace std; 
 
int main() 
{ 
   map<int, int> List; 
   map<int, int>::iterator mi; 
   List[100] = 50; 
   List[87] = 30; 
   List[98] = 99; 
   List[32] = 12; 
 
   mi = List.begin(); 
   while(mi != List.end()) 
   { 
      cout << mi->first << " : " << mi->second << endl; 
      mi++; 
   } 
} 
 


ȤÀº Windows QT4.0 opensource ¸¦ ´Ù¿î·Îµå ¹Þ¾Æ¼­ ¼³Ä¡Çϸé, ¼³Ä¡µµÁß¿¡ MINGW¸¦ ¼³Ä¡ÇÒ °ÍÀÎÁö¸¦ ¹°¾îº¸´Âµ¥, QT°³¹ß ȯ°æÀ» ²Ù¹Ì°í ½Í´Ù¸é QT4.0 opensource ¹öÁ¯À» ´Ù¿î·Îµå ¹Þ¾Æ¼­ ¼³Ä¡ Çϵµ·Ï ÇÑ´Ù. ÇÊÀÚÀÇ °æ¿ì QT4.0À» ¼³Ä¡Çϸ鼭 °°ÀÌ ¼³Ä¡Çß´Ù.

MINGW ¿Í ÇÔ²² MSYSµµ ´Ù¿î¹Þ¾Æ¼­ »ç¿ëÇϵµ·Ï ÇÏÀÚ. MSYS´Â À©µµ¿ì ȯ°æ¿¡¼­ Unix ÄÜ¼Ö ÀÛ¾÷ȯ°æÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù. ¼³Ä¡Çϸé bash shell°ú vim, grep¿Í °°Àº Çʼö Unix À¯Æ¿¸®Æ¼µéÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

´ÙÀ½Àº À©µµ¿ì¿¡¼­ MSYS¸¦ ½ÇÇàÇÑ È­¸éÀÌ´Ù.

snap8.gif


1.3.2 Eclipse ½ÇÇàÇϱâ

Eclipse°¡ ½ÇÇàµÉ ¶§ MINGW·Î ¸¸µé¾îÁø GNUȯ°æÀÇ Åøµé(make, gcc, g++µî)À» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ȯ°æÀ» ¸¸µé¾îÁà¾ß ÇÑ´Ù. windows¿¡¼­ setÀ¸·Î ȯ°æº¯¼ö¿¡ µî·ÏÇÏ¸é µÈ´Ù°í ÇÏ´øµ¥, À©µµ¿ì ȯ°æ¿¡ Àͼ÷ÇÏÁö ¸øÇÑ °ü°è·Î MINGWÀÇ bash ½©À» ÅëÇØ¼­ ȯ°æÀ» ¸¸µé°í ÀÌŬ¸³½º¸¦ ½ÇÇà½ÃÄ×´Ù.
$ cat ~/.bash_profile  
export PATH=$PATH:/c/MinGW/bin 
 
$ source ~/.bash_profile 
$ /c/eclipse/eclipse.exe  
 

1.3.3 CDT ¼³Ä¡Çϱâ

Eclipse´Â 3.0 ¹öÁ¯ºÎÅÍ Update Manager ±â´ÉÀ» Á¦°øÇÑ´Ù. ´öºÐ¿¡ »õ·Î¿î ±â´ÉÀÇ Ãß°¡³ª ¾÷µ¥ÀÌÆ®°¡ ¸Å¿ì ½¬¿öÁ³´Ù.

  1. Elipse¸¦ ½ÇÇà½ÃŲ ÈÄ Help > Sofrware Updates > Find and Install..À» ¼±ÅÃÇϵµ·Ï ÇÑ´Ù.
  2. Install/Update âÀÌ ¶ß´Âµ¥, Search for new features to installÀ» ¼±ÅÃÇϰí Next¸¦ Ŭ¸¯ÇÑ´Ù.
  3. ¾÷µ¥ÀÌÆ®¸¦ ¿äûÇÒ »çÀÌÆ®¸¦ µî·ÏÇÏ´Â Update sites to visit âÀÌ ¶á´Ù. New Remote Site¸¦ Ŭ¸¯Çϰí http://update.eclipse.org/tools/cdt/releases/new¸¦ µî·ÏÇϵµ·Ï ÇÑ´Ù.
  4. Finish¸¦ Ŭ¸¯Çϸé ÇØ´ç ¾÷µ¥ÀÌÆ® »çÀÌÆ®¿¡ ¿¬°áÇØ¼­ CDT¿Í °ü·ÃµÈ ¾÷µ¥ÀÌÆ® ³»¿ëÀ» ¹Þ¾Æ¿Â´Ù. CDT¸¦ ¼±ÅÃÇÏ°í ¸î¹ø Next ¹öưÀ» Ŭ¸¯ÇÏ´Â Á¤µµ·Î ¼³Ä¡ ¿Ï·áµÈ´Ù.

1.4 CDT Tutorial

1.4.1 Project »ý¼º

¸Þ´º¿¡¼­ File > New > Project¸¦ ¼±ÅÃÇϸé Project wizardÀ©µµ¿ì°¡ ¶á´Ù. ¿©±â¿¡¼­ ¾Ë¸ÂÀº ÇÁ·ÎÁ§Æ®¸¦ ¼±ÅÃÇÏ¸é µÈ´Ù. C++ÀÇ Managed Make C++ Project¸¦ ¼±ÅÃÇÏÇÏÀÚ.

snap.gif

Next ¹öưÀ» Ŭ¸¯Çϸé ÇÁ·ÎÁ§Æ®ÀÇ À̸§°ú ÇÁ·ÎÁ§Æ®°¡ À§Ä¡ÇÒ °æ·ÎÁöÁ¤À» À§ÇÑ Ã¢ÀÌ ¶á´Ù.

snap2.gif

Next¹öưÀ» Ŭ¸¯Çؼ­ Project Type°ú ConfigurationsÀ» °áÁ¤ÇØÁØ´Ù.

snap3.gif

Next ¹öưÀ» Ŭ¸¯ÇÏ¸é ºÎ°¡ÀûÀÎ ¼³Á¤À» Çϴ âÀÌ ¶á´Ù. ±âº»°ªÀ¸·Î Çϰí Finish¸¦ Ŭ¸¯Çϸé ÇÁ·ÎÁ§Æ®°¡ »ý¼ºµÈ´Ù.

snap4.gif

Hello World¸¦ Ãâ·ÂÇØÁÖ´Â °£´ÜÇÑ ÇÁ·Î±×·¥À» ¸¸µé¾î º¸µµ·Ï ÇÏÀÚ.

snap5.gif

´Ù ¸¸µé¾ú´Ù¸é Project > Build All(ȤÀº Ctrl+B)¸¦ ÀÌ¿ëÇØ¼­ ºôµåÇϵµ·Ï ÇÑ´Ù. ºôµåµÈ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄѼ­ °á°ú¸¦ È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ. Run > RunÀ» ¼±ÅÃÇÏ¸é ¾Æ·¡¿Í °°Àº À©µµ¿ì âÀÌ ¶á´Ù. New¸¦ Ŭ¸¯Çؼ­ »õ·Î¿î RUN ȯ°æÀ» ¸¸µé°í Project¿Í ½ÇÇà½Ãų C/C++ apllicationÀ» µî·Ï½Ã۵µ·Ï ÇÑ´Ù.

snap6.gif

ÀÌÁ¦ Run¹öưÀ» Ŭ¸¯ÇÏ¸é ¾Æ·¡¿Í °°ÀÌ ½ÇÇà°á°ú°¡ Ãâ·ÂµÊÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

snap7.gif

2 °ü·Ã ÆäÀÌÁö

3 ÅõÇ¥

ÀÌ ¹®¼­°¡ µµ¿òÀÌ µÇ¾ú³ª¿ä ?
¾ÆÁÖ ¸¹ÀÌ 11 (45.83 %)
¸¹ÀÌ 5 (20.83 %)
±×·°Àú·° 2 (8.33 %)
º°·Î 0 (0.00 %)
ÀüÇô 6 (25.00 %)
ÃÑ ÅõÇ¥24