静态库,动态库,静态加载,动态加载,lib,dll,堆…该如何解决

静态库,动态库,静态加载,动态加载,lib,dll,堆……
概念有些模糊。请多讲解或者链接。
WINDOWS在加载DLL时,DLL有堆?
C++运行库的静态版本,动态版本……
等等等等^
C++运行库的动态版本EXE和DLL公用一个堆?
lib也可以是动态库~?
头都大了

------解决方案--------------------
DLL应该没有属于自己的堆,CRT库即C RunTime Lib,就是你所说的运行库,DLL或者EXE都会加载,加载方式有静态链接方式和共享方式,就是你所说的静态版本和动态版本,静态版本有独立的堆,共享版本共用一个堆。LIB文件有2种,静态lib将导出声明和实现都放在lib中。编译后所有代码都嵌入到宿主程序   动态lib相当于一个h文件,是对实现部分(.dll文件)的导出部分的声明。编译后只是将导出声明部分编译到宿主程序中,运行时候需要相应的dll文件支持。
说错了请楼下纠正。
------解决方案--------------------
探讨
我是想问DLL是动态链接库。
DLL又如何静态链接……,以及它是如何静态链接的。。。
还有就是静态库和静态链接是一个概念?