본문으로 바로가기

암시적(묵시적) DLL 만들기!!

category 프로그래밍/C++ 2018. 7. 25. 14:36


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