在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资源文件编译器。