GNU Binary Utilities或binutils是一整套的编程语言工具程序,用来处理许多格式的目标文件。当前的版本原本由在Cygnus Solutions的程序员以Binary File Descriptor library(libbfd)所撰写。这个工具程序通常搭配GNU Compiler Collection、make、和GDB这些程序来使用。
刚开始时,这个包内只有几支程序,但后来,由于功能需求近似,陆续加入了GNU汇编器(GAS)和GNU连接器(GLD)。一般来说,这些程序都很简单,大部分的复杂性都存在于Binary File Descriptor library和libopcodes这些库里头。
原来的BFD版本由David Henkel-Wallace和Steve Chamberlain所撰写。Ken Raeburn和Ian Lance Taylor曾维护过。目前则是由Nick Clifton负责维护此版本。至于Linux上的版本,由H.J. Lu在维护。
binutils包含底下这些指令:
as | 汇编器 |
ld | 连接器 |
gprof | 性能分析工具程序 |
addr2line | 从目标文件的虚拟地址取得文件的行号或符号 |
ar | 可以对静态库做创建、修改和取出的操作。 |
c++filt | 解码 C++ 的符号 |
dlltool | 创建Windows 动态库 |
gold | 另一种连接器 |
nlmconv | 可以转换成NetWare Loadable Module目标文件格式 |
nm | 显示目标文件内的符号 |
objcopy | 复制目标文件,过程中可以修改 |
objdump | 显示目标文件的相关信息,亦可反汇编 |
ranlib | 产生静态库的索引 |
readelf | 显示ELF文件的内容 |
size | 列出总体和section的大小 |
strings | 列出任何二进制档内的可显示字符串 |
strip | 从目标文件中移除符号 |
windmc | 产生Windows消息资源 |
windres | Windows 资源档编译器 |
Introduction
This brief manual contains documentation for the gnu binary utilities (GNU Binutils) version 2.22:
This document is distributed under the terms of the GNU Free Documentation License version 1.3. A copy of the license is included in the section entitled “GNU Free Documentation License”.
- ar: Create, modify, and extract from archives
- nm: List symbols from object files
- objcopy: Copy and translate object files
- objdump: Display information from object files
- ranlib: Generate index to archive contents
- readelf: Display the contents of ELF format files
- size: List section sizes and total size
- strings: List printable strings from files
- strip: Discard symbols
- elfedit: Update the ELF header of ELF files
- c++filt: Filter to demangle encoded C++ symbols
- cxxfilt: MS-DOS name for c++filt
- addr2line: Convert addresses to file and line
- nlmconv: Converts object code into an NLM
- windres: Manipulate Windows resources
- windmc: Generator for Windows message resources
- dlltool: Create files needed to build and use DLLs
- Common Options: Command-line options for all utilities
- Selecting the Target System: How these utilities determine the target
- Reporting Bugs: Reporting Bugs
- GNU Free Documentation License: GNU Free Documentation License
- Binutils Index: Binutils Index