调试遇到的一些问题记录【持续记录】
1.std::vector作为入参,跨dll传输引起的崩溃问题
崩溃现象:监控传入的std变量:
在dll外部时,std::vector_Myval2为std_Container_base0,
在dll内部时,std::vector_Myval2为std_Container_base12
问题原因:1.两个模块的stl实现不一致,例如VC版本不同,编译选项不同,运行时库不同(/MD、/MDd、/MT、/MTd)
相关知识点:1.《Imperfect C++》 第9章 的 9.5. Resource Ownership
2.《程序员的自我修养-链接、装载与库》里面的关于Windows的动态链接库的设计