Я изо всех сил пытался исправить некоторые ошибки в нашей игре. В игре используется порт Android Irrlicht и Bullet.Android Irrlicht Bullet случайная ошибка управления памятью
Этот же код был протестирован на ОС X и Windows без каких-либо проблем. Однако, когда мы портировали код на Android NDK и теперь получаем случайные сбои. Большинство сбоев находятся в libc.so
, что, вероятно, является чем-то вроде nullpointerexception. Мы не используем scenenode->remove()
в нашем коде, а не smgr->addToDeletionQueue
.
Авария настолько случайна, что она встречается в следующих утверждениях.
libc.so
smgr->drawall()
stepsimulation
в пулю.
Ошибка возникает 90% времени, когда мы выгружаем уровень и загружаем следующий уровень или перезагружаем уровень. Сначала мы сомневались в компиляторе и использовали stlport. Должна ли поддержка библиотеки?
Я уверен, что информация, которую я предоставил, очень мало, чтобы угадать проблему. Но поскольку тот же игровой код отлично работал на других платформах, я просто хотел убрать свои сомнения по поводу различий, связанных с компилятором.
Простой malloc
, а затем delete
в android ndk сбой при удалении. Поэтому я хотел бы лучше понять, что то, что мы пытаемся исправить, - это глупая проблема, связанная с компиляторами.