在Linux上进行软件开发时,经常会用到一些工具程序,比如readelf、ld、ar、objdum等,这些工具都是GNU Binutils的组成部分。目前GNU Binutils已经把龙芯的LoongArch架构加入了主线支持:

GNU Binutils,是 GNU Binary Utilities 的简写,一般简称为 Binutils,中文可以翻译为 GNU 的二进制工具集。显然,Binutils 是一组二进制工具的集合,也就是说,Binutils 不是指某一个工具,而是指一组工具,并且这些工具的操作对象都是二进制文件。这些工具程序通常搭配GCC、make、和GDB这些程序来使用。

GNU Binutils是一系列二进制工具的集合。主要包括:

  •   ld —— GNU链接器
  •   as—— GNU汇编器

但也包括以下二进制工具:

  •   addr2line:从目标文件的虚拟地址获取文件的行号或符号。
  •   ar:可以对静态库做创建、修改和提取的操作。
  •   c++filt:反编译(反混淆,demangle)C++符号的工具。
  •   dlltool:创建创建Windows动态库。
  •   gold:另一种新的、更快的仅支持ELF的链接器。
  •   gprof:性能分析(profiling)工具程序。
  •   nlmconv:可以转换成NetWare Loadable Module(NLM)目标文件格式。
  •   nm:显示目标文件内的符号信息。
  •   objcopy:复制和转译目标文件。
  •   objdump:显示目标文件的相关信息,亦可反汇编。
  •   ranlib:产生静态库的索引。(和nm -s功能类似)
  •   readelf: 显示ELF文件的内容。
  •   size:列出目标文件或库文件的section大小。
  •   strings:列出文件中可打印的字符串信息。
  •   strip:从目标文件中移除符号信息。
  •   windmc:Windows消息资源编译器。
  •   windres:Windows资源文件编译器