原因:

如果任何STL类的实现中使用了静态变量(我们无从得知但map、string存在此问题),且
编译dll时,vc的运行库设置为MT或MTd,会静态链接VC的运行时库,这会导致采用静态链接的方式将导致生成的目标模块拥有独立的堆栈空间。即此静态变量在dll中有独立的一份,在任何加载此dll的exe中,也有独立的一份。