반응형
프로젝트가 커지면 DLL을 자주 사용하게 됩니다.
DLL을 MFC나 Win32 프로젝트에서 사용하는 방법은 크게 두 가지입니다.
첫 번째 방법은 DLL의 함수를 export하는 lib와 h(헤더)파일을 사용하는 방법입니다.
두 번째 방법은 LoadLibrary를 통해서 동적으로 DLL을 불러오고 해당 함수의 포인터를 얻는 방법입니다.
DLL 내부에서 외부에 노출시키는 함수 목록을 보기 위해서 dumpbin 명령어를 사용할 수 있습니다.
Visual Studio를 켜고 TOOLS 메뉴의 Visual Studio Command Prompt를 실행합니다.
dumpbin /exports a.dll
이렇게 실행하면 a.dll 내부의 함수 목록을 확인할 수 있습니다.
여기서 얻은 정보를 통해서 lib 파일을 생성할 수 있습니다.
여기서 lib 파일은 정적 라이브러리로 변환이 아닌 DLL 파일을 단순하게 참조하는 역할입니다.
먼저 def 파일을 다음과 같이 생성합니다.
LIBRARY a.dll EXPORTS Func1 Func2 Func3
첫 줄은 LIBRARY dll이름 이렇게 작성하고 EXPORTS 밑에 dumpbin을 통해서 얻은 함수 목록을 작성합니다.
이렇게 a.def 파일을 만들면 다음 명령어로 lib 파일을 생성할 수 있습니다.
lib /def:a.def /machine:x86
/machine 옵션에 원하는 타겟을 지정해주면 됩니다.
이렇게 하면 DLL에서 lib를 생성할 수 있습니다.
반응형
'Programming > Win32&MFC&COM' 카테고리의 다른 글
CString 토큰(Token)으로 분리시키기(AfxExtractSubString) (0) | 2015.06.22 |
---|---|
BOM(Byte Order Mark)에 따른 파일 처리 (0) | 2015.06.21 |
Vista 이후 OS에서 Mic, Speaker 볼륨 셋팅 (2) | 2015.06.19 |
파일명 변경하는 API 함수 목록 (0) | 2015.06.17 |
Memory Mapped File(MMF)를 이용한 프로세스간 메모리 공유 (0) | 2015.06.16 |