1. 도구개요 Implementation Eclipse CDT 소개 CDT(C/C++ Development Toolkit) 는 Eclipse plug-in 중하나로 C/C++ 개발을위한통합개발환경 (IDE : Integrated Development Environmen

Similar documents
1. 도구개요 CppUnit Testing 소개 CppUnit 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도

1. 도구개요 STAF Testing 소개 각테스트대상분산환경에데몬을사용하여테스트대상프로그램을통해테스트를수행하고, 통합하며자동화하는 프레임워크 주요기능 테스트통합및자동화 카테고리 Testing 세부카테고리테스트설계및실행 커버리지 Test Integration / Aut

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

슬라이드 1

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

슬라이드 1

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

슬라이드 1

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Install stm32cubemx and st-link utility

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

Microsoft Word - Armjtag_문서1.doc

슬라이드 1

PowerPoint 프레젠테이션

슬라이드 1

슬라이드 1

2. 기능요약 는 Java 의 Coverage 를측정하기위한도구 EclEmma 는 의기능을 Eclipse 에서사용할수있도록구현된 Plug-in 주요기능 지원내용 Code coverage 분석 지원 단위별 Coverage 분석 지원 Source highlighting 기


을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

초보자를 위한 C++

4S 1차년도 평가 발표자료

02 C h a p t e r Java

DE1-SoC Board

본 강의에 들어가기 전

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

untitled

1. 도구개요 Configuration & Version Management CVS 소개 버전컨트롤시스템으로소스코드나기타리소스의히스토리를쉽게관리할수있도록도와주는도구 주요기능 버전관리, 변경관리, 소스관리 카테고리 Configuration & Version Managem

JDK이클립스

문서의 제목 나눔고딕B, 54pt

강의의목표 Compiled Language vs. Interpreted Language 차이이해 Compiling의의미이해 Compiling의결과물확인 통합개발환경구축 Eclipse 통합개발환경을통한예제의 Bulid 및실행 Formatter 등의편집지원기능, Refer

슬라이드 1

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

untitled

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

2. 기능요약 웹기반의서비스로써, 손쉬운일정관리및프로젝트관리를지원하는도구 주요기능일정관리그룹관리다중프로젝트관리체크리스트투표기능첨부파일 지원내용지원지원지원지원지원지원 1

슬라이드 1

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Studuino소프트웨어 설치

Chapter 1

Sena Technologies, Inc. HelloDevice Super 1.1.0

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

JAVA 플랫폼 개발 환경 구축 및 활용

Microsoft PowerPoint - AME_InstallRoutine_ver8.ppt

Microsoft PowerPoint - chap-02.pptx

문서의 제목 나눔고딕B, 54pt

문서의 제목 나눔고딕B, 54pt

MF3010 MF Driver Installation Guide

Microsoft PowerPoint - Code Composer Studio.pptx

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

NTD36HD Manual

ISP and CodeVisionAVR C Compiler.hwp

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

서현수

1. 도구개요 FitNesses Testing 소개 자동화된테스팅을위한프레임워크인 Fit (Framework for Integrated Tests) 을기반으로하여테스트를수행하고, Fit 의테이블구조를통한웹상에서테스트결과를관리하고보고 주요기능 컴파일된파일 (.Class)

MPLAB C18 C

B.3 JDBC 설치 JDBC Java DataBase Connectivity 는자바에서 DBMS의종류에상관없이일관된방법으로 SQL을수행할수있도록해주는자바 API Application Program Interface 다. 이책에서는톰캣과 SQL Server 간의연결을위

PowerPoint Presentation

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

강의10

슬라이드 1

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

슬라이드 1

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

PowerPoint Template

Microsoft PowerPoint APUE(Intro).ppt

PowerPoint 프레젠테이션

2. 기능요약 자바프로그래밍언어에서사용하는자동화된소프트웨어빌드도구 주요기능 IDE 통합및도구지원 원격코드 Build 자동화 지원여부 대부분의도구지원 (Eclipse, NetBeans 등 ) 지원 (FTP, SCP, SFTP, SVN) 자동화 Build 중 Unit Te

슬라이드 1

파워포인트

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411)

슬라이드 1

Endpoint Protector - Active Directory Deployment Guide

Microsoft PowerPoint - chap-02.pptx


Microsoft PowerPoint - ARM 개발 환경.ppt

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

vi 사용법

PowerPoint 프레젠테이션

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

Microsoft Word - codevision사용법_pdf버전.docx

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

CODESYS 런타임 설치과정

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

전체설치와사용자지정설치중원하는설치방식을선택합니다. ArcGIS Desktop 설치경로를지정하면설치가짂행됩니다.

Microsoft PowerPoint - Java7.pptx

PowerPoint 프레젠테이션

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드]

PCServerMgmt7

1. 도구개요 JUnit Testing 소개 JUnit 은 Java 기반테스팅을위한프레임워크로, 단위모듈 (ex: Method) 이정확히구현되었는지를확인할수있는도구 주요기능 Test case 생성및실행, 오류추적 카테고리 Testing 세부카테고리테스트설계및실행 커버리

Microsoft Word - src.doc

ICAS CADWorx SPLM License 평가판설치가이드

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

MaxstAR SDK 2.0 for Unity3D Manual Ver

PowerPoint 프레젠테이션

슬라이드 1

<4D F736F F F696E74202D204C BAB8C3E6BCB3B8ED202D20C7C1B7CEB1D7B7A1B9D6C0DBBCBAB0FAC1A42C C F>

PowerPoint 프레젠테이션

Transcription:

1. 도구개요 소개 CDT(C/C++ Development Toolkit) 는 Eclipse plug-in 중하나로 C/C++ 개발을위한통합개발환경 (IDE : Integrated Development Environment) 주요기능 Code 의 Edit, Compile, Debug, Unit test, Performance monitoring 등 카테고리 세부카테고리 IDE 커버리지 C/C++ 도구난이도중 라이선스형태 / 비용 Eclipse Public License 사전설치도구 Eclipse, C/C++ Compiler / Debugger 운영체제 MS Windows, Linux, Mac OS X, UNIX 최신버전 4.2 (2012. 10) 특징 CDT 는사용자에게 C/C++ 개발환경을제공함. 그러나 CDT 는 compiler 나 debugger 를포함하지는 않기때문에이도구들을별도로설치 MS Windows 의경우는 Cygwin 과 Mingw 를설치 적용회사 / 프로젝트관련도구제작사공식홈페이지 C/C++ 을기반으로개발하는프로젝트 Eclipse, GCC (GNU Compiler Collection), Cygwin, Mingw Eclipse Foundation http://www.eclipse.org/cdt/ 1

2. 기능요약 CDT 는 Eclipse platform 을위한 plug-in 으로, Java 언어로구현된 Open source 프로젝트 주요기능사용자환경에따른 Perspective 컴파일러 Refactoring Parser Search Engine Content Assist Provider Makefile generator 지원여부 지원 설치필요, 선택가능 (Cygwin, Mingw) 지원 지원 지원 지원 지원 1

3. 도구실행환경 JDK(Java development kit) 상에서설치및구현이가능 다양한 OS 를지원 Windows : Windows XP / Windows 7 (32, 64-bit 모두지원 ) Linux : 32, 64-bit 지원 Mac OS X : 32, 64-bit 지원 UNIX : 32, 64-bit 지원 자바기반프로그램 : JDK(Java development kit) 필요 C/C++ : Compiler / Debugger 필요 Cygwin, Ming 등 (Compiler / Debugger 에따라 OS 환경이달라질수있음 ) C++ Compiler / Debugger JDK (Java development kit) Windows / Linux / Mac OS / UNIX 1

4. 도구설치방법 세부목차 4.1 JDK 다운받기 4.2 Cygwin 다운받기 / 설치하기 4.3 Mingw 다운받기 4.4 를직접설치하기 1

4. 도구설치방법 4.1 JDK 다운받기 다음의사이트에서 JDK 를다운 http://www.oracle.com/technetwork/java/javase/downloads/index.html Download JDK 를클릭하여다운받고설치 2

4. 도구설치방법 4.2 Cygwin 다운받기 / 설치하기 (1/4) MS Windows 의경우다음사이트에서 cygwin 설치파일을다운 http://www.cygwin.com/ 3

4. 도구설치방법 4.2 Cygwin 다운받기 / 설치하기 (2/4) 다운받은 Cygwin 파일로설치시작 Install from internet : 인터넷으로나머지설치파일을받아야할경우선택 Download Without Installing: 설치파일을다운받고설치를진행하지않을경우선택 Install from Local Directory: 이미받아둔설치파일을이용하여설치할경우 4

4. 도구설치방법 4.2 Cygwin 다운받기 / 설치하기 (3/4) 설치할 Directory 를선택 사용자의권한에대한추가선택가능 나머지설치파일을다운받을 Directory 를선택 5

4. 도구설치방법 4.2 Cygwin 다운받기 / 설치하기 (4/4) Directory Connection, Use IE5 Settings, Use HTTP/FTP Proxy 중하나를선택 나머지설치파일을받을사이트를선택 국내사이트인 ftp://ftp.kaist.ac.kr 을선택 이후선택사항에서패키지선택후완료 6

4. 도구설치방법 4.3 Mingw 다운받기 (1/3) Mingw 다운받기 : ttp://www.mingw.org/wiki/getting_started 에서다운로드 mingw-get-inst 클릭 7

4. 도구설치방법 4.3 Mingw 다운받기 (2/3) Mingw 다운받기 최신버전클릭 8

4. 도구설치방법 4.3 Mingw 다운받기 (3/3) Mingw 다운받기 설치파일클릭 9

4. 도구설치방법 4.4 다운받기 / 설치하기 (1/4) http://www.eclipse.org/downloads/ 에방문하여다운로드클릭 자신에게해당하는운영체제와 bit 를고려하여다운로드 10

4. 도구설치방법 4.4 다운받기 / 설치하기 (2/4) http://www.eclipse.org/downloads/ 에방문하여다운로드클릭 다운로드아이콘을클릭하여다운로드 11

4. 도구설치방법 4.4 다운받기 / 설치하기 (3/4) 다운받은파일의압축을풀고 eclipse.exe 파일을실행 12

4. 도구설치방법 4.4 다운받기 / 설치하기 (4/4) 생성된프로젝트들이저장될 workspace 를지정 ❶ 을체크하면다음실행시에 workspace 의위치를묻지않음 원하는 workspace 를선택하고확인을눌러 Eclipse 를실행 ❶ ❷ ❸ 13

5. 도구기능소개 개요및세부목차 5.1 주요기능소개 5.2 프로젝트생성하기 5.3 프로젝트 Build하기 5.4 프로젝트실행하기 5.5 프로젝트 Debugging하기 1

5. 도구기능소개 5.1 주요기능 (1/2) CDT 는 Eclipse platform 을위한 plug-in 으로, Java 언어로구현된 Open source 프로젝트 C/C++ perspective는다음과같은기능을포함하고있습니다. C/C++ Editor C/C++ Debugger C/C++ Launcher Parser Search Engine Content Assist Provider Makefile generator [ 메인화면 ] 2

5. 도구기능소개 5.1 주요기능 (2/2) CDT plug-in 의구조 CDT : "framework" CDT Plug-in CDT Feature Eclipse : CDT Feature Component 제공 CDT Core : Core Model, CDOM, Core Components 제공 CDT UI : Core UI, view, editor, wizard 제공 CDT Launch : Compiler 와 debugger 같은외부툴을위한시작 mechanism 을제공 CDT Debug Core : Debugging 기능을제공 CDT Debug UI : CDT Debugging editor, view, wizard 용사용자 interface 를제공 CDT Debug MI : MI 호홖 debugger 용애플리케이션 connector Eclipse Platform은개발을위한 Framework : C/C++ compiler, debugger 미포함 C/C++ application을build하고debugging하기위해서는외부도구들이필요 Cygwin Mingw GCC Gdb [ 메인화면 ] 3

5. 도구기능소개 5.2 프로젝트생성하기 (1/7) Project Explore 나메뉴에서 Project wizard 를선택 4

5. 도구기능소개 5.2 프로젝트생성하기 (2/7) Project wizard : 프로젝트생성을지원 (C/C++ Project) 5

5. 도구기능소개 5.2 프로젝트생성하기 (3/7) C Project 와 C++ Project : 각각의 Executable Project, Library, MakeFile Project 생성가능 CDT 의모든프로젝트는 toolchain 을선택할수있다 개발하는컴퓨터에설치되어있는 Build Module 을리스트로출력되며원하는 toolchain 선택가능 6

5. 도구기능소개 5.2 프로젝트생성하기 (4/7) 아래와같이작성한내용은자동으로생성된 HelloWorld Code 파일의주석으로기록 7

5. 도구기능소개 5.2 프로젝트생성하기 (5/7) Debug mode 와 Release mode 의선택 선택한 mode 에따라폴더가생성되고프로젝트를 Build 한 mode 에따라해당폴더에 Binary 가생성 8

5. 도구기능소개 5.2 프로젝트생성하기 (6/7) CDT 는 Makefile 로관리되는프로젝트를지원 9

5. 도구기능소개 5.2 프로젝트생성하기 (7/7) CDT 는다른프로젝트에서사용할 Library 를개발하는프로젝트를지원 10

5. 도구기능소개 5.3 프로젝트 Build 하기 (1/3) 기본으로생성된 HelloWorld C++ 프로젝트 11

5. 도구기능소개 5.3 프로젝트 Build 하기 (2/3) 프로젝트 Build : Build 의진행 단축아이콘 Build / Project Explore 에서프로젝트선택후 Build 12

5. 도구기능소개 5.3 프로젝트 Build 하기 (3/3) 프로젝트 Build : Build 결과 Binary 파일이생성된것을확인할수있음 13

5. 도구기능소개 5.4 프로젝트실행하기 (1/2) 프로젝트실행 : 홖경설정 실행하는홖경에대한사용자의정의를포함할수있도록 Launch configuration 을지원 14

5. 도구기능소개 5.4 프로젝트실행하기 (2/2) 프로젝트실행 : 실행결과 갂단한 print 문의 consol view 출력 15

5. 도구기능소개 5.5 프로젝트 Debugging 하기 (1/8) Debug : Debug 홖경설정 (Debug Configuration) Preferred Launcher 가선택되지않으면 Debug 를실행할수없다 : 경고문구선택 Launcher 선택 16

5. 도구기능소개 5.5 프로젝트 Debugging 하기 (2/8) Debugging 을위한 GDB Process Launcher 를사용 17

5. 도구기능소개 5.5 프로젝트 Debugging 하기 (3/8) Debugging 의시작 CDT Perspective 로전홖하는경고팝업 : Remember my decision 선택시차후에다시묻지않음 18

5. 도구기능소개 5.5 프로젝트 Debugging 하기 (4/8) 해당프로젝트가 Debugging 을위한 perspective 전홖 19

5. 도구기능소개 5.5 프로젝트 Debugging 하기 (5/8) Debug View Debug view 에서다음과같은단축아이콘으로프로젝트 Debugging 을진행 제공되는단축아이콘의단축키및설명 항목기능 Resume[F8] Terminate StepInto[F5] StepOver[F6] StepOut[F7] 잠시중단된쓰레드를재개선택된 Debug대상을종료합니다하이라이트된함수안으로진입하이라이트된부분을건너뜀현재선택된메소드부분을벗어남 20

5. 도구기능소개 5.5 프로젝트 Debugging 하기 (6/8) Modules View 해당프로젝트가포함하고있는 Library 리스트를출력 Registers View 프로젝트가현재 OS 의 Register 사용값을보임 21

5. 도구기능소개 5.5 프로젝트 Debugging 하기 (7/8) Breakpoints View 사용자가프로젝트에지정해놓은프로젝트의 Breakpoint 리스트를임 사용자는왼쪽의체크버튺을이용하여 Breakpoint 를임시적으로사용또는비사용으로설정 Variables View 프로젝트가특정 Breakpoint 까지진행되는경우변수들의값을보여주는 view 22

5. 도구기능소개 5.5 프로젝트 Debugging 하기 (8/8) C/C++ perspective 로돌아가려면화면오른쪽상단에있는전홖기능을사용 23

6. 도구활용예제 세부목차 6.1 예제소개 6.2 프로젝트생성 6.3 프로그램 Code 작성 6.4 프로젝트의 Build 6.5 프로젝트의실행 1

6. 도구활용예제 6.1 예제소개 예제시스템 : 성적계산프로그램 성적계산프로그램요구사항 ( 일부 ) 100점만점을기준으로하는 3개의점수를입력받는다. 총점, 평균, 학점을계산하여출력하는프로그램을작성핚다 - 학점은만점부터 90점대는 A, 80점대는 B, 70점대는 C, 이외의점수는 F를부여핚다 - 소수점은아래두자리숫자까지표시하는것을원칙으로핚다. 2

6. 도구활용예제 6.2 프로젝트생성 (1/2) 프로젝트생성 : TestScore 해당프로젝트는 C 기반으로생성하고, Empty Project 를선택 Toolchain 를선택 3

6. 도구활용예제 6.2 프로젝트생성 (2/2) 코드생성 : score.c Code 를생성핛 source 폴더 (src) 생성 score.c 생성 4

6. 도구활용예제 6.3 프로그램 Code 작성 score.c 의내용 #include <stdio.h> #include <conio.h> inttotal(int, int, int); double avg(int, int); char grade(double); void main(intargc, char* args[]){ intscore1, score2, score3; inttotal_score; double avg_score; char grade_score; if((args[1]==null) (args[2] == NULL) (args[3]==null)){ printf(" 점수 3 개를넣어주세요. \n"); return; } } printf("1 번째성적 : %s \n", args[1]); score1 = atoi(args[1]); printf("2 번째성적 : %s \n", args[2]); score2 = atoi(args[2]); printf("3 번째성적 : %s \n", args[3]); score3 = atoi(args[3]); //get total total_score= total(score1, score2, score3); printf(" 총점 : %d \n", total_score); //get avg avg_score= avg(total_score, 3); printf(" 평균 : %.2lf \n", avg_score); //get grade grade_score= grade(avg_score); printf(" 학점 : %c \n", grade_score); inttotal(intin1, intin2, intin3){ return in1+in2+in3; } double avg(intin_total, intin_cnt){ return (double)in_total/(double)in_cnt; } char grade(double in_avg){ char re_val; } switch((int)(in_avg/10)){ case 10: case 9: re_val= 'A'; break; case 8: re_val= 'B'; break; case 7: re_val= 'C'; break; default: re_val= 'F'; break; } return re_val; 5

6. 도구활용예제 6.4 프로젝트의 Build 프로젝트 Build 하기 : 프로젝트선택 Build 아이콘클릭 6

6. 도구활용예제 6.5 프로젝트의실행 (1/2) 프로젝트의실행 : Run configuration 설정 Run configuration 생성 arguments Tab 을선택하여 3 개의인자값설정 7

6. 도구활용예제 6.5 프로젝트의실행 (2/2) 프로젝트의실행 : 결과 예시이외에도파일과 Directory 가여러개인복잡핚프로젝트도진행가능 8

7. FAQ 질문 1) CDT 가새로설치한 Compiler 를인식하지못합니다. 답변 1 : CDT 가실행된상태로 Compiler 를설치하였다면 CDT 는이를실시간으로인식하지못합니다. CDT 를재실행하면됩니다. 질문 2) MinGW 를설치한후 CDT 를실행하였습니다. 그러나이를인식하지못합니다. 답변 2 : 환경변수에설치한 MinGW 가정상적으로등록되어있는지확인해야합니다. 만약 MinGW 등록이잘못되었다면 CDT 는 MinGW 가설치되었는지알수있는방법이없습니다. 1

8. 도구평가 활용성 가장많이쓰는도구중하나읶 Eclipse 를통해 C/C++ 를추가로구현할수있다. 범용성 원하는컴파읷러를지정하여사용할수있다. 호환성 Compiler/Debugger 의영향을받으나, 호환성문제가발생할시 Compiler 를변경하여해결이가능 성능 읷반적읶 IDE 구동성능을보임 기타 Eclipse에익숙한 C/C++ 개발자에게유리 도구평가의견 CDT는여러종류의 Compiler 를등록한상태에서프로젝트에따라사용자가원하는 Compiler 를선택하여지정 CDT는 Debugging 툴이설치되어있다면사용자가편하게 Debugging 기능을수행할수있도록 Debugging 환경을제공 CDT의 Code Edit는사용자가원하는대로 Setting 이가능하여개인별로원하는설정상태에서 Code개발이가능하도록지원 Source code의구성을체계적으로재정비할수있는 refactoring 기능지원 1

9. 용어정리 본매뉴얼에서사용하고있는용어의정리 Parser 파서는 Compiler 의일부로서, 프로그램언어의명령문을입력으로컴퓨터에의해처리될수있도록구문을분석하는도구 Perspective Tool chain Eclipse 는사용자의선택에따라다수의 view 와 Editor 영역으로구성됨. Eclipse 는어떤종류의프로젝트인가에따라어떤 View 와 Editor 를띄워줄지결정하고이러한구성이저장되어있는것이 perspective 이다. 프로그램개발툴의집합으로특정 Target 의환경에맞춰진상태로묶은것을의미. 사용자가프로젝트를개발하기위한환경 (Text editor, Compiler, Linker) 이저장된단위라고할수있다. 1