티스토리 뷰

프로그래밍/API

DLL 정리

에어버스 2016. 6. 10. 11:53

dll 프로젝트에서는
extern "C" __declspec(dllexport) int 함수명(int a, int b)
{
 return a * b;
}


dll 사용 프로젝트

1. 암시적링크
DLL, Lib 파일은 프로젝트 폴더에 복사한다.
Lib 파일 필요하고 프로잭트 속성에서 링크/입력/추가종속성에 lib 파일명을 추가해야 한다.

extern "C" __declspec(dllimport) int 함수명(int, int);
int nResult = 함수명(20, 5);


2. 명시적링크
DLL 파일만 프로젝트 폴더에 복사한다.
LoadLibrary(). GetProcAddress(), FreeLibrary() 로 호출한다.


HINSTANCE hInstDll = LoadLibrary(TEXT("MultipleDll.dll"));
int (*pMultiple)(int, int) = (int(*)(int, int))GetProcAddress(hInstDll, "함수명"); // Dll 파일에서 함수 주소를 얻는다.
int nResult = (*pMultiple)(20, 5);
FreeLibrary(hInstDll);

 

 

 

예외처리
__try
{
// 예외 가능성 있는 코드
}
__except(표현식)
{
// 예외 발생시 처리영역
}
__finally
{
// __try 문 종료 시 처리 영역
}

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30