2011-04-28 37 views
0

我用了XCode開發的應用程序爲iPad,在C++iPhone的代碼優化問題

代碼寫入當我使用優化級(無-O0)的應用程序運行正常。當我使用優化級(最快,最小的-Os)應用程序將崩潰一個指針指向一個無用的地址?

什麼問題?

謝謝!

+0

您需要發佈符號化的應用程序崩潰日誌,以便我們可以指引您朝着正確的方向發展。另外,當編譯器進行優化時,它將刪除感覺不被調用的方法。 – 2011-04-28 07:55:30

回答

0

您在代碼中存在一個錯誤;某處,您將依靠未定義的行爲。在某些情況下,這種事情可能只會導致問題,例如更改編譯器標誌。

你將不得不調試你的代碼。

+0

有什麼樣的問題?你能舉一些例子嗎?感謝 – Alex 2011-04-28 07:50:56

+0

啓動您的編譯器警告很可能會暴露幾個潛伏的錯誤和/或需要改進的地方。 – justin 2011-04-28 07:55:02

+0

@Alex:它可以是任何數量的東西。您可能會覆蓋一個數組並破壞堆棧中的某些內容。或者在堆上。您可能正在使用無效的類型別名。或者是其他東西。我建議作爲第一個練習,嘗試用Valgrind運行你的程序;這應該消除一整類問題。 – 2011-04-28 08:03:35