超級全面的文章:
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文件。