[英]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.