动态库的创建及调用

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);

}

你可能感兴趣的:(动态库的创建及调用)