1、非MFC动态库,直接用C语言写的DLL,其导出函数是标准的C接口,能被MFC和非MFC编写的应用程序调用。
2、常规DLL。是用MFC类库编写的。
3、扩展DLL。由MFC的动态链接库版本创建,且只能被使用MFC类库编写的应用程序调用。
链接动态库到应用程序有隐式链接和显式链接。
1、隐式链接:在应用程序被加载运行时,由Windows自动加载这个应用程序将要用到的DLL。
属性→链接器→附加依赖项→添加需要用到的 xx.lib 然后添加.h文件的引用即可。
extern int add(int x, int y);
2、显示链接:在应用程序运行到某条语句时,引用程序自己通过专门的函数调用动态链接库。
typedef int(*lpAddFun)(int, int);
HINSTANCE hDll;
lpAddFun addFun;
hDll = LoadLibrary("AddNum.dll");
if (hDll != NULL)
{
addFun = (lpAddFun)GetProcAddress(hDll, "add");
if (addFun != NULL)
{
m_Result = addFun(m_NumL, m_NumR);
}
FreeLibrary(hDll);
}