DLL에서 함수를 내보낼 때 __declspec(dllexport) 지시문이 일반적으로 사용됩니다. 그런데 전체 C 클래스를 내보내고 동적으로 로드하려면 어떻게 해야 할까요?
LoadLibrary()를 사용하여 클래스를 직접 로드하는 것은 일반적으로 불가능합니다. 대신 클래스에 동적으로 연결하는 데 두 가지 접근 방식을 사용할 수 있습니다.
팩토리 함수를 생성하여 객체를 인스턴스화하고 어셈블러를 사용하여 객체를 DLL의 오프셋에 연결합니다. DLL을 동적으로 로드합니다. 이 접근 방식은 [DLL에서 C 개체를 동적으로 로드](https://www.codeproject.com/Articles/18878/Dynamically-loading-objects-from-DLLs)에 자세히 설명되어 있습니다.
런타임에 DLL 및 해당 내보내기를 동적으로 로드할 수 있는 지연 로드 DLL을 활용합니다. 그러나 이 방법은 모든 플랫폼에서 사용 가능하지 않을 수 있습니다.
컴파일 타임 링크의 경우 다음 중 하나를 수행할 수 있습니다.
위 내용은 다음은 질문 형식과 기사 내용을 고려한 몇 가지 제목 옵션입니다. **짧고 직접적인 내용:** * **DLL에서 C 클래스를 어떻게 내보내고 동적으로 로드합니까?** * **늦은-의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!