你知道 GNU Binutils 嗎?

來源:互聯網
上載者:User
概述

  從事 Linux 開發的朋友們都不可避免地用到一些工具,比如 objcopy、nm、objdump、readelf 等等。其實這一系列的工具,就是所謂的 Binutils,當然 GNU 就表示它們都是可以自由地使用的 GNU 軟體。
  GNU Binutils,是 GNU Binary Utilities 的簡寫,一般簡稱為 Binutils。中文可以翻譯為 GNU 的二進位工具集。顯然,Binutils 是一組二進位工具的集合。也就是說,Binutils 不是指某一個工具,而是指一組工具,並且這些工具都是專門針對於二進位的。注意,這裡千萬不要理解錯了,不是說這些 Binutils 工具只提供二進位檔案,而是說這些工具的目的是用於操作二進位檔案的,而不是針對於文本或者原始碼。
  再說一遍:Binutils 工具是專門用於操作二進位的,而不是用於去操作或者編譯文本、原始碼的。
  在 Linux 環境下,這種二進位檔案主要指 *.o 檔案和 elf 執行檔案。顯然,編譯原始碼的是 gcc,所以 Binutils 不包含 gcc(這是一種簡單的說法,實際上還是有很多關聯的)。 Binutils 工具

  現在我們已經知道,Binutils 是一組工具集合,那到底包含了哪些工具呢。
  Binutils 中比較重要的是 ld 和 as。

ld —— 連結器
將多個目標檔案,連結成一個可執行檔(或目標庫檔案)。

as —— 彙編器
將彙編原始碼,編譯為(目標)機器代碼。

另外還有下面這些相對次要的,但非常實用的工具:

addr2line
將地址轉換為(檔案名稱和)行號的工具,一般主要用於反組譯碼。

ar
用來操作(.a)檔案檔案,比如建立,修改,提取內容等

c++filt
Filter to demangle encoded C++ symbols

dlltool
Creates files for building and using DLLs

gold
一個新的,速度更快的,只針對於ELF的連結器(可能還不是很成熟穩定)。

gprof
Displays profiling information

nlmconv
Converts object code into an NLM

nm
列出目標檔案中的符號

objcopy
拷貝並翻譯(轉換)檔案,可用於不同格式的二進位檔案的轉換。

objdump
顯示目標檔案中的資訊。

ranlib
Generates an index to the contents of an archive

readelf
顯示 ELF 格式的(目標)檔案的資訊。

size
顯示目標檔案或(.a)檔案檔案中的節(section)的大小。

strings
顯示檔案中的(可列印)的字串資訊。

strip
去除符號。一般用來把可執行檔中的一些資訊(比如 debug 資訊)去除掉,以實現在不影響程式功能的前提下,減少可執行檔的大小,減少程式的空間佔用。

windmc
A Windows compatible message compiler

windres
A compiler for Windows resource files

官網:http://www.gnu.org/software/binutils/

文檔下載:http://download.csdn.net/download/luckydarcy/10016030

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.