[英]Optimizing weak symbols lookup
如果您曾經嘗試在任何C ++程序上使用nm實用程序,則可能已經注意到許多符號被標識為“ V”或“ W”。 兩者都是不同類型的弱符號。
現在,在可執行文件中包含大量的弱符號是不好的,因為在運行時動態鏈接器將嘗試全部解決它們。 我當時認為鏈接可執行文件時通過執行簡單約定可以節省大量時間:
對於我來說,這種破解似乎很安全,因為:
在嘗試與binutils開發人員討論此問題之前,我是否會遺漏一個巨大的錯誤?
我看不到任何會阻止您描述的內容的內容。
但是,我確實想知道這是否值得做。 而且我很確定這也是您的“ binutils開發人員”所想知道的。
因此,我建議您看一些事情:在典型情況下,在可執行文件和動態庫中定義相同符號的頻率是多少?
由於很可能仍然會留下大量未在可執行文件中定義的弱符號,因此您實際上節省了多少時間?
現有程序的一些改進示例,或者至少是“對於應用程序X,平均花費這么多時間平均查找一個弱符號,這是潛在的收益嗎?”的答案。
作為binutils開發人員,這就是我想要的[我不是其中之一,但如果我是,那么]。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.