반응형
어렵게 쓰지 말자. DLL 은 Library 이다. 혹자는 API 라고도 한다.
첫째. 사용할 함수를 들입다 선언.정의한다.
둘째. 프로젝트 내에서 함수는 사용되지 않는다.
셋째. 적절한 문구(1)를 통해 본 프로젝트는 .DLL 파일을 만들기 위한 과정이라고 알린다.
이는 선언할때 extern __cdecl(import) 나 import 대신에 export 라고 써주면 된다.
dll 로 존재할 함수의 선언/정의부는 export 라고 해야겠고
이렇게 만들어진 선언/정의들을 가져다 쓰기만 할 곳에도 헤더파일에는 선언이 들어가야 하니까 exter __cdecl(import) 라고 한다. 이는 보통 #define 을 통해 짧은 문구로 전환한다. 네이x 같은데 가보면 예문 많으니까 가서 검색해 볼 것.
넷째. 컴파일하면 옵션이 있다. IDE 에는 다 있을터이니 .exe 를 만들것인지 .dll 을 만들것인지 잘 정해서 .dll 을 만들도록 옵션을 정한다. compile 과 build 하면 .dll 이 만들어져 있을 것이다.
다섯째. 이 dll 파일에 정의/선언된 함수를 끌어다 쓸 프로젝트와 동일한 폴더에 만들어진 dll 을 가져다 놓고 library 로 쓴다.
핵심. #include 는 정적연결 라이브러리
.dll + extern __cdecl(export) 는 동적연결 라이브러리...이름하야 dynamic link library
인 것이다.
첫째. 사용할 함수를 들입다 선언.정의한다.
둘째. 프로젝트 내에서 함수는 사용되지 않는다.
셋째. 적절한 문구(1)를 통해 본 프로젝트는 .DLL 파일을 만들기 위한 과정이라고 알린다.
이는 선언할때 extern __cdecl(import) 나 import 대신에 export 라고 써주면 된다.
dll 로 존재할 함수의 선언/정의부는 export 라고 해야겠고
이렇게 만들어진 선언/정의들을 가져다 쓰기만 할 곳에도 헤더파일에는 선언이 들어가야 하니까 exter __cdecl(import) 라고 한다. 이는 보통 #define 을 통해 짧은 문구로 전환한다. 네이x 같은데 가보면 예문 많으니까 가서 검색해 볼 것.
넷째. 컴파일하면 옵션이 있다. IDE 에는 다 있을터이니 .exe 를 만들것인지 .dll 을 만들것인지 잘 정해서 .dll 을 만들도록 옵션을 정한다. compile 과 build 하면 .dll 이 만들어져 있을 것이다.
다섯째. 이 dll 파일에 정의/선언된 함수를 끌어다 쓸 프로젝트와 동일한 폴더에 만들어진 dll 을 가져다 놓고 library 로 쓴다.
핵심. #include 는 정적연결 라이브러리
.dll + extern __cdecl(export) 는 동적연결 라이브러리...이름하야 dynamic link library
인 것이다.
반응형