超级全面的文章:
https://wenku.baidu.com/view/5307beff7c1cfad6195fa7fd.html
https://www.jb51.net/article/134027.htm

_declspec(dllexport)
动态链接库中定义有两种函数:导出函数(export function)和内部函数(internal function)。
导出函数可以被其它模块调用,内部函数在定义它们的DLL程序内部使用。
对于生成的lib文件有如下解释:
如果有 dll 文件, 那么 lib 一般是一些索引信息, 记录了 dll 中函数的入口和位置,
dll 中是函数的具体内容;
如果只有 lib 文件,那么这个 lib 文件是静态编译出来的,索引和实现都在其中。使用静态编译的 lib 文件,在运行程序时不需要再挂
动态库,缺点是导致应用程序比较大,而且失去了动态库的灵活性。
dll和lib的使用:将上面生成的makeDLL.lib文件放到项目的存放代码的路径下,makeDLL.dll放到项目中生成exe文件的Debug文件夹中。
使用:将.lib和.dll,.h文件放到测试工程中:工程中添加头文件.h;添加.lib到资源文件。就可以调用dll中定义的函数了。
https://blog.csdn.net/lc22xytcedu/article/details/50251265
https://www.sogou.com/link?url=DOb0bgH2eKh1ibpaMGjuy1hMpgt5eoduEc2nbLi5n8hw7KPKo-CjB1-02CSWigg9T54NhT4_ggU.
https://www.sogou.com/link?url=DOb0bgH2eKh1ibpaMGjuy30XZsuXKwvboijPkWSqZPdomuBEhdSpHkUUZED5fr2ONFT-D5nIwomO4oOua-YE2A..
http://www.cnblogs.com/laogao/archive/2012/12/07/2806528.html
https://www.jb51.net/article/134027.htm
dll生成的两种办法、lib调用的两种办法、只有dll没有lib时候调用办法:https://blog.csdn.net/woquNOKIA/article/details/51820033?locationNum=2&fps=1
dll生成的工程,如果只用.h和.lib,不用dll,程序能编译过,但是运行起来会提示缺少dll文件。