답변 대단히 감사합니다.
tdump 를 해보니... 함수 목록을 볼수가 있습니다.
조금더 정확한 prototype ( 함수의 인자들 까지 ) 는 볼수 없는건지요?
VC의 함수의 원형이 int WINAPI test ( int x );
이라면.. 이것을 가르키는 함수포인터는 C++ builder에서 어떻게 선언해 주는 것이 맞는지요?
보통의 경우라면... int ( * funcP ) ( int );
이렇게 해주는것이 맞는것 같은데요... 원형의 WINAPI의 처리는
어떻게 해야하는지요? 안해도 아무런 상관없는건지요?
수고하세요.
BloodWolf 님이 쓰신 글 :
: somez72 님이 쓰신 글 :
: : 답변 감사합니다.
: : MY_FUNC_testDLL testDLL=(MY_FUNC_testDLL)::GetProcAddress(dll,"testDll"); 에서...
: :
: : :: (전역스코프 연산자) 를 빼야 맞는것이 아닌지요?
: :
: : 캐스팅이면... 아래처럼 해야 맞는것이 아닌가 해서요...
: : MY_FUNC_testDLL testDLL=(MY_FUNC_testDLL)GetProcAddress(dll,"testDll");
:
: casting은 반환된 함수 포인터에 대해 적용되는것이라서 상관없습니다.
:
: (MY_FUNC_testDLL)GetProcAddress(...);
: (MY_FUNC_testDLL)::GetProcAddress(...);
: (MY_FUNC_testDLL)(::GetProcAddress(...));
:
: 다 됩니다. :-)
:
: :
: : 혹시... DLL내의 export된 함수들의 list를 알아낼 수 있는 방법이 있을까요?
: : (저는 지금 남이 배포한 DLL 속의 함수를, C++ builder에서 호출해 보려하는데...
: : 아직 저는 , 그 DLL 속에 어떤 함수들이 정의 되어 있는지... 알수가 없어서요 )
: :
:
: C++Builder6 설치 디렉토리의 'bin' 에 보시면, 'tdump.exe' 라는 도구가 있습니다.
:
: 아래와 같이 하시면 DLL에서 export 된 함수들을 알아보실 수 있습니다.
: 'tdump -ee unknown.dll'
:
: MSVC의 'depens.exe'라는 도구를 이용해도 됩니다.
:
: 참고)
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=44033