2012-04-19 2 views
1

Windows의 C++에서 최소한의 osgi와 유사한 모듈화 프레임 워크를 구현해야합니다. Java와 마찬가지로 모듈을 자체 링크로 동적 링크 라이브러리로 제공하고 싶습니다. .jar 파일은 실제로 컨테이너이지만, .dll 파일은 실제로 컴파일 된 코드의 일부입니다. 따라서 .dll 파일에 메타 데이터를 저장하고 C++ 프로그램에 액세스 할 수 있습니까?Windows : DLL의 메타 정보

답변

1

가장 간단한 방법은 메타 데이터를 DLL 안에 리소스로 저장하는 것입니다. 그런 다음 Windows API 리소스 함수를 사용하여 메타 데이터를 추출 할 수 있습니다. DLL을 코드 모듈로로드 할 필요조차 없습니다. 데이터 모듈로로드 한 다음 메타 데이터 리소스를 추출 할 수 있습니다.

LoadLibrary을 사용하여 라이브러리를로드하십시오. 그런 다음 FindResourceLoadResource을 사용하여 메타 데이터를 추출 할 수 있습니다.

+2

리소스가 필요한 경우 LoadLibraryEx (..., LOAD_LIBRARY_AS_DATAFILE)을 사용하십시오 (Vista에서는 나중에 더 많은 특수 옵션을 사용할 수 있음). – MSalters