存档文件格式简介.docVIP

  • 13
  • 0
  • 约1.12万字
  • 约 7页
  • 2016-12-19 发布于北京
  • 举报
存档文件格式简介 出于好奇,想了解一下linux的存档文件(*.a)的格式。在网上大概找了一下,没找到比较好的(没细找), 所以想自己摸索一下,把它的文件格式弄清楚。结果发现这个文件的格式竟然那么简单。在这里和大家分享 一下,有错误的地方希望大家指正。 1.存档文件(archive)简介 存档文件(*.a)文件相当于windows的静态链接库,他把很多的目标文件(*.o)文件打包为单一的库 文件。在链接程序的时候,需要用到库里面的函数时,只需在链接时加上-lX ? (X表示库的名字),链接 器会自动得根据要调用函数,找到相应的目标文件,链接到可执行程序中,不需要的目标不会被链接到可执 行程序中。 2.archive文件的格式[参考/usr/include/ar.h中的说明] ? ? archive文件的格式主要保护两个部分,主要是: ? ? 一个头部标志ARMAG, ? ? 多个数据区。 ? ? [头部标志和数据区是我自己为了方便说明起的名字,跟官方的说法应该是有出入的]。 2.1 头部标志 ? ? 头部标志的作用仅用于说明这是一个archive文件 ? ? 在ar.h中定义了两个宏: ? ? #define ARMAG ? !arch\n /* String that begins an archive file. */ ? ? #define SARM

文档评论(0)

1亿VIP精品文档

相关文档