in ?? () from /usr/lib64/libstdc++.so.6 linuxC++string 程序异常崩溃

本文探讨了跨平台代码移植过程中遇到的问题,特别是在Linux环境下运行时出现的段错误。通过分析,发现错误源自于对含有字符串的结构体使用了memset进行初始化。文章深入解释了这一操作不当的原因,并提供了正确的初始化方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天跨平台移植代码完成以后,测试环境跑服务发现windows下正常,linux程序出现崩溃报段错误。
信息如下in ?? () from /usr/lib64/libstdc++.so.6。
查看了下代码发现定义的结构体内部初始化用了memset(this, 0 , sizeof(struct)), 其实这个错误主要原因就是这里 “不要对含有字符串的结构体使用memset”。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值