dllimport, dllexport

반응형

exports library file(.exp),  object file library(.lib)

참조 : msdn http://msdn.microsoft.com/ko-kr/library/se8y7dcs(VS.80).aspx
.exp파일에는 export된 함수와 데이터 항목에 대한 정보가 들어있다.
.lib에는 export할 함수를 만들때 .exp파일도 함께 만든다.
다른 프로그램으로 export 하거나 import하기도 하는 프로그램을 직접 또는 간접적으로
링크하고자 할 때 이 .exp 파일을 사용한다.
.exp 파일을 사용하여 링크하면 link에서는 import 라이브러리를 이미 만들었다고 가정하기 때문에 다시 만들지 않는다.

이 파일들을 만드는 방법은 간단하다.

#ifdef MGSYSTEM_EXPORT
// DLL library project uses this
#define MGSYSTEM_ENTRY __declspec(dllexport)
#else
#ifdef MGSYSTEM_IMPORT
// client of DLL uses this
#define MGSYSTEM_ENTRY __declspec(dllimport)  
#else
// static library project uses this
#define MGSYSTEM_ENTRY
#endif
#endif

이런식으로 설정하고 프로젝트에 맞게 전처리기에 설정해 주면 되겠다.

__declspec에 대해 더 자세히 알고자 한다면
msdn -> http://msdn.microsoft.com/ko-kr/library/a90k134d(VS.80).aspx
http://redsky84.tistory.com/entry/declspec-확장된-속성-구문-III
을 보면 사용법까지 자세히 나와 있다.
TAGS.

Comments