GCC编译器使用方法技巧总结


 

GCC的常识

 

1、 gcc的全称: GNU C Compiler ,是GNU的一款编译器

 

2、 gcc通过后缀名来区别输入文件的类型;

 

常用文件类型:.

 

c              C语言源代码文件

 

.C/.cc              C++源代码文件

 

.h                      头文件(head也即include)

 

.i                      已经预处理过的C源代码文件  //预处理:完成头文件和宏定义的展开

 

.ii                      已经预处理过的C++源代码文件

 

.s                      汇编语言的源代码

 

.S                      预编译的汇编语言源代码文件

 

.o                      编译后的目标文件object

 

GCC基本用法

 

1、 gcc编译程序分为四个阶段产生可执行程序:

 

Pre-Processing                    预处理

 

gcc  -E  hello.c  -o  hello.i        //完成头文件和宏定义的展开,生成hello.i预处理文件

 

Compiling                            编译

 

gcc  -S  hello.i                        //生成汇编代码,生成hello.s的汇编文件

 

Assembling                          汇编

 

gcc  -c  hello.s                        //生成二进制目标文件,生成hello.o文件

 

Linking                                    链接

 

gcc  hello.o  -o  hello              //链接相关库,生成可执行文件hello,没有后缀

 

注:一般生成可执行程序,可以直接 : gcc  hello.c  -o  hello

 

运行该可执行程序:      ./hello

 

2、使用方法:

 

gcc +要编译的文件+-o+编译后生成的文件名              注:-o也即是output_filename,是指定编译后生成的文件名,

 

不是编译选项,如果没指定则默认生成a.out可执行文件

 

eg:  gcc  hello.c  -o  hello      //将hello.c编译链接成可执行文件hello

 

gcc +[编译选项]+要编译的文件+-o+编译后生成的文件名

 

常用选项:gcc  -c    hello.c                //-c只编译,不链接成可执行文件,生成 hello.o 的目标文件

 

gcc  -O    hello.c              //-O对程序进行优化,使生成的可执行文件执行效率提高

 

gcc  -O2  hello.c              //-O2比-O更好的优化,是生成的可执行文件效率更高

 

执行方法:        ./hello          //执行当前目录下的可执行文件,./表示当前目录,要执行其他目录的可执行文件,输入该文件的路径即可

 

测试执行速度:time ./hello              //可以测试优化后的可执行文件的执行速度     

 

Ubuntu 12.04嵌入式交叉编译环境arm-linux-GCC搭建过程图解 

Ubuntu 12.10安装交叉编译器arm-none-linux-gnueabi-GCC 

Ubuntu下Vim+GCC+GDB安装及使用 

Ubuntu下两个GCC版本切换 

GCC 的详细介绍:请点这里
GCC 的下载地址:请点这里

本文永久更新链接地址:

相关内容