2016-04-26 138 views
2

我知道如何使用gccln創建共享庫,但是如何在使用對象文件(來自C++或c代碼)作爲輸入時如何使用ld創建共享庫,以及如何交換到新版本庫?如何使用ld創建共享庫?

+1

通過'-shared'? – immibis

+0

大多數人通過'gcc/g ++'使用'ld',它們不直接調用它。 – Galik

+0

「換到新版圖書館」是什麼意思? – 2016-04-26 22:57:52

回答

1

我怎麼只用LD時,我有對象文件(從C++或C代碼)作爲輸入

您可以運行gcc -v -shared ...發現gcc傳遞到ld哪些選項創建一個共享庫。然後您可以直接將相同的參數傳遞給ld,並且最終得到相同的結果。

注:這是 -advised(做到這一點):參數與不同版本的gccld改變,他們改變從一個操作系統版本下。

構建ld的鏈接線很常見,這些鏈接線幾年前曾經是正確的,但不再是。這樣做時引入的錯誤往往是低層次且微妙的,並且超出了大多數程序員的理解和修復能力。