c/c++ debug版本库 和 release 版本库 互用问题
一 背景
在项目中提供了c++的动态库, 但同事在debug中使用时一直奔溃。 所以将问题总结一下。
二 注意点
1 c的 debug 动态库 和 release 动态库 在debug 或 release项目中都可以使用 备注: 不含stl库
2 含有stl的 debug 动态库 和 release 动态库 在项目中不能混用,debug项目用debug库, release 项目用release 库
三 原因
比如std::string 在debug 和 release 环境中的内存大小是不一致的。 如果混用,会出现踩内存奔溃现象。
四 错误表现