GNU CC(简称gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++、Object C、Jave等多种语言编写的程序。gcc又可以作为交叉编译工具,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,非常适合在嵌入式领域的开发编译,如常用的arm-linux-gcc交叉编译工具
通常后跟一些选项和文件名来使用 GCC 编译器。gcc 命令的基本用法如下:
gcc [options] [filenames]
选项指定编译器怎样进行编译。
一、gcc 编译流程
1.预处理-Pre-Processing
gcc -E test.c -o test.i //.i文件
2.编译-Compiling
gcc -S test.i -o test.s //.s文件
3.汇编-Assembling //.o文件
gcc -c test.s -o test.o
4.链接-Linking //bin文件
gcc test.o -o test
二、gcc工程惯用
1.编译
gcc -c test.c //.o文件,汇编
gcc -o test test.c //bin可执行文件
gcc test.c //a.out可执行文件
如果是c++ 直接将gcc改为g++即可。
2.常用参数
1)-E参数
-E 选项指示编译器仅对输入文件进行预处理。当这个选项被使用时, 预处理器的输出被送到标准输出而不是储
存在文件里.
2)-S参数
-S 编译选项告诉 GCC 在为 C 代码产生了汇编语言文件后停止编译。 GCC 产生的汇编语言文件的缺省扩展名
是 .s 。
3)-c参数