静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,
lib
中的指令都全部被直接包含在最终生成的
EXE
文件中了。但是若使用
DLL
,该
DLL
不必被包含在最终
EXE
文件中,
EXE
文件执行时可以“动态”地引用和卸载这个与
EXE
独立的
DLL
文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。动态库就是在需要调用其中的函数时,根据函数映射表找到该函数然后调入堆栈执行。