목차 병렬프로그래밍이해및 TBB 기초 TBB 글로벌사례및국내동향 TBB 실무적용 TIPS

Size: px
Start display at page:

Download "목차 병렬프로그래밍이해및 TBB 기초 TBB 글로벌사례및국내동향 TBB 실무적용 TIPS"

Transcription

1 일시 : ( 목 ) 17:00~17:50 장소 : 삼성동섬유센터 3 층이벤트홀 발표 : 이창재부장 C++ 개발자를위한하이퍼포먼스개발전략 글로벌활용사례와함께하는 TBB 도입전략

2 목차 병렬프로그래밍이해및 TBB 기초 TBB 글로벌사례및국내동향 TBB 실무적용 TIPS

3 1 15 병렬프로그래밍기초 분 병렬화를위한상식적접근, 전문연구, 인텔의병렬기술 그리고 TBB

4 Ice Break 직렬 병렬 Serial Parallel Core 1 Core 2 Core 3 Core 4 Core 1 Core 2 Core 3 Core 4 Make all cores busy! 그렇다면, 병렬화란? 글로벌활용사례와함께하는 TBB 도입전략 4

5 상식적으로생각해본다면 어떻게하면빠른시간에작업을완수할까? 작업을여러일꾼에게나누고 동시에모두바쁘게철저히일을시킨다! 나누고? 여러일꾼? 동시에? How? 모두바쁘게? 철저히? 글로벌활용사례와함께하는 TBB 도입전략 5

6 생각의정리! 나누고 작업범위분할! 여러일꾼 멀티스레딩! 동시에 멀티프로세싱! 모두바쁘게 관리기능필요! 철저히 관리기능필요! 글로벌활용사례와함께하는 TBB 도입전략 6

7 상식의한계를넘어서! 1 작업범위를여러개로나누어동시에실행시킨다! 2 비슷하게실행되도록적절히작업범위를나눈다! 3 각정적범위를처리하는스레드들을생성후동시에실행! 4 좀더일반화, 원하는만큼스레드를생성하도록! 5 각스레드를코어에분배! 범위를잘게나누어스레드풀 (Pool) 을구성하고스케줄링! 7 스레드생성, 관리및동기화를추상화! 그이상은? 글로벌활용사례와함께하는 TBB 도입전략 7

8 전문연구결과 : Flynn 의병렬처리분류 SISD Single Instruction stream, Single Data stream 단일명령으로단일데이터처리 파이프라인처리 SIMD Single Instruction stream, Multiple Data stream 단일명령으로다중데이터처리 벡터처리 MISD Multiple Instruction stream, Single Data stream 다중명령으로단일데이터처리 이론적으로만연구됨 MIMD Multiple Instruction stream, Multiple Data stream 다중명령으로다중데이터처리 멀티프로세싱 글로벌활용사례와함께하는 TBB 도입전략 8

9 병렬화프로그래밍기술의발전사 Chare Kernel Threaded-C JSR-166 STAPL ECMA CLI McRT OpenMP 1.0 OpenMP 2.0 C/C++ version OpenMP 2.5 OpenMP 3.0 OpenMP 3.1 Intel Parallell Building Blocks Intel TBB 1.0 Intel TBB 2.0 Intel TBB 3.0 Intel TBB 4.0 Update 3 Cilk (MIT) Intel Ct CUDA RapidMind Cilk++ OpenCL 1.0 Intel ArBB beta Intel Cilk Plus Microsoft PPL beta end Update 6 OpenCL 1.2? CUDA 4.1 글로벌활용사례와함께하는 TBB 도입전략 9

10 인텔병렬삼총사 Parallel Building Blocks TBB Threading Building Blocks ArBB Array Building Blocks Cilk Plus 멀티프로세싱 템플릿라이브러리 벡터처리전용 템플릿라이브러리 멀티프로세싱 + 벡터처리 언어확장 병렬알고리즘및컨테이너 조정가능한메모리할당 자동태스크스케줄링 동기화 차세대인텔플랫폼자동적응 결정적병렬화 3개의간단한키워드사용 배열표기법제공 작업 / 데이터병렬화동시지원 직렬코드와유사한로직유지 오픈소스 추상화와고급제어동시지원 C++ only JIT + VM 기술동시지원 C++ only 간단함 + 강력함 C 와 C++ 지원 글로벌활용사례와함께하는 TBB 도입전략 10

11 TBB 기초사항

12 병렬화를위한 TBB 의아이디어 실행시간 잘게쪼갠다 코어 0 일꾼들에게 분배한다! 코어 1 코어 2 코어 3 + 스케줄링!!! 글로벌활용사례와함께하는 TBB 도입전략 12

13 TBB 란? 스레드추상화기술 인텔제작 스레드가아닌 태스크 개념도입 기존병렬처리기술과호환 특징 일반 최초출시 2006 년 8 월 ver 1.0 Up 4 최신버전 2012년 4월 ver 4.0 중첩병렬화지원 TBB 오픈소스 C++ 라이브러리 실시간처리는지원하지않는다! 목표 성능 Performance 조정성 Scalability 글로벌활용사례와함께하는 TBB 도입전략 13

14 TBB 기술구조 알고리즘 기본알고리즘 조정성있는메모리할당자 parallel_for parallel_for_each parallel_reduce parallel_deterministic_reduce parallel_scan 고급알고리즘 parallel_while parallel_do parallel_preorder pipeline parallel_pipeline parallel_sort parallel_invoke scalable_malloc scalable_free scalable_realloc scalable_calloc scalable_allocator cache_aligned_allocator zero_allocator 동기화 ( 상호배제 ) 동시컨테이너 concurrent_queue concurrent_bounded_queue concurrent_vector concurrent_hash_map concurrent_unordered_map 뮤텍스 spin_mutex queuing_mutex spin_rw_mutex queuing_rw_mutex recursive_mutex null_mutex null_rw_mutex 원자적연산 fetch_and_add fetch_and_swap fetch_and_store fetch_and_increment fetch_and_decrement 타이밍태스크스케줄러 글로벌활용사례와함께하는 TBB 도입전략 14

15 설치환경 In case of Windows OS IDE Windows XP Professional Windows Server 2003 Windows Vista Windows 7 Windows 8 Visual Studio 2003 Visual Studio 2005 Visual Studio 2008 Visual Studio 2010 Visual Studio 2011 Not Recommended Windows 2000 Visual Studio 6.0 Visual Studio 2002 C++ Builder 글로벌활용사례와함께하는 TBB 도입전략 15

16 TBB 다운로드사이트 최신버전 : ver 4.0 update 4 Click Downloads 글로벌활용사례와함께하는 TBB 도입전략 16

17 TBB 설치 다운로드파일을원하는폴더에압축을풀고다음과같이 설치경로 를기억해둔다. Installation Path Keep in mind! 글로벌활용사례와함께하는 TBB 도입전략 17

18 TBB 설치 환경변수등록 1 제어판 시스템 고급시스템설정 고급 환경변수 2 앞에서기억해둔 설치경로 를 TBBROOT 라는사용자변수로등록한다. Parallel Studio 를설치한경우는다음경로로자동생성된다!!! C:\Program Files (x86)\intel\parallel Studio 2011\Composer SP1\tbb 글로벌활용사례와함께하는 TBB 도입전략 18

19 TBB 개발환경설정 1. Visual Studio 에서프로젝트설정을한다. 먼저다음과같이 모든구성 에서포함디렉터리설정을한다. $(TBBROOT)\include 글로벌활용사례와함께하는 TBB 도입전략 19

20 TBB 개발환경설정 2. 다음으로라이브러리디렉터리설정을한다. 자신의 OS 와 VS 버전에맞게하위경로를선택하는것이중요하다. $(TBBROOT)\lib\ia32\vc9 글로벌활용사례와함께하는 TBB 도입전략 20

21 TBB 개발환경설정 3. 다음과같이구성별로종속성설정을한다. 구성별로각각 tbb_debug.lib, tbb.lib 입력 글로벌활용사례와함께하는 TBB 도입전략 21

22 TBB 개발환경설정 4. \bin\ia32\vcxxx 에있는 DLL 파일 tbb.dll 과 tbb_debug.dll 을윈도우시스템디렉터리에복사한다. 글로벌활용사례와함께하는 TBB 도입전략 22

23 TBB 글로벌활용사례 15 분 게임, 그래픽, 시뮬레이션, 대용량복잡데이터처리등의분야에서활약하고있는 TBB!

24 TBB 글로벌활용사례 AutoDesk 사의 3D 그래픽 SW Maya 도입시기 2006 년 ~ 활용사례 영화, 게임, TV, 시각디자인분야 TBB 기반 MayaAPI 제작 Parallel code must be extracted into separate classes, which is mo re invasive than OpenMP. 병렬코드를개별클래스로관리할수있다는점이 OpenMP에비한장점입니다 Maya 의활용사례 DreamWorks 사의영화 Insomniac Games Resistance 2 의 CG 제작 Shilo TV 제작 ( 에미상수상 ) 글로벌활용사례와함께하는 TBB 도입전략 24

25 TBB 글로벌활용사례 Exocortex Technologies 의 시뮬레이션 SW 도입시기 2009 년 ~ 활용사례 홍수시뮬레이션부문에도입 SW 성능 2.5 배향상 회사의수익률크게증가 글로벌활용사례와함께하는 TBB 도입전략 25

26 TBB 글로벌활용사례 Progress Apama 사의 CEP 엔진 도입시기 2009 년 ~ 활용사례 CEP 엔진 4.0 버전부터도입 주로 Scalable allocator 적용 최대 30 배까지성능향상 CEP 란? Complex Event Processing : 복잡이벤트처리 90년대부터학계에서시작 기업내이벤트를실시간으로수집분석하여의사결정을지원하는전사적이벤트처리인프라 실시간분석이강조되는금융, 증권의알고리즘트레이딩에효과적인솔루션 Progress Apama의 CEP 엔진은코스콤의 파워알고 에사용되었으며, Forrester Research 에서 2009년 1위로선정 글로벌활용사례와함께하는 TBB 도입전략 26

27 TBB 글로벌활용사례 Deep Shadows 사의 게임성능및포팅 도입시기 2008 년 ~ 활용사례 자사게임을별도의코드수정없이 XBox360 에성공적으로포팅 Road to Hell 엔진성능 40% 향상 2001 년우크라이나에설립된게임회사 기사전문 : 글로벌활용사례와함께하는 TBB 도입전략 27

28 TBB 글로벌활용사례 DreamWorks Animation 사의 3D 그래픽 도입시기 2009 년 ~ 활용사례 고정밀 3D 렌더링부분에도입 글로벌활용사례와함께하는 TBB 도입전략 28

29 TBB 글로벌활용사례 Epic Games 사의 게임엔진에통합 도입시기 2009 년 ~ 활용사례 64 비트버전인 Unreal Engine 3 에통합 Scalable allocator 도입 기사전문 : 글로벌활용사례와함께하는 TBB 도입전략 29

30 TBB 글로벌활용사례 Adobe 사의 Creative Suite 5.0 도입시기 2010 년 ~ 활용사례 고객에게고정밀디지털컨텐츠 개발및최적화제공 글로벌활용사례와함께하는 TBB 도입전략 30

31 TBB 글로벌활용사례 Open Cascade 에서 TBB 도입 도입시기 2011년 ~ 활용사례 기존기술기반을병렬화 CAD/CAM/CAE 분야 수치적시뮬레이션분야 PLM 분야 Adopting Intel TBB saves significant time by reducing our need to invest in the development of similar multi-threading technology from scratch - Andrey Betenev, Open CASCADE Technology Manager. 멀티스레딩기술을처음부터적용하는것에비해 TBB를사용하여투자비용을상당히줄였습니다 Open Cascade : CAD SW 개발을위한오픈플랫폼 기사전문 : 글로벌활용사례와함께하는 TBB 도입전략 31

32 TBB 글로벌활용사례 중국 The9 사의개발센터에서 TBB 도입 도입시기 2009 년 ~ 활용사례 게임서버에적용하여 4 코어에서 3.5 배성능향상 The9 : 중국 3 대게임개발및퍼블리셔중하나 년까지 WOW(World of Warcraft) 운영 글로벌활용사례와함께하는 TBB 도입전략 32

33 Count TBB 국내동향 Blog Activity in Korea R² = F 2006-L 2007-F 2007-L 2008-F 2008-L 2009-F 2009-L 2010-F 2010-L 2011-F 2011-L Intel s Effort for the TBB Upgrade Version Up Update F 글로벌활용사례와함께하는 TBB 도입전략 33

34 TBB 실무적용 TIPS 20 분 기존개발환경에서쉽게사용할수있는 C++ 라이브러리, 높은수준의제어가능

35 TIP 1 Big Picture TBB 를사용한병렬화절차

36 Big Picture Step 1. 디버깅 Serial Program Step 2. 핫스팟찾기 Serial Program Step 3. 코드정리 Serial Program for (int i = 0; i < N; i++) { lines } for (int i = 0; i < N; i++) { Process(i); } 1 직렬프로그램에있는버그는병렬 프로그램에서도재현됨 2 찾고수정하는작업이훨씬어려움 1 Parallel Studio 활용 2 Hotspot 이아닌곳을병렬화하면 역효과가발생할수도있음 1 병렬로직에서재활용을위함 2 기존코드를정리하는효과 글로벌활용사례와함께하는 TBB 도입전략 36

37 Big Picture Step 4. 알고리즘선택 Step 5. 태스크정의 Step 6. 데이터교환? for while sort TBB parallel_for parallel_for_each parallel_reduce parallel_do parallel_while parallel_sort Task class MyCalculation { MyCalculation(); Serial Program How does the task use the data in the serial code? void operator()( ) const { for ( ) { // Reuse! } } } task Data 1 직렬로직에해당하는알고리즘선 택 2 TBB 4.0 기준 12 개알고리즘존재 1 operator() 중복을통한함수객체생성용클래스 ( 구조체 ) 선언 2 직렬로직재활용 3 알고리즘마다코딩스타일다름 1 이미지, 파일등처리대상데이터 를어떻게태스크에넘겨줄것인가? 2 직접 or 간접? 유효범위는? 글로벌활용사례와함께하는 TBB 도입전략 37

38 Big Picture Step 7. 안정성 / 조정성 All Cores are busy? TBB concurrent_queue Container concurrent_vector concurrent_hash_map Memory Mutex scalable_malloc scalable_free cache_aligned_allocator 성능? 1 스레드에안전한컨테이너사용 2 조정성있는메모리할당 3 상호배제사용 조정성? 글로벌활용사례와함께하는 TBB 도입전략 38

39 TIP 2 알고리즘선택 Guide

40 알고리즘? 알고리즘 = Algorithm 수학적개념에서출발 아랍의수학자알콰리즈미 (Alkwarizmi, ) 의이름에서유래 [ 출처 ] 네이버백과사전 어떠한문제를해결하기위한여러동작들의유한한모임이다. [ 출처 ] 위키백과 컴퓨터가어떤일을수행하기위한단계적방법이다. [ 출처 ] 네이버백과사전 TBB C++ 알고리즘을작성할때사용하는 for, while, sort 와같은키워드, 함수와 그절차들의집합자체를템플릿함수화한결과물이다! 글로벌활용사례와함께하는 TBB 도입전략 40

41 for 루프를병렬화할때... // 각루프반복이서로독립적인경우 for (int i = 0; i < N; i++) { ApplyFilter(bitmap[i]); parallel_for }; // 각루프반복결과가독립적이며한값으로귀결되어야할때 int result = 0; for (int i = 0; i < N; i++) { parallel_reduce }; result += ApplyFilter(bitmap[i]); 리덕션연산! 글로벌활용사례와함께하는 TBB 도입전략 41

42 여러함수를병렬로호출하고자할때... // 여러함수호출 ( 호출순서에관계가없어야한다 ) A(); B(); C(); parallel_invoke 글로벌활용사례와함께하는 TBB 도입전략 42

43 대용량배열을 STL 보다빠르게정렬하고싶을때... #include <vector> int main() { vector<int> v; ( 중략 ) std::sort(v.begin(), v.end()); } parallel_sort #include <tbb/parallel_sort.h> int main() { vector<int> v; ( 중략 ) tbb::parallel_sort(v.begin(), v.end()); } 글로벌활용사례와함께하는 TBB 도입전략 43

44 LAB : parallel_sort 와 STL sort 비교하기 설명 1000 만개의대량데이터를각방법으로빠르게정렬한후각실행시간을비교해본다. 1. STL 의정렬시간은몇초인가? 2. parallel_sort 를사용한정렬시간은몇초인가? 3. 속도는몇배증가했는가? 글로벌활용사례와함께하는 TBB 도입전략 44

45 TIP 3 태스크작성 Guide

46 태스크이해 Task = 태스크 = 작업작업? TBB 에서정의된개념일뿐이다 병렬화대상 작업? 글로벌활용사례와함께하는 TBB 도입전략 46

47 태스크의뼈대는함수객체에서유래 // 함수객체를구현하기위한클래스예 class MyFunction { void operator()(int x) { // 구현코드 } }; // 함수객체를사용하는예 MyFunction f; f(10); // 일반함수를호출하는것과동일 Task = 태스크 병렬화대상 작업 태스크 = 함수객체 = Function Object = Functor 글로벌활용사례와함께하는 TBB 도입전략 47

48 병렬알고리즘 : parallel_for 에사용할태스크 class MyTask 클래스이름 { private: 데이터멤버선언 float* my_data; public: 생성자 MyTask (float a[]) : my_data(a) {} }; operator() void 연산자 (const 오버로딩 blocked_range<size_t>& r) const { float* a = my_data; }; for(size_t i = r.begin(); i!= r.end(); i++) MyCalulation(a[i]); 글로벌활용사례와함께하는 TBB 도입전략 48

49 LAB 행렬곱셈병렬화 설명 두개의 N x N 행렬을생성하고행렬곱셈을한다. parallel_for 를사용하여직렬버전을병렬화하고실행시간을비교해본다. 1. 직렬실행시간은몇초인가? 2. 직렬프로그램을수정하여병렬화하는절차 1 태스크 (Body 클래스 ) 를생성한다. 곱셈처리는 operator() 연산자중복함수에구현한다. 2 병렬화가구현된루프수준은? 3 blocked_range와 Body 클래스를인수로하여 parallel_for를사용한구현으로수정한다. 4 컴파일하고실행해본다. 3. 병렬실행시간은몇초인가? 4. 속도는몇배증가했는가? 글로벌활용사례와함께하는 TBB 도입전략 49

50 병렬알고리즘 : parallel_for 사용법 // TBB를위한포함 #include <tbb/parallel_for.h> #include <tbb/blocked_range.h> #include <tbb/tick_count.h> using namespace tbb; void ParallelCalculation(float a[], int n) { parallel_for( blocked_range<int>(0, n, 1000), MyTask(a) ); } 글로벌활용사례와함께하는 TBB 도입전략 50

51 병렬알고리즘 : parallel_reduce 에사용할태스크 class MyTask { private: float* my_data; public: float sum; void operator()(const blocked_range<size_t>& r) { float* a = my_data; for (size_t i = r.begin(); i!= r.end(); ++i) sum += MyCalculation(a[i]); MyCalulation(a[i]); } const MyTask(MyTask& x, split) : my_data(x.my_data), sum(0) { } MyTask(float a[]) : my_data(a), sum(0) { } }; void join(const MyTask& y) { sum += y.sum; } 글로벌활용사례와함께하는 TBB 도입전략 51

52 병렬알고리즘 : parallel_reduce 사용법 #include "tbb\parallel_reduce.h" #include "tbb\blocked_range.h" void ParallelSum(float a[], size_t n) { ParallelSumBody body(a); parallel_reduce( blocked_range<float*>(0, n, 10000), body ); } 글로벌활용사례와함께하는 TBB 도입전략 52

53 PI 계산하기 설명 수치적분법을사용하여 PI( ) 의근사값을직렬및병렬로계산하고, parallel_reduce 의사용법을익힌다. 0.1 π = x A 4 간격 = 부분면적 A 4 = 0.1 ⅹ 전체면적 A = A 0 + A A 9 = 0.1 ⅹ ⅹ ⅹ = 글로벌활용사례와함께하는 TBB 도입전략 53

54 병렬알고리즘 : parallel_invoke 사용법 설명 여러함수들을한꺼번에병렬로실행하게해주는템플릿함수역할을한다! 포함 #include <tbb/parallel_invoke.h> 예제 A(), B(), C() 함수를병렬로실행한다. #include "tbb/parallel_invoke.h" using namespace tbb; class MyFunctor { int arg; public: MyFunctor(int a) : arg(a) {} void operator()() const { // Do Something! } }; void RunFunctionsInParallel() { MyFunctor A(1); MyFunctor B(2); MyFunctor C(3); tbb::parallel_invoke(a, B, C); } 글로벌활용사례와함께하는 TBB 도입전략 54

55 Divide-Conquer ( 분할정복 ) 패턴에사용할태스크 class MyTask: public task { public: const long n; long* const sum; MyTask(long n_, long* sum_) : n(n_), sum(sum_) {} task* execute() // 가상함수 task::execute의중복정의 { if (n < CutOff) { *sum = DoCalculation(n); } else { long x, y; MyTask& a = *new(allocate_child()) MyTask(n - 1, &x); MyTask& b = *new(allocate_child()) MyTask(n - 2, &y); set_ref_count(3); // 3 = 2개의자식 + 1개의대기 (wait) 참조자설정 } }; spawn(b); spawn_and_wait_for_all(a); *sum = x + y; } return NULL; 두개의자식생성 ( 재귀 ) 자식들을실행 A 는실행후다른자식들이모두완료될때까지기다림 ( 동기화 ) 글로벌활용사례와함께하는 TBB 도입전략 55

56 태스크스포닝 spawn 물고기가알을낳다 작업분해를구현하기위해 자식태스크가생성되는것을 물고기가알을낳는것이비유! 병렬화개념을위해단순히 create 가아닌 spawn 을사용한것임. 낳는다 가아닌 스포닝되었다 라고번역! 글로벌활용사례와함께하는 TBB 도입전략 56

57 C# 에서 TBB 를이용할수있을까요?

58 Q & A

59 감사합니다! C++ 개발자를위한하이퍼포먼스개발전략 글로벌활용사례와함께하는 TBB 도입전략 문의 : changjay@hanmail.net

Microsoft PowerPoint - 병렬프로그래밍세미나_TBB_ _v1.5.pptx

Microsoft PowerPoint - 병렬프로그래밍세미나_TBB_ _v1.5.pptx ROCK YOUR CODE Intel Software Conference 2010 Parallel Programming using Intel Parallel Studio Threading Building Blocks in Action Oct 12, 2010 EL Tower, Seoul TBB 역자이창재 changjay@hanmail net Goal Important

More information

Microsoft PowerPoint - AMP_ pptx

Microsoft PowerPoint - AMP_ pptx C++ AMP(Accelerated Massive Parallelism) 2013-03-29 고형호 hyungho.ko@gmail.com http://hhko.tistory.com 목차 Part 1. 다중프로세서 Part 2. 연산자원 Part 3. GPU 특징 Part 4. 병렬화프로그래밍기술 Part 5. AMP Portability( 이식성 ) Part

More information

<4D F736F F F696E74202D20BAB4B7C4C7C1B7CEB1D7B7A1B9D6BCBCB9CCB3AA5F F FB0EDC7FCC8A32E >

<4D F736F F F696E74202D20BAB4B7C4C7C1B7CEB1D7B7A1B9D6BCBCB9CCB3AA5F F FB0EDC7FCC8A32E > 미래로시스템고형호 hyungho.ko@gmail.com, http://hhko.tistory.com 2011.06.25( 토 ) 포스코센터서관 5 층 목차 2 1. ArBB 특징 2. ArBB 기초문법 3. ArBB 설치 4. 만델브로집합예제 3 1. ArBB 특징 벡터합구하기 배열 A a1 a2 a3 a4 a5 a6 a7 a8 배열 B b1 b2 b3 b4

More information

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout <<  양수입력 : ; cin >> *p; if (*p <= 0) cout <<  양수를입력해야합니다  << endl; return; 동적할 15 장기타주제들 auto_ptr 변환함수 cast 연산자에의한명시적형변환실행시간타입정보알아내기 (RTTI) C++ 프로그래밍입문 1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout > *p; if (*p

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

PowerPoint Template

PowerPoint Template 16-1. 보조자료템플릿 (Template) 함수템플릿 클래스템플릿 Jong Hyuk Park 함수템플릿 Jong Hyuk Park 함수템플릿소개 함수템플릿 한번의함수정의로서로다른자료형에대해적용하는함수 예 int abs(int n) return n < 0? -n : n; double abs(double n) 함수 return n < 0? -n : n; //

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

Microsoft PowerPoint - Chap12-OOP.ppt

Microsoft PowerPoint - Chap12-OOP.ppt 객체지향프로그래밍 (Object Oriented Programming) 12 장강사 강대기 차례 (Agenda) 멤버에대한동적메모리할당 암시적 / 명시적복사생성자 암시적 / 명시적오버로딩대입연산자 생성자에 new 사용하기 static 클래스멤버 객체에위치지정 new 사용하기 객체를지시하는포인터 StringBad 클래스 멤버에포인터사용 str static 멤버

More information

C 언어 프로그래밊 과제 풀이

C 언어 프로그래밊 과제 풀이 과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 3 장함수와문자열 1. 함수의기본적인개념을이해한다. 2. 인수와매개변수의개념을이해한다. 3. 함수의인수전달방법 2가지를이해한다 4. 중복함수를이해한다. 5. 디폴트매개변수를이해한다. 6. 문자열의구성을이해한다. 7. string 클래스의사용법을익힌다. 이번장에서만들어볼프로그램 함수란? 함수선언 함수호출 예제 #include using

More information

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

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc Visual Studio 2005 + Intel Visual Fortran 9.1 install Intel Visual Fortran 9.1 intel Visual Fortran Compiler 9.1 만설치해서 DOS 모드에서실행할수있지만, Visual Studio 2005 의 IDE 를사용하기위해서는 Visual Studio 2005 를먼저설치후 Integration

More information

Microsoft PowerPoint - chap11-포인터의활용.pptx

Microsoft PowerPoint - chap11-포인터의활용.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 포인터를 사용하는 다양한 방법에

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2> 게임엔진 제 4 강프레임리스너와 OIS 입력시스템 이대현교수 한국산업기술대학교게임공학과 학습내용 프레임리스너의개념 프레임리스너를이용한엔터티의이동 OIS 입력시스템을이용한키보드입력의처리 게임루프 Initialization Game Logic Drawing N Exit? Y Finish 실제게임루프 오우거엔진의메인렌더링루프 Root::startRendering()

More information

Chap 6: Graphs

Chap 6: Graphs 5. 작업네트워크 (Activity Networks) 작업 (Activity) 부분프로젝트 (divide and conquer) 각각의작업들이완료되어야전체프로젝트가성공적으로완료 두가지종류의네트워크 Activity on Vertex (AOV) Networks Activity on Edge (AOE) Networks 6 장. 그래프 (Page 1) 5.1 AOV

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사)

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사) Java Program Performance Tuning ( ) n (Primes0) static List primes(int n) { List primes = new ArrayList(n); outer: for (int candidate = 2; n > 0; candidate++) { Iterator iter = primes.iterator(); while

More information

Microsoft PowerPoint - Chapter 6.ppt

Microsoft PowerPoint - Chapter 6.ppt 6.Static 멤버와 const 멤버 클래스와 const 클래스와 static 연결리스트프로그램예 Jong Hyuk Park 클래스와 const Jong Hyuk Park C 의 const (1) const double PI=3.14; PI=3.1415; // 컴파일오류 const int val; val=20; // 컴파일오류 3 C 의 const (1)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

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

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

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

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a 6 장복사생성자 객체의생성과대입객체의값에의한전달복사생성자디폴트복사생성자복사생성자의재정의객체의값에의한반환임시객체 C++ 프로그래밍입문 1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y;

More information

슬라이드 1

슬라이드 1 정적메모리할당 (Static memory allocation) 일반적으로프로그램의실행에필요한메모리 ( 변수, 배열, 객체등 ) 는컴파일과정에서결정되고, 실행파일이메모리에로드될때할당되며, 종료후에반환됨 동적메모리할당 (Dynamic memory allocation) 프로그램의실행중에필요한메모리를할당받아사용하고, 사용이끝나면반환함 - 메모리를프로그램이직접관리해야함

More information

Frama-C/JESSIS 사용법 소개

Frama-C/JESSIS 사용법 소개 Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie

More information

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 이중포인터란무엇인가? 포인터배열 함수포인터 다차원배열과포인터 void 포인터 포인터는다양한용도로유용하게활용될수있습니다. 2 이중포인터

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

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

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

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

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

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

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

2009년도 한국멀티미디어학회 춘계학술발표대회 논문집 12권1호 1. 서론 게임을 개발하는 과정에서 게임 엔진은 자동차의 엔진과 같은 역할이다. 자동차의 가치를 평가하는 요소 중에 어떤 엔진을 적용 했는가는 자동차를 평가하는데 중요하다. 게임도 게임 개발 기술 중 엔진

2009년도 한국멀티미디어학회 춘계학술발표대회 논문집 12권1호 1. 서론 게임을 개발하는 과정에서 게임 엔진은 자동차의 엔진과 같은 역할이다. 자동차의 가치를 평가하는 요소 중에 어떤 엔진을 적용 했는가는 자동차를 평가하는데 중요하다. 게임도 게임 개발 기술 중 엔진 멀티스레드 기술을 적용한 가상 3D 게임 엔진에서의 병렬 처리 기법 김문순, 노성남, 박제훈, 박건수, 김은주, 김선정, 송창근 한림대학교 컴퓨터공학과 e-mail : {sunfire99,customizer,irubeta01,20045163,ejkim628,sunkim,cgsong}@hallym.ac.kr Parallel Processing Technique

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

Microsoft PowerPoint - 권장 사양

Microsoft PowerPoint - 권장 사양 Autodesk 제품컴퓨터사양 PRONETSOFT.CO 박경현 1 AutoCAD 시스템사양 시스템요구사양 32 비트 AutoCAD 2009 를위한시스템요구사항 Intel Pentium 4 프로세서 2.2GHz 이상, 또는 Intel 또는 AMD 듀얼 코어프로세서 16GH 1.6GHz 이상 Microsoft Windows Vista, Windows XP Home

More information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

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

4S 1차년도 평가 발표자료 모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 11 장상속 1. 상속의개념을이해한다. 2. 상속을이용하여자식클래스를작성할수있다. 3. 상속과접근지정자와의관계를이해한다. 4. 상속시생성자와소멸자가호출되는순서를이해한다. 이번장에서만들어볼프로그램 class Circle { int x, y; int radius;... class Rect { int x, y; int width, height;... 중복 상속의개요

More information

Microsoft PowerPoint 세션.ppt

Microsoft PowerPoint 세션.ppt 웹프로그래밍 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 세션변수 (Session Variable) (1/2) 쇼핑몰장바구니 장바구니에서는사용자가페이지를이동하더라도장바구니의구매물품리스트의내용을유지하고있어야함 PHP 에서사용하는일반적인변수는스크립트의수행이끝나면모두없어지기때문에페이지이동시변수의값을유지할수없음 이러한문제점을해결하기위해서 PHP 에서는세션 (session)

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for 2003 Development of the Software Generation Method using Model Driven Software Engineering Tool,,,,, Hoon-Seon Chang, Jae-Cheon Jung, Jae-Hack Kim Hee-Hwan Han, Do-Yeon Kim, Young-Woo Chang Wang Sik, Moon

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문 1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문 1. 표준입출력 표준입출력 입력 : 키보드, scanf 함수 출력 : 모니터, printf 함수문제 : 정수값 2개를입력받고두값사이의값들을더하여출력하라. #include int main(void) int Num1, Num2; int

More information

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx 2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

Microsoft PowerPoint - chap12-고급기능.pptx

Microsoft PowerPoint - chap12-고급기능.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 가 제공하는 매크로 상수와 매크로

More information

2002년 2학기 자료구조

2002년 2학기 자료구조 자료구조 (Data Structures) Chapter 1 Basic Concepts Overview : Data (1) Data vs Information (2) Data Linear list( 선형리스트 ) - Sequential list : - Linked list : Nonlinear list( 비선형리스트 ) - Tree : - Graph : (3)

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

Microsoft PowerPoint - 2강

Microsoft PowerPoint - 2강 컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074> 객체지향프로그램밍 (Object-Oriented Programming) 1 C++ popular C 객체지향 (object oriented) C++ C : 상위계층언어특징 + 어셈블리언어특징 C++ : 소프트웨어개발플랫폼에객체지향개념제공 객체지향 : 자료와이들자료를어떻게다룰것인지따로생각하지않고단지하나의사물로생각 형 변수가사용하는메모리크기 변수가가질수있는정보

More information

슬라이드 1

슬라이드 1 Recursion SANGJI University KO Kwangman () 1. 개요 재귀 (recursion) 의정의, 순환 정의하고있는개념자체에대한정의내부에자기자신이포함되어있는경우를의미 알고리즘이나함수가수행도중에자기자신을다시호출하여문제를해결하는기법 정의자체가순환적으로되어있는경우에적합한방법 예제 ) 팩토리얼값구하기 피보나치수열 이항계수 하노이의탑 이진탐색

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고 OT S / SOFTWARE 임베디드 시스템에 최적화된 Windows Embedded Compact 2013 MDS테크놀로지 / ES사업부 SE팀 김재형 부장 / jaei@mdstec.com 또 다른 산업혁명이 도래한 시점에 아직도 자신을 떳떳이 드러내지 못하고 있는 Windows Embedded Compact를 오랫동안 지켜보면서, 필자는 여기서 그와 관련된

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 08 함수 01 함수의개요 02 함수사용하기 03 함수와배열 04 재귀함수 함수의필요성을인식한다. 함수를정의, 선언, 호출하는방법을알아본다. 배열을함수의인자로전달하는방법과사용시장점을알아본다. 재귀호출로해결할수있는문제의특징과해결방법을알아본다. 1.1 함수의정의와기능 함수 (function) 특별한기능을수행하는것 여러가지함수의예 Page 4 1.2

More information

chap10.PDF

chap10.PDF 10 C++ Hello!! C C C++ C++ C++ 2 C++ 1980 Bell Bjarne Stroustrup C++ C C++ C, C++ C C 3 C C++ (prototype) (type checking) C C++ : C++ 4 C C++ (prototype) (type checking) [ 10-1] #include extern

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 10 포인터 01 포인터의기본 02 인자전달방법 03 포인터와배열 04 포인터와문자열 변수의주소를저장하는포인터에대해알아본다. 함수의인자를값과주소로전달하는방법을알아본다. 포인터와배열의관계를알아본다. 포인터와문자열의관계를알아본다. 1.1 포인터선언 포인터선언방법 자료형 * 변수명 ; int * ptr; * 연산자가하나이면 1 차원포인터 1 차원포인터는일반변수의주소를값으로가짐

More information

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D> VHDL 프로그래밍 D. 논리합성및 Xilinx ISE 툴사용법 학습목표 Xilinx ISE Tool 을이용하여 Xilinx 사에서지원하는해당 FPGA Board 에맞는논리합성과정을숙지 논리합성이가능한코드와그렇지않은코드를구분 Xilinx Block Memory Generator를이용한 RAM/ ROM 생성하는과정을숙지 2/31 Content Xilinx ISE

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

2 병렬성 vs 동시성 시분할 시스템에서 선점형 멀티태스킹 두 개 프로세서 코어에서의 동시 작업

2 병렬성 vs 동시성 시분할 시스템에서 선점형 멀티태스킹 두 개 프로세서 코어에서의 동시 작업 1 동시성런타임을이용한 Actor- Based Programming Asynchronous Agents Library 김용현 (drvoss@gmail.com) http:// 2 병렬성 vs 동시성 시분할 시스템에서 선점형 멀티태스킹 두 개 프로세서 코어에서의 동시 작업 3 언어적차원에서의병렬성지원 X 0041594E cmp dword ptr [CSingleton::instance_

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

JAVA PROGRAMMING 실습 05. 객체의 활용

JAVA PROGRAMMING 실습 05. 객체의 활용 public class Person{ public String name; public int age; } public Person(){ } public Person(String s, int a){ name = s; age = a; } public String getname(){ return name; } @ 객체의선언 public static void main(string

More information

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

var answer = confirm( 확인이나취소를누르세요.); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write( 확인을눌렀습니다.); else { document.write( 취소를눌렀습니다.); 자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

Slide 1

Slide 1 SeoulTech 2011-2 nd 프로그래밍입문 (2) Chapter 16. 템플릿 박종혁교수 (http://www.parkjonghyuk.net) Tel: 970-6702 Email: jhpark1@snut.ac.kr Learning Objectives 함수템플릿 구문, 정의 컴파일합병 클래스템플릿 문법 예 : 배열템플릿클래스 템플릿및상속 예 : 부분적으로채워진배열템플릿클래스

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information