当前位置:嗨网首页>书籍在线阅读

07-C编译器

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

1.1.5 C编译器

在Linux中,标准C编译器是由GNU编译器工具集(GNU Compiler Collection,gcc)提供的。最初,gcc是GNU版的C编译器cc,因此,gcc表示GNU C编译器(GNU C Compiler)。随着时间推移,gcc支持越来越多的语言。时至今日,gcc已经成了GNU编译器家族的代名词。此外,gcc还表示C编译器二进制程序。除非特别指明,本书中提到gcc时,都是指gcc应用程序。

因为编译器辅助实现了标准C(参阅1.3.2小节)和系统ABI(参阅1.2.1小节和1.2.2小节),在UNIX系统(包括Linux)中所使用的编译器和系统编程紧密相关。

C++ 本章把C语言作为系统编程的通用语言,但是C++语言也功不可没。 今天,C++在系统编程中的地位仅次于C语言。由于历史原因,比起C++,Linux开发人员更倾向于使用C语言:核心库、守护进程、工具箱以及Linux内核都是用C语言实现的。在非Linux环境中,C++语言作为“C语言的升级”,其优势是显而易见的,但是在Linux环境中,C++的地位还是逊于C。 尽管如此,本书给出的大部分相关的C语言代码都可以替换成C++。C++确实可以作为C语言的替代,适合任何系统编程工作:C++代码可以链接C代码,调用Linux系统调用,还可以充分利用glibc。 比起C,C++还为系统编程奠定了另外两块基石:标准的C++库和GNU C++编译器。标准的C++库实现了C++系统接口以及ISO C++11标准,由libstdc++库提供(有时写作libstdcxx)。GNU C++编译器是Linux系统为C++提供的标准编译器,由二进制程序g++提供。