在生成android版本时候出现的蛋疼问题Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1),

本文讨论了一个在C++中遇到的问题,即全局变量在函数外赋值时引发SIGSEGV错误。通过将全局变量的定义移至头文件并在构造函数中初始化,成功解决了此问题。

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

01-11 19:47:57.153: A/libc(27675): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 27675 (com.bs.game)


出现这个问题我查了好久,在xcode上编辑以及跟windows上编辑都没有报错,查了好久

这个错误是因为我在cpp中定义了一个内部全局变量,我以为能在函数外部给它付好值,结果并不是我想的那样,就一直报题目那个错误

如下

std::string path = CCFileUtils::sharedFileUtils()->getWritablePath();我写在了函数外

所以报的错,最后我的修改时在.h中定义全局path 然后再到 函数外边给他付空值,再到构造函数里面给他付以上写法的值,果然就成功了

如下DataControl是我自己的类

std::string DataControl::path = "";
DataControl::DataControl(void)
{
 path = CCFileUtils::sharedFileUtils()->getWritablePath();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值