[cocos2d-x][apk打包][Fatal signal 11][andriod]Eclipse編譯Fatal signal 11報錯-都是字元賦值惹的禍

來源:互聯網
上載者:User

標籤:cocos2d-x   記憶體溢出   apk   解決方案   android   





流程重現:

使用coco2d-x製作了一個2048,在xcode模擬器運行以及在pad上真機調試都是沒有問題的,但是在使用eclipse調試打包android能夠運行,但是進入遊戲之後會在隨機的地方閃退,debug模式報錯為:

10-20 11:48:36.413: A/libc(17408): Fatal signal 11 (SIGSEGV) at 0x68d7b0b8 (code=2), thread 17426 (Thread-7958)

在網上查到關於這個問題的n中說法,包括android版本錯誤等等,最後發現問題是賦值字串導致的記憶體溢出,之所以在ios上運行沒有問題是因為ios分配的記憶體比android要大,

錯誤碼如下:

.hint select;std::string ss;.c std::string ss="平淡無奇";     auto Select2=Label::createWithSystemFont(StringUtils::format("%s",ss.c_str()), "", 30);    this->addChild(Select2);    Select2->setTag(220);this->select=random()%6;            CCLOG("s=%d",select);            switch (this->select) {                case 0:                    ss="平淡無奇";                    break;                case 1:                    ss="左右逢源";                    break;                case 2:                    ss="上天入地";                    break;                case 3:                    ss="烽煙四起";                    break;                case 4:                    ss="莊周夢蝶";                    break;                case 5:                    ss="紅塵往事";                    break;                default:                    break;            }         auto lb=(Label *)this->getChildByTag(220);       lb->setString(ss);

解決方案設定字元數組

代碼

.hint select;std::string ss; char* selectstr[6]=    {"平淡無奇","左右逢源","上天入地","烽煙四起","莊周夢蝶","紅塵往事"};.c std::string ss="平淡無奇";     auto Select2=Label::createWithSystemFont(StringUtils::format("%s",ss.c_str()), "", 30);    this->addChild(Select2);    Select2->setTag(220);this->select=random()%6;                   auto lb=(Label *)this->getChildByTag(220);      lb->setString(selectstr[select]);


由此可見字串的賦值不能採用常規的“=”否則回引起記憶體溢出問題。

[cocos2d-x][apk打包][Fatal signal 11][andriod]Eclipse編譯Fatal signal 11報錯-都是字元賦值惹的禍

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.