要点小结:
为了大家共享代码而产生了库,同时也省去了库函数被重复编译的额外开销
WIndows静态链接库lib,动态链接库dll
lib在程序Link时被整体纳入,用则打包带走,不用则无
dll在程序Runtime才被使用
dll的调用分为静态调用和动态调用
动态调用,一般用LoadLibrary装载dll,GetProcAddress获取函数,FreeLibrary释放dll
静态调用,由编译系统完成dll的装载和卸载代码(需要有写dll时生成的引入库lib,此lib中包含dll中各函数偏移地址)
调用小结:
lib -- h文件+lib文件
dll动态调用 -- h文件+dll文件
dll静态调用 -- h文件+dll文件+lib文件(dll导入库)
参考: