c语言学习1

c语言学习1

C语言中的各种后缀名代表的意思:
.a文件代表的是静态库
.c代表c源代码
.h代表c源代码头文件
.i代表的是c源代码(这是被预处理过后的结果)
.o对象文件
.s汇编语言的代码
.so动态库
C语言程序从源代码到生成可执行文件的过程:
c程序源代码(.c文件)
不用预处理的c程序源代码(.i文件)
汇编语言文件(.s文件)
机器语言文件(.o文件)
可执行文件

过程1是预处理阶段,这个阶段主要是根据#开头的命令修改c源文件,主要的工作是:比如#include<stdio.h>命令告诉预处理器读取系统文件stdio.h的内容并且把相应的内容插入到源代码中去,就形成了.i文件。gcc -E a.c -o a.i。

过程2:这个过程是编译阶段,编译器将文本文件.i文件翻译成文本文件.s文件。这个文件是与源文件等效的汇编语言程序。

过程3:这个过程主要是汇编阶段,在这个阶段中汇编器将.s文件编译成机器语言指令就是这里的.o文件。

过程4:这个过程是链接阶段,这个阶段主要就是将程序中的一些库函数用链接器给进行链接(链接过程包括静态链接和动态链接,在这里就不细说了)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值