GCC(gcc)的不断发展完善使许多商业编译器都相形见绌, GCC由GNU创始人Richard Stallman首创,是GNU的标志产品,由于UNIX平台的高度可移植性,GCC几乎在各种常见的UNIX平台上都有,即使是Win32/DOS也有GCC的移植。 比如说SUN的Solaris操作系统配置的编译器就是GNU的GCC。
GNU软件包括C编译器GCC,C++编译器G++,汇编器AS,链接器LD,二进制转换工具(OBJCOPY,OBJDUMP),调试工具(GDB,GDBSERVER,KGDB) 和基于不同硬件平台的开发库。在GNU GCC支持下用户可以使用流行的C/C++语言开发应用程序,满足生成高效率运行代码、易掌握的编程语言的用户需求。
这些工具都是按GPL版权声明发布,任何人可以从网上获取全部的源代码,无需使用任何费用。关于GNU和公共许可证协议的详细资料,读者可以参看GNU网站的介绍,http://www.gnu.org/home.html。
GNU开发工具都是采用命令行的方式,用户掌握起来相对比较困难,不如基于Windows系统的开发工具好用,但是GNU工具的复杂性是由于它更贴近编译器和操作系统的底层,并提供了更大的灵活性。一旦学习和掌握了相关工具后,就了解了系统设计的基础知识。
运行于Linux操作系统下的自由软件GNU gcc编译器,不仅可以编译Linux操作系统下运行的应用程序,还可以编译Linux内核本身,甚至可以作交叉编译,编译运行于其它CPU上的程序。所以,在进行嵌入式系统应用程序开发时,这些工具得到了日益广泛的应用。