打开vs2017点击创建新项目,选择静态库;
在StaticLib.cpp文件下写实现,再创建一个对应的头文件写声明:
新建一个项目,点击属性,配置三条款项:
在需要的项目文件中添加lib对应的头文件,之后使用函数即可:
创建好该项目后,会发现有一个与项目名称相同的h文件和cpp文件,里面写好了基本的代码,只需要在其基础上模仿添加自己的业务代码即可(注意无论是函数还是变量都要有DLL3_API这个宏,表示导出项):
生成代码(注意之后使用dll和生成dll所在的平台要一致,x86或x64)
生成完毕后会在对应文件夹(e.g. DEBUG)下找到dll文件和lib文件:
前三步和使用静态库是一致的,可以理解为动态库是通过这个静态导入库导入的(该导入库仅包含 DLL 文件中存储的函数信息,无具体实现);
如果不想每一次都拷贝dll文件到对应exe路径下,在vs中可以这样设置:
项目->属性->调试->环境
输入 path=dll文件的路径
DLL文件中的函数可以被多个程序共用。因此,借助该功能可以节约内存和磁盘。此外,在对函数的内容进行修正时,还不需要重新链接(静态链接)使用这个函数的程序。
lib一般需要h文件提供api;dll一般需要lib导入库+对应的h文件提供接口。