程序运行分为四步:
.c文件生成一个.i文件,称为预处理
.i文件生成.s文件,称为编译
.s文件生成.o文件,称为汇编
.o文件生成可执行文件,称为链接
指令:gcc -o hello.i hello.c -E(只让gcc进行预处理)
.i文件尾端为main函数。
预处理:
1.展开了头文件
2.宏定义替换(单纯将字符串替换了而已)
宏可以有函数的功能,例:#define N(n) n*10 >> int b = N(10)
宏定义作为函数功能时,不考虑数据类型
typedef关键字
给一个变量类型起别名
例:typedef unsigned long size_t,使得变量有更好的可读性。
typedef具有作用域。