gcc入门(上)

gcc:GNU Compiler Collection的缩写。最初是作为C语言的编译器,现在已支持多种语言。Gcc支持多种硬件平台。
gcc是一个可移植跨平台编译器
gcc还能跨平台交叉编译器。
gcc有多种语言前端,用于解析不同语言
gcc按模块化设计,可以加入新语言和新CPU架构
gcc是自由开源软件。

二、gcc编译和程序的过程
1、预处理 hello.c(源程序)经过预处理到hello.i(被修改的文本文本文件)  预处理主要是展开宏,头文件展开。
2、编译  hello.i经编译器hello.s(汇编程序文本) 
3、汇编  hello.s经过汇编器生成hello.o可重定位目标文件(二进制)
4、链接  hello.o文件经过链接器生成hello可执行目标程序。

三 gcc常用选项
-o  产生目标 .i/.s/.o/可执行文件   gcc hello.o -o hello
-c  通知gcc取消连接步骤,即编译源码并在最后生成目标文件  gcc -c hello.s -o hello.o
-E  只运行C预编译器   gcc -E hello.c -o hello.i
-S  告诉编译器产生汇编语言文件后停止编译,产生的汇编语言文件扩展名为.s  gcc -S hello.i -o hello.s
-Wall使gcc对源码文件有问题的地方发出警告
-llib 链接lib库
-g 在目标文件中嵌入调试信息,意识gdb之类的调试程序调试

一次完成:gcc hello.c -o hello


四 gcc编译多文件
gcc hello_fn.c main.c -o hello

posted on 2018-01-07 15:30  wsw_seu  阅读(185)  评论(0)    收藏  举报

导航