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 ",__FUNCTION__,__FILE__,__LINE__)

  return 0;

}

宏展开下的#、##

# 字符串化

## 连接符号

#define ABC(x)  #x

#define ABC(x)  day##x

原文地址:https://www.cnblogs.com/easy-wang/p/7523776.html