使用“extern”定义的变量延迟绑定到库

时间:2012-01-07 20:21:29

标签: c++ windows extern late-binding

我正在尝试将我的程序绑定到DLL 我知道如何导入它的方法,但在其头文件中,我有一个这样的定义:

EXTERN_C const IID SomeVariable;

如何在程序中引用此变量而不会出现“未解析的外部符号”错误?

2 个答案:

答案 0 :(得分:2)

您可以使用GetProcAddress获取函数或变量的地址。

答案 1 :(得分:1)

请参阅MSDN上的GetProcAddr()

const IID *idp = reinterpret_cast<const IID *>(GetProcAddr(hLibrary, "SomeVariable"));

现在您可以通过指针引用SomeVariable - 就像您可以通过指针引用函数一样。当然,在实际使用它之前,应检查指针是否为空!