[NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

24
3. 라라라라라 윈윈윈 윈윈 윈윈윈윈윈 라라라

description

 

Transcript of [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

Page 1: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

3. 라이브러리윈도우 게임 프로그래밍

박민근

Page 2: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

라이브러리

재사용 가능하도록 만들어 놓은 코드 모듈 .

정적 라이브러리 (Static Library) 와

동적 라이브러리 (Dynamic Library) 가

있다 . Ex. Fmod, DirectX, 여러 라이브러리형 게임 엔진등 ..

Page 3: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

Static Library

실행파일(exe)

StaticLibrary

(lib)

실행파일2(exe)

StaticLibrary

(lib)

실행파일3(exe)

StaticLibrary

(lib)

실행파일4(exe)

StaticLibrary

(lib)

실행파일5(exe)

StaticLibrary

(lib)

라이브러리가 exe 파일안에 포함된다 . (Lib)

동일한 라이브러리를 쓰는 프로그램들이 동시에 실행되면 메모리를 많이 차지 한다

Page 4: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

Dynamic Library

실행파일(exe)

DynamicLibrary(DLL)

라이브러리가 exe 파일밖에 존재 한다 . (DLL)

동일한 라이브러리를 쓰는 프로그램들이 하나의 DLL 을 공유 한다 .

실행파일2(exe)

실행파일3(exe)

실행파일4(exe)

실행파일5(exe)

Page 6: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

Static Library 제작하기

Page 7: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

Static Library 제작

Page 8: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

Static Library 제작

Page 9: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

Static Library 제작

Static Library 제작 ( 빌드 ) 완료 !!

Page 10: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

Static Library 사용 하기

헤더 파일 있는 폴더 추가하기

Page 11: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

Static Library 사용 하기

어디서 많이 본 에러 발생 !!함수를 못 찾는다

코드가 없다

Lib 가 없다 !

Page 12: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

Static Library 포함 시키기

Page 13: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

프로젝트 종속성 = 빌드 순서

라이브러리부터 빌드 한다 .

Page 14: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

Dynamic Library 제작하기

Page 15: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

DLL 프로젝트 생성

꼭 체크 할것

Page 16: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

친절한 DLL 샘플이 포함된다

자동으로 정의되어 있음

Page 17: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

DLL 클래스 제작하기

Page 18: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

DLL 제작 ( 빌드 ) 하기

Page 19: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

DLL 사용 하기

헤더 파일 있는 폴더 추가하기

Lib 추가 하기

Page 20: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

DLL 사용 하기

Page 21: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

DLL 을 삭제 하면 ?

어디서 많이 보던 에러가 !!

Page 22: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

Lib 대신 , 프로젝트 참조로 추가하기

DLL 의 lib 를 제거한다

당근 에러 발생 !!

Page 23: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

Lib 대신 , 프로젝트 참조로 추가하기

빌드 성공 !!

Page 24: [NHN_NEXT/윈도우 게암 프로그래밍] 3. 라이브러리

도전 과제

• 제작한 DirectX 샘플을 라이브러리화 시켜보자 .

• 외부 프로젝트에서는 아래처럼 호출하기만 해도 되도록

읽을 거리

게임 프로그래밍의 정석 p.535 ~ 545

“ 팁 : 라이브러리를 게임에서 분리한다”