WLONG724 2013-12-19 15:07 采纳率: 0%
浏览 2202

C++累实现的DLL动态使用时GetProcAdress返回0

大家好,我使用C++类做成DLL,静态调用都成功了,但是动态调用时GetProcAdress一直返回0.DLL已经加载成功了。
DLL头文件:
namespace MathFuns
{
class MyMathFun
{
public:

    //return a + b
      _declspec(dllexport) double Add(double a, double b);

    //return a - b
     _declspec(dllexport) double Subtract(double a, double b);

    //return a * b
     _declspec(dllexport) double Multiply(double a, double b);

    //return a / b
     _declspec(dllexport) double Divide(double a, double b);
};

}

Dll调用CPP
int main()
{
double a = 10, b = 0;

typedef double (*pAdd)(double a, double b);

HINSTANCE  hDll = NULL;

hDll = LoadLibrary(L"MathFuncsDll.dll"); 

if(NULL == hDll)
{
    cout << "hDll is null!" << endl;
}

pAdd Add = (pAdd)GetProcAddress(hDll, "Add");
if(NULL == Add)
{
    // handle the error
    FreeLibrary(hDll);
    cout << "GetProcAddress Err! " <<  GetLastError() <<endl;
    Sleep(INFINITE);
}

cout << " a + b = "<< Add(a, b) << endl;

Sleep(INFINITE);

return 0;

}

执行后会出现:GetProcAddress Err! 0
麻烦大家帮我看下,谢谢了!

  • 写回答

2条回答 默认 最新

  • shiter 人工智能领域优质创作者 2015-01-19 03:45
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置