2016-07-28 79 views
0

我正在調試一個問題,只有當編譯代碼時使用-O3編譯,而不是使用g ++編譯-O1優化級別。代碼的客戶端由我的團隊擁有,但我們調用的函數由另一個團隊擁有並在共享庫內交付。當我們的代碼用-O1編譯並調用函數時,它就可以工作。但是當我們的代碼用-O3編譯並調用函數時,函數會給出我們作爲參數傳遞的結構的有效性的錯誤。你能鏈接用不同優化級別編譯的目標文件嗎?

我想知道是否有可能來自編譯共享庫與我們的客戶端代碼時使用的不同優化級別。

回答

3

不同的優化級別是完全合法的。最有可能的原因是,你有內存泄漏,並且代碼的行爲與不同的優化有所不同。

相關問題