C++에서 DLL이 DLL을로드 한 응용 프로그램의 일부 심볼에 액세스 할 수 있습니까? 나는 플러그인 (dll)을로드하는 응용 프로그램을 가지고 있으며 이러한 플러그인은 응용 프로그램의 일부 API에 액세스해야합니다.DLL이 해당 응용 프로그램의 심볼에 액세스해야합니다.
이 API를 공유하는 새 DLL을 만들지 않고도이 작업을 수행 할 수 있습니까?
이 상황에서 함수 포인터의 구조체가 적합합니까?
예 : 호스트 응용 프로그램에 정의 된 bool Log (char *) 함수 및 일부 이벤트를 기록해야하는 플러그인.
+1하지만 C++ 위에 플러그인 아키텍처를 빌드하는 것이 좋은 선택입니까? 플러그인은 동일한 C++ 컴파일러로 빌드해야합니다 (버전이 아닌 경우 최소 제조사). –
당신이 C 스타일 인터페이스로 제한하는 경우에는 항상 "C"를 extern "C"할 수 있습니다. 그러나 이것은 절충점입니다. 나는 COM을 제안 할 것이다. 그러나 나는 똑바로 얼굴로 그렇게 할 수 없다. :) –