여러 파일 형식으로 읽고 데이터를 병합해야하는 응용 프로그램을 개발 중입니다. 나중에 추가 형식을 지원하기를 원할 수 있으므로 파일 판독기를 DLL로 개발하고 사용자 입력을 기반으로 런타임에로드해야합니다. 일반적으로 한 번에 두 개의 DLL을로드합니다.
추상 인터페이스 (Like this)를 만들 수 있다고 생각했지만 두 개의 DLL을로드 할 때 각각의 (하위 클래스의) DLL 클래스에서 팩토리 함수를 사용하면 두 함수 정의가 서로 간섭합니다. 내가 놓친 게 있니? 이 작업을 수행하는 더 좋은 방법이 있습니까?DLL에서 C++로 서브 클래 싱
감사합니다.
LoadLibrary를 사용하여 DLL을로드하고 GetProcAddress를 통해 팩토리 함수에 대한 포인터를 가져 오는 경우 상상해 보시는 것처럼 문제가되지 않습니다. 다른 DLL/EXE에서 DLL/EXE에 할당 된 메모리를 절대로 출시 할 수는 없습니다. – MFH
@MFH, 좋은 답변입니다. 왜 댓글을 쓰시겠습니까? – eran
@eran 고마워, 내가 그랬어 :) – MFH