GCC 简介
hello,大家好,我是涛哥,今天给大家聊一聊GCC。
GCC(GNU C Compiler,GNU C编译器,简称GCC)是在Linux下编写、编译C程序,经常使用的一款编译器。GCC C编译器的原作者是大胡子Richard Stallman,也是GNU项目的奠基人。GNU项目是一个非盈利项目,用来打造一个类似Unix的开源自由的操作系统,一般每个操作系统都有配套的编译器,用来编译能在这个操作系统上运行的应用程序,GNU也不例外,也需要一个配套的编译器,GCC就是大胡子把自己关在小铁屋里,白手起家,一行一行代码敲起来的,用来编译可以在GNU操作系统上运行的C语言程序。
早期的GCC只支持X86架构、只支持C语言,后来随着不断演进迭代,开始支持越来越多的处理器架构(X86、ARM、PowerPC…),开始支持越来越多的编程语言(C、C++、ADA、Fortran…),GCC的内涵也随之发生了变化,此时不再是GNU C Compiler的简称,而是GNU Compiler Collection(GNU编译器套件)的简称。全套的GCC,不仅可以编译C语言,还可以编译C++语言。不仅可以编译在X86上运行的程序,还可以编译在ARM平台上运行的程序。
现在为了方便,编译器厂商在发布编译器工具时,一般会针对某个处理器架构专门定制。比如用来编译ARM平台程序的编译器工具,一般是名称叫做arm-linux-gcc、arm-linux-gnueabi-gcc的编译器。用来编译在MIPS平台程序的编译器工具,一般叫做mips-linux-gcc。它们都是GCC针对某个平台编译而成。
针对各个不同平台的编译器,使用方法大同小异。尤其是各种编译参数的使用,一般和GCC是通用的。为了演示方便,我们就以X86平台上的GCC编译器为例,给大家介绍GCC编译器的各种使用方法。