我需要在运行时访问一些遗留的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
我会得到奇怪的字符串。
我该怎么办?