用std的容器做接口或参数应注意的问题
来源:互联网 发布:编程初级教学书 编辑:程序博客网 时间:2024/06/06 15:51
案例:
接口里有一个回调函数的参数,是类,里面有成员变量是vector类型,该接口以dll提供。
老是crash这个接口的回调里。
跟踪之。。。。
发现dll里面,sizeof(vector)是20字节,而一出底层,到界面的回调里,同一个地址,sizeof(vector)就成了24字节。
同事查了资料,发现大部分提到了编译选项的问题:迭代器_debug_enabled
遂发现,原来同事提交了debug版的到release目录下调试。
终于更加理解debug和release的区别。debug时,编译器会加入很多调试信息。如果跟release混用,容易出现同一个结构占空间不同的情况,导致内存访问违例
- 用std的容器做接口或参数应注意的问题
- 应注意的问题
- Integer做WeakHashMap的Key应注意的问题
- delete 应用时应注意的问题
- 聚类分析应注意的问题
- jpa 应注意的问题
- 变量应注意的问题
- 指针应注意的问题
- Rails3做Json接口需要注意的问题
- 计算机专业的大学生应注意的问题
- 简历的书写应注意的问题
- 使用std::sort需要注意的问题
- 使用std::string 通过dll接口传递时,应该注意的问题
- C#的方法采用默认的参数时应注意版本问题
- 使用fopen时应注意的问题
- 沟通中应注意的问题
- 使用Sql时应注意的问题
- Java Swing 总结应注意的问题
- [转]Go在谷歌:以软件工程为目的的语言设计
- C语言打印菱形字母阵,程序缩短,缩短,再缩短
- poj 1837 Balance (dp 01背包)
- uboot 中s3c2440 usb ohci 及u盘移植
- 加油写毕设
- 用std的容器做接口或参数应注意的问题
- 素数判断的几种方法代码实现及其复杂度分析
- uvaoj401
- 《实用技巧》——让你的网站变成响应式的3个简单步骤
- 关于搜索引擎及其开发
- JDK和JRE区别
- 指针函数与函数指针的区别
- samba 权限设置
- 直接拿来用!最火的Android开源项目(完结篇)