dll에서의 래퍼 함수에 대한 질문입니다
글쓴이: tommybee / 작성시간: 목, 2009/02/12 - 8:04오후
만약 제가 Printf라는 이름으로 함수를 만들고 그것을 dll로 만들어다고 하면
만든 그 dll을 다른 곳에서 쓰고 싶어 합니다. 그래서 dll를 읽어 들이고
그 함수의 포인터를 받아서 mTPrintf라는 함수포인터에 할당하고
새로운 클래스를 만들어서 다음과 같이 래퍼 클래스를 만들려고 합니다
근데 문제가 생긴 것이 바로 "..." 이부분 이거든요
이 부분은 어떻게 바꿔 줄 수 있을까요?
TUTIL_API void __stdcall Printf(TCHAR *frm,...); dll상에 함수를 만들고
이것을 사용할 A라는 클래스를 다음과 같이 만들고 나서
class A
{
private:
HINSTANCE dllHandle;
void (__stdcall *mTPrintf)(TCHAR *,...);
public:
A();
~A();
void Printf(TCHAR *frm,...);};
}
구현부에서
mTPrintf = (void (__stdcall *)(TCHAR*,...))GetProcAddress(dllHandle,"Printf");
로 받은 다음 Printf 함수를 다음과 같이 하고 싶습니다 어떻게 해야 할까요....
void Printf(TCHAR *frm,...)
{
mTPrintf(어떻게 넣어야 하나요?);
}
고수 님들의 조언 부탁드립니다
Forums:
dll에 관한 문제라기 보다는...
stdarg.h에 대한 질문글이군요.
다음글을 참고하세요.
http://wiki.kldp.org/wiki.php/CLanguageVariableArgumentsList
댓글 달기