@ DLL
extern "C" __declspec(dllexport) double SquareRoot(double d);
@ caller
typedef double (SQRTPROC) (double);
SQRTPROC* pFunc;
HMODULE hMod = ::LoadLibrary(_T("xxx.dll"));
if(hMod)
{
pFunc = (SQRTPROC*)::GetProcAddress(hMod, " SquareRoot ");
if(pFunc)
double d = (*pFunc)(1.0);
}