C语言的编译一般有三个步骤:
gcc -E -o a.e a.c
预编译a.c文件,生成的目标文件名为a.e
预编译就是将include包含的头文件内容替换到C文件中,同时删除代码中没用的注释
示例:
//main.c
#include <stdio.h>
#include "sum.h"
int main(){
int m = 6;
int n = 5;
int result = sum(m,n); printf("hello\n%\n",result);
//sum.h
int sum(int x,int y);

运行之后结果为:

第一步就是这样的啦!
2 . 编译
gcc -S -o a.s a.e
将a.e翻译成一个ASCII汇编语言文件a.s.
3 .链接
gcc -o a a.s
这行命令告诉gcc对源程序a.o进行链接,生成可执行程序a
gcc 没有任何参数,表示就是链接

GCC编译器的基本选项如下表:
| 类型 | 说明 | 
| -E | 预处理后即停止,不进行编译、汇编及连接 | 
| -S | 编译后即停止,不进行汇编及连接 | 
| -c | 编译或汇编源文件,但不进行连接 | 
| -o file | 指定输出文件file | 
C语言的include头文件
头文件的注意事项:
原文:http://www.cnblogs.com/zhangShanGui/p/4912135.html