c语言编译过程

绪论

我们在各自的电脑上写下代码,得明白我们代码究竟是如何产生的,不想了解1,0什么的,但这几个环节必须掌握吧。

我们的代码会经过这4个环节,从而形成最终文件,c语言作为编译语言,用来向计算机发出指令。让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。

预处理, 展开头文件/宏替换/去掉注释/条件编译
gcc test.c -E test.i
编译, 检查语法,生成汇编
gcc test.i -S test.s
汇编, 汇编代码转换机器码
gcc test.s -c test.o
链接 链接到一起生成可执行程序
gcc test.o -o test

在这里插入图片描述
在这里插入图片描述

还有就是要记住下列几种常见预处理宏(是双下划线)

**
__LINE__ 表示正在编译的文件的行号
__FILE__表示正在编译的文件的名字
__DATE__表示编译时刻的日期字符串,例如: "25 Dec 2007"
__TIME__ 表示编译时刻的时间字符串,例如: "12:30:55"
__STDC__ 判断该文件是不是定义成标准 C 程序
我的vs2013不是定义的标准c语言
**

宏函数很好用,是直接展开,在这我顺便说一下宏的好处和坏处。

宏优点:
1、代码复用性
2、提高性能

宏缺点:
1、 不可调试(预编译阶段进行了替换)
2、无类型安全检查
3、可读性差,容易出错。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值