动态导入DLL
一般的DLL都会有对应的导入库,方便程序静态载入动态链接库,否则的话,你可能就需要自己动态导入了。
导入过程:
1.LoadLibrary 调入DLL文件,然后在手工GetProcAddress获得对应的函数了。
2.有了导入库,你就只需要链接导入库后,按照头文件函数接口的定义,声明调用函数就可以拉。
HINSTANCE hinstall;
typedef VOID (*DLLPROC)(LPCTSTR/*函数参数*/);
DLLPROC HelloWorld;
hinstall=LoadLibrary("sampleDLL.dll");
if (hinstall!=NULL)
{
HelloWorld=(DLLPROC)GetProcAddress(hinstall,"FunName");
if (HelloWorld!=NULL)
{
HelloWorld(HelloWorld);
FreeLibrary(hinstall);
}
}
当使用的函数很多的时候,必须定义很多的函数指针,还得判空.........