c语言->机器码的过程:
预处理(gcc -E -o)->编译(gcc -S -o)->汇编(gcc -c -o)->链接(gcc -o)
预处理
将代码中的define 和 include替换成实体码
define和include不是关键字,关键词是在编译过程中处理的。
包含
#include 包含头文件
宏
#define 宏 替换 不会进行语法检查
#define 宏 宏体 宏体要加括号
#define ABC (5+3) 要避免出错必须加括号限制宏体
#define ABC(x) (5+(x))
#ifdef #else #endif 条件编译
宏体当中的# ##
#是字符串化,将宏体字符串化 “ ”
## 连接符号的用法
预定义宏
__FUNCTION__
__LINE__
__FILE__
用法
条件编译
不修改源码,使用gcc编译器快捷定义的方法
编译
常见的是语法错误
链接
将各个.o文件融合生成可执行程序