簡體   English   中英

替換GCC中的“fvtable-gc”

[英]replacement for “fvtable-gc” in GCC

是否有替換GCCv4.7.1中的'fvtable-gc'選項(GCCv3.x支持)? 我想在鏈接過程中刪除未使用的虛函數。

fvtable-gc為vtable和虛函數引用發出特殊重定位,以便鏈接器可以識別未使用的虛函數,並將引用它們的vtable插槽清零。 這對於-ffunction-sections和-Wl,-gc-sections最有用,以便也丟棄函數本身。

看起來這個功能太多了,所以它已經在幾年前刪除了。 我認為沒有相應的替代品。

雖然我還沒有找到官方聲明,但有幾條評論說fvtable-gc至少在GCC 3.x系列中被打破,可能更早。 例如(來源:cris.h;聲稱是GCC的一部分)

...當從-fvtable-gc中刪除錯誤時(-fforce-addr在tinfo.cc中導致無效的.vtable_entry asm,並且在GCC 3.0-pre中沒有任何作用)...

多年以后的今天,編譯器應該更加先進。 也許GCC的整個程序優化器足夠聰明,可以檢測並消除未使用的虛函數,但我不確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM