C语言的编译过程
预处理
gcc-E-o a.i 001.c
编译:
gcc-S-o a.s a.i
汇编:
gcc-c-o a.o a.s
链接:
gcc-o a.o
跟查找头文件的目录
gcc -I
预处理的使用:
#define 宏名 宏体
#define ABC 5+3
#define ABC(x) (5+(x))
#ifdef #else #endif
gcc -DABC - o --> #define ABC
include<stdio.h>
int main()
{
#ifdef ABC
printf("------%s------",__FILE__);
#endif
printf("HelloWorld!/n");
return 0;
}
预定义宏:
__FUNCTION__ : 函数名
__LINE__ :行号
__FILE__ : 文件名
#int main()
{
printf("the %s,%s,%d\n",__FUNCTION__,__FILE__,__LINE__)
return 0;
}
宏展开下的#、##
# 字符串化
## 连接符号
#define ABC(x) #x
#define ABC(x) day##x