DLL 이란?
Dynamic Link Library의 줄임말으로 동적 라이브러리 입니다.
DLL을 만드는 방법은 크게 두가지가 존재 합니다
1.암시적(묵시적) : Implicit linking
:실행 파일 자체에 어떤 DLL의 어떤 함수를 사용하겠다는 정보를 포함시키고 운영체제가 프로그램 실행 시 해당 함수들을 초기화한 후 그것을 이용하는 방법
2.명시적 : Explicit linking
:프로그램이 실행 중일 때 API를 이용하여 DLL 파일이 있는지 검사하고 동적으로 원하는 함수만 불러와서 쓰는 방법
이번 포스팅에서는 암시적 링킹 하는 방법에 대해 포스팅하겠습니다.
암시적 링킹의 장점
: 쉽고 편하다.
암시적 링킹의 단점
: 메모리 낭비가 있다, 시간 낭비
참고로 필자는 HTS 개발자로서 명시적 링킹 방법을 주로 사용합니다.
프로젝트를 2개 생성해야 합니다. 하나는 DLL , 또 다른 하나는 DLL을 가져올 프로젝트!!
먼저 , DLL 파일을 생성 하겠습니다.
1. DLL 파일 생성
2. DLL 모양은 만들었고 , 외부에서 사용할 함수를 만들어 봅시다. 여기선 덧셈,뺄셈을 만들어 볼께요
3. 솔루션 빌드!! ctrl+shift+b
4. Debug 폴더가 생기고 dll, lib 파일이 생성됩니다.
이제 DLL 프로젝트를 만들었으니 DLL을 가져와서 사용할 프로젝트를 만들겠습니다.
1. 프로젝트 만들기
2. 코드 작성
3. DLL 연결하기 위한 설정 추가
=> DLL을 만든 경로의 Debug 폴더를 포함시킨다.
=> lib파일을 읽을때 경로 지정을 따로 하지 않아도 저기에 적은 디렉토리를 검사하겠다는 의미입니다.
=> DLL을 컴파일하고 나온 .lib파일을 적어줍니다.
=> 경로만 적어주고 실체가 없으면 안되겠죠. DLL파일을 사용하는 프로젝트(GETDLL)의 Debug 폴더로 가서
DLL프로젝트에서 나온 .dll을 넣어줍니다.
=> 그럼 끝~
4. 실행결과
'프로그래밍 > C++' 카테고리의 다른 글
[c++]빙고게임 만들기 #2 (2) | 2018.06.25 |
---|---|
[c++]빙고게임 만들기 #1 (0) | 2018.06.25 |