DLL 내에서 정의된 Function을 export하기 위해서는 “__declspec(dllexport)” 를 사용한다.
“__declspec”은 MS만의 C, C++의 확장된 syntax로서, 확장된 storage-class 정보를 정의한다.
“dllexport”는 storage-class의 한 속성으로, DLL의 Function, Data, Object를 export할 수 있도록 하여준다.
반대로 DLL내의 Function을 import하기 위해서는 “dllimport” 속성을 사용한다.
Win32 환경에서는 Function Export/Import를 위하여 이것을 이용하며,
Win32 이전의 Windows 환경에서 사용되던 module-definition file (.DEF)을 사용하지 않는다.
단, VB와 호환가능한 DLL을 제작하는 경우, module-definition file을 사용하도록 한다.
#ifdef DLLTEST_EXPORTS
#define DLLFunction __declspec(dllexport)
#elseif
#define DLLFunction __declspec(dllimport)
#endif
DLL의 Project Settings에 Preprocessor definitions에 “프로젝트명_EXPORTS”의 형식으로 정의 되어 있다
“__declspec”은 MS만의 C, C++의 확장된 syntax로서, 확장된 storage-class 정보를 정의한다.
“dllexport”는 storage-class의 한 속성으로, DLL의 Function, Data, Object를 export할 수 있도록 하여준다.
반대로 DLL내의 Function을 import하기 위해서는 “dllimport” 속성을 사용한다.
Win32 환경에서는 Function Export/Import를 위하여 이것을 이용하며,
Win32 이전의 Windows 환경에서 사용되던 module-definition file (.DEF)을 사용하지 않는다.
단, VB와 호환가능한 DLL을 제작하는 경우, module-definition file을 사용하도록 한다.
#ifdef DLLTEST_EXPORTS
#define DLLFunction __declspec(dllexport)
#elseif
#define DLLFunction __declspec(dllimport)
#endif
DLL의 Project Settings에 Preprocessor definitions에 “프로젝트명_EXPORTS”의 형식으로 정의 되어 있다
'온라인게임 > vc++' 카테고리의 다른 글
Pre-processor(전처리기) (0) | 2010.10.07 |
---|---|
Help Library (Microsoft Help System) ( 구 MSDN ) (0) | 2010.10.07 |
IO Completion Port (0) | 2010.10.06 |
vs 2010 팁 ( visual studio 추가 설치 파일 ) (0) | 2010.10.05 |
패킷 구조별로 읽기 / 네트웍 패킷 구조 / 전체길이 / 명령어 (0) | 2010.10.05 |