dllTest.cpp
extern "C" int _declspec(dllexport) add(int a,int b)
{
return a+b;
}
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
dllAPP.cpp
int _tmain(int argc, _TCHAR* argv[])
{
HINSTANCE hDLL;
typedef int(*addfunc)(int,int);
addfunc ADD;
hDLL = LoadLibrary(_T("dllTest.dll"));
if(hDLL)
{
cout<<"load DLL success..."<<endl;
ADD = (addfunc)GetProcAddress(hDLL,"add");
if(ADD)
{
cout<<"resolve OK..."<<endl;
int resault;
resault = ADD(10,10);
cout<<resault;
}
else
cout<<"reslove failed..."<<endl;
FreeLibrary(hDLL);
}
else
{
cout<<"load DLL failed..."<<endl;
}
return 0;
}