Top Banner
DLL 지지지 지지지지 지지 OS 지지지지 지지 지지 지지 GPG 2. Section 1. General Programming DevRookie Study, 2011. 7. 9. 지지지
16

[Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략

Jun 28, 2015

Download

Technology

MinGeun Park
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략

DLL 지옥과 존재하지 않는OS 함수들에 대한 방어 전략

GPG 2. Section 1. General Programming

DevRookie Study, 2011. 7. 9. 박민근

Page 2: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략

DLL 지옥DLL Hell

Page 3: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략
Page 4: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략

DLL 에 의존하는 것은 많은 문제를일으킬 수 있다

DLL 이 존재하는가 ?DLL 이 유효한 것인가 ?

DLL 버전은 맞는 것인가 ?

Page 5: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략

암묵적 링크 vs 명시적 링크

Page 6: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략

암묵적 링크

DLL 의 Lib 파일을 프로젝트 설정에 포함DLL 프로젝트를 솔류션에 포함

#pragma comment(lib “lib 이름” )

Page 7: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략

명시적 링크

LIB 파일을 사용하지 않는다 .LoadLibrary()

GetProcAddress()FreeLibrary()

Page 8: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략

DLL 이 없거나 잘못된 DLL 을찾아낼 수 있다 .

대신 코드가 좀더 복잡해 진다 .

Page 9: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략

DirectX 의 DLL 방어하기

Page 10: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략
Page 11: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략
Page 12: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략

존재하지 않는 OS 함수

Page 13: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략
Page 14: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략

게임 엔진 DLL 에서 응용

Page 15: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략

DX 의 버전 DLL 이 다른 경우(ex. DirectX9, DirectX11)

OpenGL & DirectX

Page 16: [Gpg2권 박민근] 1.4 dll 지옥과 존재하지 않는 os 함수들에 대한 방어 전략

게임 메인 실행 파일에서 , 자신의 DLL 을 명시적으로 로드하고 ,그 DLL 들은 해당 라이브러리를암묵적 (Lib) 으로 링크하는 테크닉