探索binutils 工具 上面这个练习为使用 binutils 软件包中的工具提供了良好的背景。我的系统带有 binutils 版本 2.27-34;你的 Linux 发行版上的版本可能有所不同。 [~]# rpm -qa | grep binutils binutils-2.27-34.base.el7.x86_64 binutils 软件包中提供了以下工具: [~]# rpm -ql binutils-2.27-34.base....
binutils包含以下主要工具: ld:链接器,用于将目标文件和库文件链接成可执行文件。 as:汇编器,将汇编语言代码转换为机器代码的目标文件。 objdump:用于显示目标文件的各种信息,如反汇编代码、符号表等。 nm:列出目标文件中的符号。 readelf:显示 ELF(Executable and Linkable Format)文件的信息。
默认值是SUBDIR。--with-build-time-tools=path在给定的path中寻找用于编译Binutils自身的目标工具。该目录中必须包含 ar, as, ld, nm, ranlib, strip 程序,有时还需要包含 objdump 程序。例如,当编译Binutils的系统的文件布局和将来部署Binutils的目标系统不一致时就需要使用此选项。--with-cross-host=HOST这个选...
GNU binutils是一组二进制工具集。包括:addr2line ar gprof nm objcopy objdump ranlib size strings strip. 本文归纳他们的常用法。ar用于建立、修改、提取档案文件(archive)。archive是一个包含多个被包含文件的单一文件(也称之为库文件),其结构保证了可以从中检索并得到原始的被包含文件(称之为archive中的...
binutils 交叉编译binutils 交叉编译 Binutils是一个开源的软件工具集,用于创建、修改和分析二进制文件。它包括一系列的程序,如汇编器、连接器和反汇编器等,可以在多种平台上使用。在本文中,我们将探讨如何使用Binutils进行交叉编译,以便在不同架构的系统之间进行代码移植和开发。 ### 什么是交叉编译? 交叉编译是指在...
一、关于gcc、glibc和binutils模块之间的关系 1、gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器紧密相关的运行库的支持,如libgcc_s.so、libstdc++.so等。 2、binutils提供了一系列用来创建、管理和维护二进制目标文件的工具程序,如汇编(as)、连接...
Binutils工具集中的一些比较常用的工具 addr2line addr2line是用来将程序地址转换成其所对应的程序源文件、代码行以及所对应的函数。 ar ar是用来管理档案文件的,在嵌入式系统开发中,ar主要是用来对静态库进行管理。 ar常用的几个参数总结: c 创建一个档案文件...
binutils是一个GNU开发的工具集,包含了一系列的命令和实用工具,用于处理二进制文件。在Linux系统中,binutils常用于编译、调试和分析可执行文件、目标文件和库文件。以下是几个常用的binutils命令: 1. as:as命令是一个汇编器,用于将汇编语言源代码转换成目标文件。例如,可以使用as命令将汇编语言源文件(.s)转换成目标...
binutils是一套GNU工具集,主要包括了汇编器、链接器和二进制文件处理工具等。它能够处理各种不同的目标文件格式和CPU架构,因此被广泛应用于嵌入式系统和交叉编译环境中。 交叉编译是指在一台主机上编译出在另一种CPU架构下运行的程序。例如,在x86平台上编译ARM平台的程序。由于不同的CPU架构有着不同的指令集和寄存器...
binutils最初由Richard Stallman和其他自由软件基金会的成员开发,旨在提供可靠的工具来处理二进制文件。binutils包含一系列工具,其中最为重要的包括assembler(汇编器)、linker(链接器)、loader(加载器)、objdump(反汇编器)等。这些工具可以帮助开发人员将源代码翻译成可执行文件,并且检查和调试这些二进制文件。