728x90
반응형
DLL을 만들고 사용하는 실습이다.
DLL을 만드는 방법
1. windows 콘솔로 프로젝트를 만들고 항목에서 dll을 체크하여 프로젝트 만들기.
2. 원하는 함수 집어 넣기.
위와 같은 형태로 지정하여 컴파일하면 dll이 만들어 진다.
__declspec(dllexport) void __cdecl Function1(void)
와 같은 형태로 사용을 해야 하며 함수마나 하나씩 다 지정을 해주어야 한다.
그리고 dll은 디버깅이 불가능 하기 때문에 DbgView로 확인 하기 위해서 OutputDebugString(); 함수를 이용하였다.
현재 총 5개의 함수를 만들었다. 제작한 tttt.dll을 dependency로 확인해 보았다.
위에보면 TTTT.dll에 5개의 함수들이 보인다.
이제 .exe를 만들어서 실행하면 된다.
와 같은 형태로 함수를 지정한다.
LoadLibrary()
LoadLibrary는 dll의 핸들값을 얻어온다. 인자로는 import할 dll의 경로가 들어간다.
GetProcAddress()
GetProcAddress함수는 얻어온 dll의 핸들을 이용하여 dll 안의 함수를 가저오는 역활을 한다.
위와같은 형태로 해준다면 dll안의 함수를 이용할 수 있다.
결과 :
디버거 뷰어로 DLL을 체크.
4개의 함수 모두 잘 호출된 것을 확인할 수 있다.
728x90
반응형
'Programming > Windows&C#' 카테고리의 다른 글
[Windows/WinAPI] ReadFile() (0) | 2013.10.15 |
---|---|
[Windows/WinAPI] CreateFile() (0) | 2013.10.14 |
[Windows/WinAPI] main ,_tmain간의 차이 (0) | 2013.10.09 |
[Windows/WinAPI] 레지스트리 Key 생성하기(실습4) (0) | 2013.10.04 |
[Windows/WinAPI] Polymorphic 자료형 (0) | 2013.10.03 |