linux下编译工具的用途

25 篇文章 1 订阅

GNU binutils是一组二进制工具集。Binutils是GNU工具之一,它包括连接器、汇编器和其他用于目标文件和档案的工具,它是二进制代码的处理维护工具。包括:addr2line ar gprof nm objcopy objdump ranlib size strings strip.

ar用于建立、修改、提取档案文件(archive)

objcopy可以将一种格式的目标文件转化为另外一种格式的目标文件

file命令用来判别文件类型

objdump用来显示目标文件的信息

gprof被用来测量程序的性能

nm用来列出目标文件中的符号,可以帮助程序员定位和分析执行程序和目标文件中的符号信息和它的属性

 

交叉编译工具链是一个由编译器、连接器和解释器组成的综合开发环境,交叉编译工具链主要由binutils、gcc和glibc 3个部分组成。建立交叉编译工具链是一个相当复杂的过程,如果不想自己经历复杂繁琐的编译过程,网上有一些编译好的可用的交叉编译工具链可以下载,但就以学习为目的来说读者有必要学习自己制作一个交叉编译工具链。步骤如下:

构建交叉编译器的第一个步骤就是确定目标平台。本章的目的是讲述建立基于ARM平台的交叉工具链,所以目标平台名为arm-linux-gnu。
方法一  分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交叉编译工具链。方法二  通过Crosstool脚本工具来实现一次编译生成交叉编译工具链。方法三  直接通过网上(ftp.arm.kernel.org.uk)下载已经制作好的交叉编译工具链(没有灵活性,所以构建所用的库以及编译器的版本也许并不适合你要编译的程序)。

编译器需要通过系统内核的头文件来获得目标平台所支持的系统函数调用所需要的信息。对于Linux内核,最好的方法是下载一个合适的内核,然后复制获得头文件。需要对内核做一个基本的配置来生成正确的头文件;不过,不需要编译内核。

 

Crosstool是一组脚本工具集,可构建和测试不同版本的gcc和glibc,用于那些支持glibc的体系结构。

来自:构建ARM Linux交叉编译工具链 详解(http://linux.chinaunix.net/techdoc/develop/2008/04/11/991424.shtml

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值