写了一个非MFC dll,实现平方功能,导出函数如下:
extern "C" __declspec(dllexport) double Square(double d);
在MFC程序中如下显式调用:
typedef UINT (CALLBACK* lpSquare(double);
HINSTANCE hDll;
lpSquare Square;
hDll=LoadLibrary("test");
if (hDll!=NULL)
{
  Square=(lpSquare)GetProcAddress(hDll,"Square");
  if (!Square)
     {
       FreeLibrary(hDll);
     } 
  else
     {
      double tt=Square(2);     -----------------1
      } 
}
else
{
  MessageBox("test","没有找到dll",MB_OK");
}
问题就出在1处,在调试中已经看到调用了dll中函数,并得到了正确的值,但在赋值给tt时,发生错误,不知为什么,请各位大虾执教,多谢了