定义
动态链接库(DLL):在程序运行的时候,连接库,程序发布的时候,还需要将库一并打包,不然别人用不了。
静态链接库:在程序编译的时候,链接库,就是把库的代码去全部包含到文件中,将文件一次性发给别人,别人就能用
优点
如果某个库需要更新,那么静态链接库需要把文件全部更新,因为库包含在文件里面,而动态链接库只需要更新库即可,因为库和文件是分开的
创建
文件>>>>>新建>>>>>搜索dll,创建动态链接库文件
最开始直接运行,是不能运行的,动态链接库怎么能直接运行,它只是一个库
我们给它加上函数
int ave(int a, int b)
{
return (a + b) / 2;
}
写好后,我们还需要把函数进行导出,如果不导出,别人就无法知道我们这个库里有哪些函数
,也就无法使用这个库,所以要导出
第一种方法__declspec (dllexport)
extern "C" __declspec (dllexport)int ave(int a, int b)
{
return (a + b) / 2;
}
以C风格进行导出,因为如果以C++风格进行导出,就会对生成的函数名矫正
但同时,要在头文件里声明一下这个函数
dll.h文件