aix使用g++编译时一个stl string的问题
来源:互联网 发布:淘宝阿狸下单截图 编辑:程序博客网 时间:2024/05/16 04:36
当好不容易解决了异常抛出不捕捉等问题之后,我在aix上又碰到了新的问题,同样的代码在linux下运行无误,但在aix下,总是出现core dump,每次core dump的位置均不一样,但是都出现在stl string相关的处理上。并且此问题大部分时候都要程序较长时间运行才会出现,大约要一个小时,处理数据10万条以上。
花费了近一周的时间调试和在网上查找资料,猜测可能是由于string拷贝时的引用计数在多线程下出现问题,导致string在尚在使用时提前析构。于是把公司基类中封装的字符串类重载的等号由调用stl string的等号改为使用assign进行拷贝,经测试问题解决,程序core dump的情况消失了。
令人不解的是,仔细检查了多线程的地方,并发的地方都进行了正确的加锁,很难理解会有引用计数失效的问题,但是如果不是这样的解释,为什么这样的改动能够解决问题?答案对我来说完全成谜了,希望有人有更好的答案。
- aix使用g++编译时一个stl string的问题
- AIX上使用gcc和g++的一个编译问题的解决
- AIX使用g++编译的程序使用异常时的问题
- aix 使用g++编译c++程序的编译选项 -- linux到aix移植经验
- 一个使用STL::string时遇到的诡异bug
- stl::string 使用问题
- STL String的使用
- gcc/g++ 编译时的一个优化
- STL map使用时应注意的一个问题
- AIX cics程序编译 ERZ057001E的问题
- 使用g++编译一个简单的cc文件
- stl string的COW问题
- AIX系统编译问题
- AIX编译运行问题
- 使用STL时的问题
- aix无法创建2G以上大文件的问题
- STL------string的简单使用
- STL string容器的使用
- ios --百度地图
- redis学习笔记
- 捕获Home键以及会遇到的bug
- vb.net Dateset单元格重载(网上重载修改后结果)
- Microsoft 已经承认的错误:RICHEDIT控件不响应WM_KILLFOCUS、EN_KILLFOCUS事件函数
- aix使用g++编译时一个stl string的问题
- 32位操作系统是什么意思?
- CListCtrl表格项的渲染
- IOS--百度地图API(BaiTumapAPI应用)2
- Flex ModuleLoader向Module(模块)传递参数实例
- 赵雅智_java GUI事件处理
- js操作html表格
- 什么是BADI,如何从SAP中查找BADI?
- maven central中国镜像