2012-04-19 60 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 2012-04-20 07:57:02