|
답변감사드립니다.
님의 답변에 힌트를 얻어 vc에서 테스트용 dll을 extern "C" {} 를 한것과 하지 않을것으로
컴파일한후 dump해보니 extern "C" 선언이 없는녀석이 말썽을 부리는게 맏더군요. ^^
원인을 찾았기에 제작사에 다시 컴파일을 요구하면 될것 같은데요.. 요기서 또 한가지 문제가. --;;
extern "C"{
ECON_API void VelMove(short axis, int vel, int acc);
ECON_API void VelMove(short nAxis, short *axis, int *vel, int *acc);
}
이처럼 함수오버로딩을 한경우엔 컴파일이 안되든데...
함수명을 다른걸로 선언해야하는건가요? --;;
한번 더 조언 부탁드립니다.
감사합니다.
정재만 님이 쓰신 글 :
: 제가 직접 해보아도 안되네요...
: 말씀하신대로 dump해보니 함수명이 이상하네요...
: 저의 추측건대 VC로 DLL제작시
: MFC전용 DLL이거나
: DLL제작시 extern "C"선언이 빠졌던가...
:
: 만약 이대로 빌더에 사용하시려면 꽁수를 가르쳐 드리죠..
: VC에서 eCOn.DLL,eCon.LIB 사용이 된다면 래퍼을 씌워 VC로 빌더용DLL을 다시 만드시는 방법이 있읍니다..
:
:
:
:
: [Cain] 님이 쓰신 글 :
: : 답변주셔서 감사합니다. ^^
: : 찾은 방법들은 총동원하였음에도. 해결이 안되는군요.
: :
: : TDUMP를 해보면 왜 함수명에 이상한 것들이 들어있는지... 알수가 없네요..
: : 원인만이라도 안다면 제작사에 DLL컴파일을 다시 의뢰할수 있겠지만..
: : 지금으로션. 답이안보이네요.
: :
: : 지푸라기라도 잡는 심정으로 사용하려는 VC용 DLL을 첨부하여 올립니다.
: : 빌더용으로 변환해 주실수 있는 분이 계실지.. ^^;;
: :
: : 그리고 최후의 경우에는 .lib import가 아니라. 동적링킹이라는 방법이 있는걸로 아는데.
: : 관련된 지식도 알려주시면 감사하겠습니다. 흑.. T.T
|