Stone
导航
BlogJava
首页
新随笔
联系
聚合
管理
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
统计
随笔 - 1
文章 - 0
评论 - 0
引用 - 0
常用链接
我的随笔
我的评论
我的参与
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔档案
2007年4月 (1)
搜索
最新评论
2007年4月17日
《c primer plus》读书笔记——源代码文件、目标代码文件、库文件、可执行文件
我们知道从源文件到可执行文件,C分为两步:编译和链接。
1>编译
编译就是把源代码转换为中间代码。当然了,存放中间代码的文件就叫中间文件。
那么中间文件,或者说中间代码是由什么构成呢?其形式有多种。但是我只知道一种:就是由源代码转换的机器码组成,这种中间文件叫做目标文件。
虽然它和可执行文件一样都是有机器码组成,但是它并不能直接运行。因为它比可执行文件少了两个东东:启动代码(start-up code)和库函数。
2>链接
链接就是把目标代码、相应操作系统的启动代码、库函数三者结合起来行成可执行文件。
(启动代码):
此代码相当于你的程序和操作系统之间的接口。不同操作系统处理程序的方式不同,所以它们的启动代码也不同。
(库)
:
几乎每个c函数都会引用到库函数,目标文件中只有相应函数的引用声明,并没有相应代码。
这种分两步走的做法便于程序的模块化。你可以分别编译各个模块,然后把编译过的模块链接起来。这样如果改变其中一个模块的话,只需要重新编译这个模块,而不需要编译其他模块儿。
posted @
2007-04-17 17:22
Stone 阅读(503) |
评论 (0)
|
编辑
收藏
仅列出标题