Gcc 警告: warning: dereferencing type-punned pointer will break strict-aliasing rules

今天在ubuntu 下編譯 busybox  的時候,出現了這個警告: warning: dereferencing type-punned pointer will break strict-aliasing rules。

用有道的翻譯結果是:警告:取消對類型指針的引用將打破嚴格的別名規則。

在高優化級別下,不同類型指針之間的強制類型轉換可能會觸發這樣的警告:

在高優化級別下,gcc假定不同類型指針不會指向同一片內存,以加強優化,從而可能導致編譯出不符合原意的代碼。

使用-fno-strict-aliasing,關閉在此類代碼上的優化。

發佈了44 篇原創文章 · 獲贊 11 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章