2014-03-27 61 views
8

任何人都可以請我解釋一下Linux中剝離的和未剝離的二進制文件之間的實際區別是什麼?在Linux中剝離的二進制文件和非剝離的二進制文件之間的區別

經過一番搜索後,我發現非剝離的二進制文件包含調試信息和剝離的二進制文件。

+1

看起來好像你在Google搜索時得到了你的答案。你還需要知道什麼? – Barmar

+0

@Barmar這是現在Google上的最佳答案。 – starbeamrainbowlabs

回答

5

雖然您已經從Google找到您的答案。只要說明一下,未剝離的二進制文件中就包含內置的調試信息。因此,如果您使用gcc's -g標誌編譯可執行文件,它將包含調試信息。儘管帶區二進制文件通常會從exe文件中刪除這些調試信息,而這些信息不是執行所必需的,從而減小了exe文件的大小。

+0

感謝您的回覆。 那麼,如何從使用gcc的-g標誌編譯的可執行文件中刪除調試信息? – Droider

+1

@Droider: - strip是可以在已編譯的目標文件上運行的東西。它還具有各種命令行選項,您可以使用它們來配置哪些信息將被刪除。例如,-g僅剝離gcc -g添加的調試信息。 gcc -s:從可執行文件中刪除所有符號表和重定位信息。 strip:丟棄來自目標文件的符號。 –

相關問題