|
제가 VC++에서 DLL을 만들때는..
클래스로 만든후..
외부에서 호출하는 함수들만 다시 function으로 만들어 Export 시켜주어서..
클래스내의 함수를 호출하는 형식으로 하니 잘 되더군요..
아마 빌더에서도 똑같을 걸로 생각됩니다.
니엘이~~* 님이 쓰신 글 :
: 안녕하세요.
:
: 현재 만들고 있는 라이브러리를 DLL로 만들어서 배포하려고 해요.
:
: 물론 VC++에서나 BCB에서나 모두 사용할 수 있는 라이브러리를 목적으루..
:
: 그래서 제가 다음과 같이 했습니다.
:
: [소스파일]------------------------------------------------
:
: extern "C" {
: __declspec(dllexport) __stdcall int func1();
: __declspec(dllexport) __stdcall int func2();
: }
:
: __declspec(dllexport) __stdcall int func1() {
: //..
: }
:
: __declspec(dllexport) __stdcall int func2() {
: //..
: }
:
: [배포용 해더파일]------------------------------------------------
: extern "C" {
: __declspec(dllimport) __stdcall int func1();
: __declspec(dllimport) __stdcall int func2();
: }
:
: --------------------------------------------------------------
:
: 위와 같이 소스 파일만들구 *.dll 파일과 *.lib 파일을 만든후..
:
: 헤더파일과 같이 배포하여 사용해본 결과...
:
: 예상대로 잘 되더군요..
:
: 그런데요...
:
: 제가 한 게 맞게 잘 한건가요?? 뭔가 이상하다는 느낌이...
:
: 그리구요...
:
: DLL에 클래스를 넣을 수는 없을까요??
:
: bcbdev에서 본것처럼 클래스 flattening이나 COM을 이용하는 방법 이외에요..
:
: 아시는 분 좀 가르쳐주세요~~!!
|