【问题标题】:Windows: Meta-Information in DLLWindows:DLL 中的元信息
【发布时间】:2012-04-19 20:07:15
【问题描述】:

我需要在 Windows 上用 C++ 实现一个简约的类似 osgi 的模块化框架。与 Java 类似,我想将模块作为独立单元、动态链接库来发布。虽然 .jar 文件实际上是容器,但 .dll 文件实际上是一些已编译的代码块。因此,甚至可以将元数据存储在 .dll 文件中并在 C++ 程序中访问它吗?

【问题讨论】:

    标签: c++ windows dll metadata


    【解决方案1】:

    最简单的方法是将元数据作为资源存储在 DLL 中。然后,您可以使用 Windows API 资源函数来提取元数据。您甚至不需要将 DLL 作为代码模块加载,只需将其加载为数据模块,然后提取元数据资源即可。

    使用LoadLibrary 来加载库。然后您可以使用FindResourceLoadResource 来提取您的元数据。

    【讨论】:

    • 如果您只需要资源,请使用LoadLibraryEx(... , LOAD_LIBRARY_AS_DATAFILE)(在 Vista 及更高版本中,有更多专用选项可用)。
    猜你喜欢
    • 2015-02-16
    • 2019-02-17
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多