VC++:
新建---工程---W32 Dynamic-Link-Library 。
建源文件和def文件,加入到工程。
DEF文件内容格式:
LIBRARY DLL库名
EXPORT
函数名
函数名
VC++调用动态库:
/******** 搁浅的贝 ********/
#include<windows.h>
#include<iostream>
#include<string>
#include<io.h>
using namespace std;
//extern "C" typedef int (*MYFUNC)(char*,char*,char*);
typedef void (*VOIDFUNC)();
HINSTANCE TESTDLL;
VOIDFUNC voidfunc=NULL;
int init()
{
TESTDLL=LoadLibrary("Da.dll");
if(!TESTDLL)
{
MessageBox(NULL,"LoadLibrary Error",NULL,NULL);
return -1;
}
MessageBox(NULL,"LoadLibrary OK",NULL,NULL);
voidfunc=(VOIDFUNC)GetProcAddress(TESTDLL,"show");
if(!voidfunc)
{
MessageBox(NULL,"Get Error",NULL,NULL);
return -1;
}
return 0;
}
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
if(init())
{
return -1;
}
(*voidfunc)();
FreeLibrary(TESTDLL);
return 0;
}