编译器工作过程简介

本文简要介绍了编译器的工作过程,重点探讨了C语言代码如何转化为可执行程序的步骤,并详细讲解了C语言中不同类型的文件。
摘要由CSDN通过智能技术生成

编译器

	负责把人能看得懂的记录了代码的文本文件,翻译成计算机能看懂的二进制文件,有预处理器、编译器、链接器
	
	gcc 是由GNU组织为了编译Linux内核代码而开发的一款免费开源的编译器,默认采用C89标准,-std=gnu99可以设置语法标准
	
    常用参数:(区分大小写)
        -E      显示预处理的结果        会加入到 a.out 文件的头部
        -S      生成汇编代码        生成.s文件
        -c      只编译不链接        .o 目标文件 全都是二进制 链接完才能达成目标效果
        -o      设置编译结果的名字      一般设置同名.i文件
        -I      指定头文件的加载路径        优先度最高
        -l      指定要使用的库文件      -lm libm.so 数学库 就算头文件加了math.dio 不加-lm也无法使用数学函数     -lc已经默认加入
        -Wall   以更严格的编译标准来检查代码,尽可能多的显示警告        例:定义变量并没有使用会报warning
        -Werror 把警告当错误处理        warning->error

C代码变成可执行程序的过程

1、预处理   把源文件翻译成预处理文件
    gcc -E xxx.c    显示预处理结果,但是不生成任何文件
    gcc -E xxx.c -o xxx.i   生成以.i结尾的预处理文件
2、编译     把预处理文件翻译成汇编文件
    gcc -S xxx.i    生成以.s结尾的汇编文件
3、汇编     把得到的汇编文件翻译成二进制的目标文件
    gcc -c xxx.s    生成以.o结尾的目标文件
4、连接     把若干个目标文件合并成一个可执行文件
    gcc a
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值