首先说以下linux中常见的几种文件:

.h - C语言源代码头文件
.c - 预处理前的C语言源代码文件
.i - 预处理后的C语言源代码文件
.s - 汇编语言文件
.o - 目标文件
.a - 静态库文件
.so - 共享库(动态库)文件

查看gcc版本:

gcc -v

编译过程中使用的gcc命令:

编辑 -> 预编译 -> 编译 -> 汇编 -> 链接

1) 编辑: vi hello.c -> hello.c
2) 预编译:gcc -E hello.c -o hello.i      -> hello.i -+
3) 编译: gcc -S hello.i                      -> hello.s | GCC
4) 汇编: gcc -c hello.s                      -> hello.o | 工具链
5) 链接: gcc hello.o -o hello              -> hello -+

gcc生成调试信息:

gcc -g hello.c

其他gcc参数命令:

gcc [选项参数] 文件

-c - 只编译不链接
-o - 指定输出文件
-E - 预编译
-S - 产生汇编文件
-pedantic - 对不符合ANSI/ISO C语言标准的
扩展语法产生警告
-Wall - 产生尽可能多的警告。
范例:gcc -Wall wall.c
-Werror - 将警告作为错误处理。
范例:gcc -Werror werror.c
-x - 指定源代码的语言。
范例:gcc -x c++ cpp.c -lstdc++
-g - 生成调试信息
-O1/O2/O3 - 优化等级

gcc编译多个源文件:

gcc [选项参数] 文件1 文件2 ...

gcc制定头文件搜索路径:

gcc -I

 

posted on 2017-03-30 19:19  北纬395427  阅读(182)  评论(0编辑  收藏  举报