0
使用-qnoweakexp選項鍊接共享庫有什麼優勢或缺點?在AIX上使用-qnoweakexp鏈接
使用-qnoweakexp選項鍊接共享庫有什麼優勢或缺點?在AIX上使用-qnoweakexp鏈接
如果設置了-qnoweakexp,則不會輸出weak symbols,這意味着共享庫將更小(如果它有任何弱符號)。
弱符號是一些標記爲#pragma weak的編譯器,或者編譯器已經決定是弱符號(例如,我認爲標記爲內聯的函數可能被認爲是弱)。 鏈接時,如果出現重複的符號,通常會出現第一個符號,除非它很弱。順序是:先強符號勝,那麼如果沒有強符號,則先弱勝。
-qnoweakexp構建您的共享庫,而不會將任何符號標記爲弱。如果您的應用程序從未實際引用此共享庫中的弱符號,那麼使用此選項是有道理的,因爲它會縮小它的大小。但是,如果您的應用程序實際使用弱符號(函數或變量),那麼顯然這個選項是一個壞主意,因爲符號解析會失敗。