通过函数导出检查C ++插件版本

时间:2013-01-15 20:25:59

标签: c++ plugins dll versioning dllexport

我有两个DLL,CoreExtensionExtension隐式链接Core(使用Core.lib)。 Extension旨在成为可执行文件的插件(显式链接),该可执行文件也隐式链接Core

Core声明一个在Core.dll(extern "C" __declspec(dllexport) int GetCoreVersion())中导出的函数,我也想在Extension.dll中导出。

预期目的是比较版本 - 我希望能够确保插件(扩展)与可执行文件链接到相同版本的Core.dll。此检查将在可执行文件中执行,因为它显式链接Extension.dll(通过LoadLibraryGetProcAddress)。还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我将以下内容添加到Extension中,这会导致导出GetCoreVersion符号:

#pragma comment(linker, "/export:_GetCoreVersion");

现在,可执行文件能够找到该功能(通过GetProcAddress("GetCoreVersion"))。