• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 132  文章 - 51  trackbacks - 0
            <2012年7月>
            24252627282930
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(7)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            cocos2d-x

            OGRE

            OPenGL

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            最近調(diào)試手機(jī)游戲 調(diào)試項(xiàng)目OK沒問題 F5運(yùn)行也沒問題 電腦上window平臺(tái)也運(yùn)行正常 結(jié)果安裝到手機(jī)android平臺(tái)上角色就不動(dòng)了,頭立刻就大了,android平臺(tái)和windows平臺(tái)運(yùn)行結(jié)果不一致,加上手機(jī)調(diào)試?yán)щy需要通過日志來判斷運(yùn)行情況,懷疑過跨平臺(tái)配置文件讀取失敗的問題,開始各種懷疑,各種驗(yàn)證...

            后來同事說運(yùn)行打包的release版本也會(huì)出現(xiàn)同樣的問題...

            經(jīng)測(cè)試 調(diào)試時(shí)選擇"運(yùn)行不調(diào)試"或直接雙擊exe文件發(fā)現(xiàn)報(bào)錯(cuò),由此推出F5調(diào)試和雙擊結(jié)果不一致,那這樣的原因很明顯了,原因不外乎這幾條:

            1)變量沒有初始化就直接拿去用了:調(diào)試程序時(shí),強(qiáng)大的VS編譯器會(huì)幫你做一些初始化的工作,將為初始化的變量置“0”,結(jié)構(gòu)變量置為NULL等,但是在雙擊運(yùn)行時(shí),編譯器不會(huì)這么做,因此要注意一些變量記得初始化,而且盡量少用全局變量。
            2)“VS的編譯器是極其牛X的,調(diào)試時(shí)候用的內(nèi)存、堆棧等等和外部運(yùn)行時(shí)候的結(jié)構(gòu)稍有差異,并且正確率更高——事實(shí)也確實(shí)如此”,因此code代碼要有個(gè)良好的習(xí)慣:變量記得一定要初始化!“變量沒賦值的情況下F5,debug和release是有差別的,一個(gè)版本會(huì)清零,另一個(gè)不會(huì)這么做。”
            3)自己申請(qǐng)的內(nèi)存,用完后記得釋放,不然也可能會(huì)引起這類錯(cuò)誤。
            4)不要忽視調(diào)試時(shí)的warning,雖然很多時(shí)候你無視他的存在不會(huì)帶來什么影響,但是某一天你會(huì)被他傷到的,他們指示你程序潛在錯(cuò)誤的“利器”,所以盡量多的將warning消除。


            我的原因就是為角色添加了一個(gè)新成員變量m_bMoveEnable 卻沒有初始化, 在android平臺(tái)有時(shí)候初始化為false, 導(dǎo)致角色出生時(shí)不移動(dòng)這樣嚴(yán)重的BUG

            有人說 bool變量不是會(huì)默認(rèn)初始化為xx么? 是,可能強(qiáng)大的VS會(huì)在你調(diào)試的時(shí)候幫你初始化,那運(yùn)行時(shí)呢? 還有跨平臺(tái)默認(rèn)的初始化都是未知的...

            所以我們要養(yǎng)成初始化的好習(xí)慣,否則現(xiàn)在沒有發(fā)生問題,未來的未來,可能會(huì)導(dǎo)致嚴(yán)重的BUG,而浪費(fèi)我們巨大的時(shí)間去解決,甚至是無從解決...
            posted on 2012-07-31 08:43 風(fēng)輕云淡 閱讀(1417) 評(píng)論(1)  編輯 收藏 引用 所屬分類: C++

            FeedBack:
            # re: C++學(xué)習(xí)筆記02 VS調(diào)試和雙擊運(yùn)行或Release的結(jié)果不一致  2013-03-19 23:54 seagle
            請(qǐng)問,C++編譯后的程序可以在android平臺(tái)上解析執(zhí)行嗎?

            能否說下怎么實(shí)現(xiàn)的?  回復(fù)  更多評(píng)論
              
            久久精品亚洲精品国产色婷| 久久久精品波多野结衣| 久久中文精品无码中文字幕 | 996久久国产精品线观看| 亚洲午夜无码久久久久| 久久毛片一区二区| 久久亚洲日韩看片无码| 麻豆av久久av盛宴av| 2021国内久久精品| 久久香综合精品久久伊人| 狠狠综合久久综合88亚洲| 久久伊人影视| AV无码久久久久不卡网站下载| 久久精品国产精品亚洲| 亚洲精品高清国产一线久久| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 久久亚洲中文字幕精品有坂深雪 | 嫩草伊人久久精品少妇AV| 亚洲精品国产美女久久久| 欧美熟妇另类久久久久久不卡| 久久综合国产乱子伦精品免费| 狠狠色噜噜狠狠狠狠狠色综合久久 | 四虎国产精品免费久久| 久久精品国产亚洲AV不卡| 久久国产欧美日韩精品| 99久久精品久久久久久清纯| 中文字幕精品久久| 久久香综合精品久久伊人| 久久久久久久久久久久中文字幕| 国产精品99久久99久久久| 漂亮人妻被中出中文字幕久久 | av无码久久久久不卡免费网站 | 亚洲国产成人久久综合碰碰动漫3d| 久久99国产亚洲高清观看首页| 久久久久无码中| 久久99国产精品尤物| 久久国产影院| 久久精品国产精品国产精品污| 久久婷婷国产剧情内射白浆| 久久国产亚洲精品麻豆| 一本色道久久HEZYO无码|