在运行时链接的dll中访问全局变量

时间:2014-07-26 21:46:20

标签: c++ dll

我需要在运行时访问一些遗留的dll全局变量。我有全局变量定义的头文件

struct CmpSys
   {
    public:
       static const int NAME_LEN = 21;
       char szNam[NAME_LEN]  ;         // user defined system name
   }

全局变量以c ++。dll打包为

CmpSys** gapCmpSys

在我的cpp文件中,我使用

hDEWModelDll = LoadLibrary(L"DEWModel.dll");

(CmpSys**) ptrCmpSys = (CmpSys**)GetProcAddress(hDEWModelDll, "gapCmpSys");

调试器显示ptrCmpSys具有有效地址(非空),但内容完全错误。

如果我写

ptrCmpSys[0]->szNam

我会得到奇怪的字符串。

我该怎么办?

0 个答案:

没有答案