动态库的创建及调用

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

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容