C 语言编程机制

C语言的编程过程涉及编译器将源文件转化为中间文件,然后链接器整合中间文件、启动代码和库文件形成可执行文件。模块化的编译允许独立更新和编译单个模块,启动代码作为程序与操作系统的桥梁,而目标代码包含了机器语言但不包含库函数的实际代码,这些由链接器按需从库文件中提取。
摘要由CSDN通过智能技术生成

C 语言编程机制主要分为两步进行:

  1. 利用 编译器 将各个源文件编译为 中间文件.
  2. 利用 链接器 将各个 中间文件启动代码库文件 3 部分合并成一个文件, 即 可执行文件.

这种分而治之的方式方便对程序进行模块化, 可以独立编译单独的模块, 稍后再用链接器合并已经编译的模块. 如果只更改某个模块, 不必因此重新编译其他模块.

如图:
C 语言编程机制
中间文件有多种形式, 最常见的是目标代码文件, 即把源文件转换为机器语言代码, 并存放在目标代码文件中, 简称目标文件.

如图:
在这里插入图片描述
启动代码充当程序和操作系统之间的接口, 若操作系统相同则所需的启动代码相同.

目标代码是针对不同 CPU 去编译生成的, 在源代码相同的前提下, 若 CPU 相同则目标代码相同.

目标代码, 库代码, 启动代码和可执行程序都是机器语言代码.

目标代码不包含库函数的代码, 只包含要使用某个库函数的指令. 库函数的真正代码储存在库文件中.

库文件中的库函数代码是其目标代码, 即已经编译过的. 链接器只会把程序要用到的库函数的代码提取出来.

一些系统分别运行编译程序和链接程序, 一些系统中编译器自动启动链接器, 用户只需要给出编译命令.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值