vs 动态库,静态库使用及制作

静态库
生成静态库:
1.创建Win32项目。
在这里插入图片描述
2.选择“静态库”项目,取消勾选“预编译头”。
在这里插入图片描述
3.修改项目属性。选择“MTd”。
在这里插入图片描述
在这里插入图片描述
5.写代码。
在这里插入图片描述
6.编译生成
编译通过后,去相应的文件夹下找到对应的“.h”和“.lib”文件,本实例是:“MyMath.h”和“StaticLib.lib”。将这两个文件交给别人来使用就可以了。
在这里插入图片描述
7.使用静态库
新建一个项目,将“MyMath.h”和“StaticLib.lib”复制到项目文件夹中。并连接。
在这里插入图片描述

动态库
1.创建Win32项目。在这里插入图片描述
2.选择 DLL 项目

在这里插入图片描述
3.修改项目属性,MTD,不使用预编译头
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.写代码。相比静态库,动态库需要写的代码要多出一部分,即:使用__declspec(dllexport)和__declspec(imexport)声明动态库的导入和导出。通常由作者在头文件中使用条件编译并提供该头文件,使用者直接包含该头文件即可。

说明:如果动态库需要兼容C语言,请加上extern“C”声明,这将使用C风格编译。

例:extern “C” class DLL MyMath{…}
在这里插入图片描述
7编译通过后,去相应的文件夹下找到对应的“.h”、“.lib”和“.dll”文件(比静态库多出“.dll”文件),本实例是:“MyMath.h”、“DynamicLib.lib”和“DynamicLib.dll”。将这三个文件交给别人来使用就可以了。

使用动态库:
新建一个项目,将“MyMath.h”、“DynamicLib.lib”和“DynamicLib.dll”复制到项目文件夹中。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Fengfgg/article/details/112571964