首页  >  问答  >  正文

linux - gcc 和 gcc-c++ 啥区别

我在安装编译器的时候不知道 yum install gcc 和 yum install gcc-c++啥区别。
有啥区别吗

天蓬老师天蓬老师2713 天前608

全部回复(1)我来回复

  • 怪我咯

    怪我咯2017-05-16 13:26:14

    参考

    This package adds C++ support to the GNU Compiler Collection.
    It includes support for most of the current C++ specification,
    including templates and exception handling。

    可以看出gcc-c++是为gcc提供c++语言特性支持的

    其实,就概念而言gcc是指整个gcc的这一套工具集合,它分为gcc前端和gcc后端(我个人理解为gcc外壳和gcc引擎),gcc前端对应各种特定语言(如c++/go等)的处理(对c++/go等特定语言进行对应的语法检查, 将c++/go等语言的代码转化为c代码等),gcc后端对应把前端的c代码转为跟你的电脑硬件相关的汇编或机器码等。(可能描述上不是特别准确,不过大体就是这个意思)

    而就软件程序包而言,gcc.rpm就是那个gcc后端,而gcc-c++.rpm就是针对c++这个特定语言的gcc前端。这样的设计就保证了充分的灵活性,针对不同的程序语言,只需要开发不同的gcc前端就好了; 同时对于使用者来说,如果我只需要支持编译c++,那么我就只装一个c++的gcc前端就好了,就不会含有其他语言特性的程序代码,使得使用者的软件环境也比较轻量和干净

    回复
    0
  • 取消回复