제 3 자 dll에 연결하는 데 문제가 있습니다. 그것은 Windows Mobile 응용 프로그램, 어디서이 제 3 자 dll에 연결하려고합니다.명시 적 연결에 .def 파일을 사용하는 방법은 무엇입니까?
여기에는 먼저 dll 및 lib 파일이 있습니다. 명시 적으로 링크 할 수 없었지만 암시 적 연결이 작동합니다. 명시 적 링크에서 getprocaddress가 실패했습니다. dumpbin은 dllmain 함수 만 노출되고 다른 함수는 노출되지 않으므로 getprocaddress가 실패했습니다. 그러나 장치에 dll이 없거나 설치되어 있지 않으면 내 응용 프로그램이 시작되지 않습니다. 그것은 DLL의 imlicit 연결이므로 내 응용 프로그램이 시작되지 않습니다 예상된다.
제 3 자 dll 공급자에게이 사실을 알리고 암시 적으로 연결되어 있으면 dll이 응용 프로그램에서 더 많은 공간을 차지하므로 명시 적 연결을 원한다고 말했습니다. 그들은 .def 파일을 제공함으로써 답장했으며 내 .def 파일을 DLL에 명시 적으로 연결하기 위해 사용할 수 있다고 말했습니다.
이 .def 파일을 사용하여 dll에 명시 적으로 링크하는 방법을 모르겠습니다. 어느 누구도 DLL에 명시 적으로 링크하기 위해 내 app에서이 .def 파일을 사용하는 방법에 대해 간단히 설명 할 수 있습니까?
안녕하세요 chrisW, dll을 빌드하는 소스 파일이 없으며, DLL, lib 및 타사에서 제공 한 해당 .def 파일 만 있습니다. –
당신은 "덤프 빈은 dllmain 기능 만이 노출되고 다른 기능은 노출되지 않으므로 getprocaddress가 실패했다"고 말했습니다. 다른 functins이 수출되지 않는다면, 나는 * .def 파일로도 링크 할 수 있다고 생각하지 않는다. O/S의 런타임 로더 (동적 연결)는 DLL이 내 보낸 함수로 작업하려고합니다. – ChrisW