runsisi

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  45 随笔 :: 15 文章 :: 26 评论 :: 0 Trackbacks

编译工具链就是编译出所需要的内核,库函数以及应用程序所使用的工具。编译工具主要由以下3部分组成:
binutils:一组开发工具,包括连接器,汇编器和其他用于目标文件和档案的工具
gcc:包含GNU编译器的集合,其中有C和C++编译器
glibc:提供系统调用和基本函数的C库,比如open,malloc,printf等。所有动态连接的程序都要用到它


GNU binutils 是一个二进制工具包,主要包括:

ld-GNU的连接器
as-GNU汇编器

除此之外还包括以下工具:

addr2line -将地址转化为文件名和行号
ar -创建、修改、解压归档文件
c++filt - C++ 关键词过滤器
gprof - 显示总体信息
nlmconv - 将目标代码转换为NLM
nm - 列出目标文件的标记
objcopy - 复制和翻译(编译器翻译)目标文件
objdump - 显示目标文件信息
ranlib - 创建归档文件索引
readelf - 显示ELF 格式目标文件的索引
size -列出目标文件或者归档文件的段长
strings -列出文件中的可打印字符串
strip - 删除标记
windres - Windows 源文件的编译器

这中间的大部分程序都使用Binary File Descriptor library来进行底层处理。很多程序还要用到 opcodes library 来进行机器指令的汇编
和Wintel一样,binutils也被引入到了各种各样的UNIX系统中,它的引入使得GNU系统能够更方便的编译和连接程序。

posted on 2009-03-15 13:04 runsisi 阅读(1053) 评论(0)  编辑 收藏 引用 所属分类: embedded system

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理