Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16111
  • 博文数量: 12
  • 博客积分: 495
  • 博客等级: 下士
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-07 21:19
文章分类

全部博文(12)

文章存档

2011年(1)

2010年(11)

我的朋友
最近访客

分类: LINUX

2010-08-12 10:02:25

a.out的来源
用过linux的都知道,在linux下编译链接程序,如果不加-o参数,生成的binary代码的名字都是默认的a.out。一不小心,a.out还会覆盖上次其他code生成的binary代码。

a.out是"assembler output"的缩写格式,代表汇编程序输出。在较早版本的类unix系统中,a.out是一种输出格式,用于可执行文件,目标文件和共享库。早期的 PDP-7系统上没有链接器,程序的创建过程是先把所有源文件连接成一个文件,然后进行汇编,产生的汇编程序保存在a.out中。这样a.out是名副其实的汇编输出,但到PDP-11之后,人们为其编写了链接器,程序的创建是先编译然后链接输出保存到a.out中,这时a.out其实已经是链接输出了,但输出的可执行文件仍然延续这个命名习惯。

Unix中的可执行文件用一种特殊的方式加上标签,这样便于系统确认它们的属性。普遍采用的方式是使用独特的数字,这些数字也被称为“神秘”数字。一个例子是,Unix文件系统中的superblock就是用下面的数字做标签:

#define FS_MAGIC 0x011954
阅读(280) | 评论(0) | 转发(0) |
0

上一篇:iptables

下一篇:日语中的道歉

给主人留下些什么吧!~~