*只记录流程:
1.静态库制作*
(1)新建静态库高程
(2)新建头文件和源文件进行代码编写
编写源文件和头文件,做一个简单的四则运算
(3)生成解决方案,在工程目录下会生成static_lib.lib文件
(4)新建测试工程,测试静态库是否制作成功,将static_lib.lib文件和static_lib.h文件复制到新的工程文件下。
(5)调用方法
《1》直接在程序运行前包含静态库的.h文件和库文件,运行结果为静态库调用方法(这种调用方法主要是指头文件和lib文件均在当前目录下,相对路径一致,如果采用绝对路径,看下面调用方法《2》)。
《2》
1》附加库目录:主要是lib文件的目录(绝对路径)
2》附加依赖项:主要是lib文件的文件名
3》包含目录:主要是指头文件的绝对路径
4》此时不需要继续添加库文件了,只需要添加头文件即可
2.动态库制作
(1)新建dll工程文件
(2)写头文件和源文件
(3)生成解决方案,会在工程目录下出现多个文件,有用的为dll文件和lib文件
(4)调用
《1》直接将.h、.lib和.dll文件一同拷贝到同一文件下
《2》如果不在同一文件下,同静态下操作,但dll文件必须在当前工程目录下或者上一层目录下的的debug或release文件下。
3.多个函数文件互相套用,但只提供一个主函数接口的情况。
只记录动态库制作情况,静态库类似
(1)同2,新建工程,新建多个函数文件(我建了三个,其中dynamic_dll为主函数,调用其他两个,均在构造函数体内部直接实现)
第二个函数内容,做了一个打印函数
第三个,做一个打印函数和一个模板函数
(2)主函数接口书写,内容和正常单个文件动态库情况一模一样,只展示构造函数内的代码。
(3)生成解决方案,会产生主函数的dll和lib文件
(4)调用规则,类似,有区别的是需要拷贝所有涉及到的.h文件,否则会提示找不到函数名的情况,但使用时,只需要包含主函数的头文件就可以了,所以可以单独建一个文件夹,专门存放头文件,只需要链接一下附加库目录即可,可以整洁一点
运行结果: