DLL也就是动态链接库,使用DLL编程的好处大家应当都知道了吧,可是怎么样来作呢,今天我就来说说。 首先,你要确定你要导出那些个函数,然后你就在你要导出的函数名前加上下面一句话: // 输出函数的前缀 DLL_EXPORT VOID ExportFun() 是不是很简单啊。如果你要导出整个类或者全局变量,你需要这样做: // 输出类的前缀 // 输出全局变量的前缀 完成了这些以后,我们就要在主程序中调用这些个函数了,用下面的方法: HINSTANCE hInst = NULL; if (!hInst) 还记得上面我声明的那个ExportFun()函数吗?我不能直接得到那个函数,但是可以把那个函数的地址取出来。其实函数地址使用起来和函数是一样的。只不过,为了使用方便,需要定义一个函数指针的类型。如果要指向上面的那个ExportFun(),则它的函数指针的类型定义如下: typedef void (CALLBACK* LPEXPORTFUN)(void) 之后需要做的是声明一个指针,然后得到DLL中ExportFun()的地址。GetProcAddress函数的第一个参数是之前得到的DLL的实例句柄,后面一个是DLL中那个函数的函数名。 好了,到这里已经就要大功告成了,还差最后一步,调用那个函数: pFun(); 大功告成!! |
|