静态库
生成静态库:
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”复制到项目文件夹中。