Chinaunix首页 | 论坛 | 博客
  • 博客访问: 346187
  • 博文数量: 105
  • 博客积分: 2730
  • 博客等级: 少校
  • 技术积分: 1110
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-20 12:09
文章分类

全部博文(105)

文章存档

2013年(3)

2012年(2)

2011年(36)

2010年(34)

2009年(6)

2008年(20)

2007年(4)

分类:

2009-01-10 18:55:46

许久不进行c/c++开发了,许久没用vc或gcc了,对文件格式的含义开始混淆了,必须要总结了。
win和elf的对应关系,说其实谁先谁后我真不知道,管它呢。


在linux下,以下介绍各种ELF门下的文件格式:
.o 是“relocatable”文件,即编译后生成的目标文件。
对应于win中的.obj,二进制格式,但是不可执行。


.a 是“archive”文件,使用“ar”命令创建的归档格式,作为静态连接库。可以使用ar -x 命令把.a文件进行释放,一般可以看到很多的.o文件,其实,.a就是一堆.o,作用是一样的。
对应于win中的.lib。

以上格式的文件都是在编译-连接过程中被包含到可执行文件中的。

.so是“shared object”,即共享链接库,不被包含在可执行文件中,在运行是通过系统动态地加载。对应win中的dll。一般动态/共享库的加载按照PATH的路径进行寻找。


阅读(848) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~