2017-04-06 380 views
0

我試圖ld -s是什麼意思?

$ man ld 

,他們已經提供了-s選項的定義,有點以上我的理解程度。剝離符號意味着什麼?請指定我認爲有用的任何鏈接。謝謝。

+1

https://en.wikipedia.org/wiki/Strip_%28Unix%29 – Tommylee2k

+0

感謝您的鏈接! –

回答

2

ld將多個目標文件鏈接成一個二進制文件。該二進制文件通常包含一個符號表,其中包含程序中使用的所有符號的名稱,類型,大小和地址。例如,當您想要一個較小的二進制文件(在大型程序中,符號表可以包含多個兆字節的符號)或者當您不想泄漏時,有時候可以省略此表有關程序如何實現的信息 - 請記住,符號表包含所有函數和(靜態)變量名稱。

傳統上,strip實用程序用於此目的。 strip接收二進制文件並刪除其符號表以及執行程序時不嚴格需要的其他元數據,例如調試信息。然而,當時鏈接和磁盤IO速度很慢,人們爲鏈接器添加了一個-s(用於strip)選項,以免它首先發出此信息,從而加快了鏈接階段。

+0

非常感謝! –