我一直在努力修復我們遊戲中的一些最終的錯誤。遊戲使用Irrlicht和Bullet物理的Android端口。Android Irrlicht子彈隨機內存管理崩潰
相同的代碼是在OS X和Windows試過沒有任何問題。但是,當我們將代碼移植到Android NDK並且現在發生隨機崩潰時。大多數崩潰在libc.so
這可能是有點nullpointerexception。我們在代碼中不使用scenenode->remove()
,而使用smgr->addToDeletionQueue
。
崩潰是如此隨機,以至於它在下面的語句中出現。
libc.so
smgr->drawall()
- 子彈
stepsimulation
。
當我們卸載一個級別並加載下一級別或重新加載級別時,發生錯誤的時間爲90%。我們首先懷疑編譯器和使用stlport。應該提高圖書館的幫助
我相信,我所提供的信息是很少想這個問題。但是由於相同的遊戲代碼在其他平臺上運行良好,我只想澄清我對編譯器相關差異的懷疑。
簡單malloc
,然後在Android的NDK崩潰delete
在刪除。所以我想更好地理解我們正在努力解決的問題是與編譯器有關的一個愚蠢問題。