绪论
我们在各自的电脑上写下代码,得明白我们代码究竟是如何产生的,不想了解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、可读性差,容易出错。