定义:
#include "stdafx.h"
#ifdef _MANAGED
#pragma managed(push, off)
#endifBOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
 )
{
    return TRUE;
}#ifdef _MANAGED
#pragma managed(pop)
#endif
//定义函数extern "C" __declspec(dllexport) double Add(double a,double b)
{
return a+b;
}
调用:
#include "stdafx.h"
#include <Windows.h>
#define DLLPATH "D:\\DLL1.dll"typedef double (*DllFun)(double a,double b);HINSTANCE hDLL = NULL;               // Handle to DLL,Dll句柄
int _tmain(int argc, _TCHAR* argv[])
{
// TODO: Add your initialization code here
hDLL = GetModuleHandle(_T(DLLPATH));
if(!hDLL)
{
hDLL = LoadLibrary(_T(DLLPATH));
if (hDLL != NULL)
{
printf(("DLL 加载成功!\n"));
//获取DLL中的方法
DllFun AddFun;
AddFun=(DllFun)GetProcAddress(hDLL,"Add");
double addResult=AddFun(1,2);
printf("Result %d\n",addResult); }
else
{
printf(("DLL 加载失败!\n"));
} }
FreeLibrary(hDLL);
getchar();
return 0;
}在 AddFun=(DllFun)GetProcAddress(hDLL,"Add"); 这句中AddFun获取不到地址! 求助各位,万分感谢!