编译器cc、CC、gcc、g++区别

看C语言经典教材《C程序设计语言》中,Linux下编译C代码用的是cc, 广为人知的C编译器的gcc, 还有CC、g++那么有啥差异呢

一、cc是Unix下C语言编译器,是c compiler的缩写。
cc是付费的。所以Unix的两个孩子Linux和Mac OS上的cc都是软连接。
0、Linux下(这里测试用的是Centos)

1

2

3

4

5

6

[root@izj6cfhaw27k49x8usszs3z ~]# which cc

/usr/bin/cc

[root@izj6cfhaw27k49x8usszs3z ~]# ls -l /usr/bin/cc

lrwxrwxrwx 1 root root 3 Jul 22  2018 /usr/bin/cc -> gcc

[root@izj6cfhaw27k49x8usszs3z ~]# which gcc

/usr/bin/gcc

可见,cc是gcc的软连接

1、MacBook Pro下

1

2

3

4

5

6

192:~ chuanbo7$ which cc

/usr/bin/cc

192:~ chuanbo7$ ls -l /usr/bin/cc

lrwxr-xr-x  1 root  wheel  5  5  2  2017 /usr/bin/cc -> clang

192:~ chuanbo7$ which clang

/usr/bin/clang

可见,cc是clang的软连接, clang是苹果公司发起的一个编译器合集(LLVM)的一部分,可编译C、C++、Objective-C和Objective-C++。Clang的出现目的是成为gcc的替代品。

二、CC是Solaris(类Unix)下的C++编译器
0、Linux下没有这个命令

1

2

[root@izj6cfhaw27k49x8usszs3z ~]# which CC

/usr/bin/which: no CC in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

1、MacBook Pro下CC是软连接

1

2

3

4

192:~ chuanbo7$ which CC

/usr/bin/CC

192:~ chuanbo7$ ls -l /usr/bin/CC

lrwxr-xr-x  1 root  wheel  5  5  2  2017 /usr/bin/CC -> clang

三、gcc是编译器套装GNU中编译C语言的编译器。

四、g++是编译器套装GNU中编译C++的编译器。

有关gcc和g++的区别可参考《gcc/g++区别》

参考:
StackOverflow: Difference between CC, gcc and g++?维基百科Clang

本条目发布于2019-07-23。属于未分类分类。

编译器cc、CC、gcc、g++区别 | 逆流而上http://niliu.me/articles/1180.html

gcc 是GNU Compiler Collection,原名为Gun C语言编译器,因为它原本只能处理C语言,但gcc很快地扩展,包含很多编译器(C、C++、Objective-C、Ada、Fortran、 Java),可以说gcc是GNU编译器集合。

g++ 是C++编译器。

cc 是 Unix系统的 C Compiler,一个是古老的 C 编译器。而 Linux 下 cc 一般是一个符号连接,指向 gcc;可以通过 $ ls -l /usr/bin/cc 来简单察看,该变量是 make 程序的内建变量,默认指向 gcc 。 cc 符号链接和变量存在的意义在于源码的移植性,可以方便的用 gcc 来编译老的用cc编译的Unix软件,甚至连 makefile 都不用改在,而且也便于 Linux 程序在 Unix下 编译。

CC 则一般是 makefile 里面的一个名字标签,即宏定义,表示采用的是什么编译器(如:CC = gcc)。

编译器 cc、gcc、g++、CC 的区别 - 52php - 博客园

编译器cc、CC、gcc、g++区别相关推荐

  1. Linux cc 和 gcc 的区别概括介绍

    说自己很菜,果然很菜!在想我cc和gcc编译器有什么区别,不知道,咋办?搜索一下!果然让自己长进! 从名字上来看: cc : C Compiler                //在老的Unix上 ...

  2. 【Linux】gcc/g++区别和联系

    gcc/g++是什么 gcc/g++之间的区别和联系 gcc/g++是什么 讲到gcc/g++,那就得先说一下GCC,GCC:GNU Compiler Collection(GUN 编译器集合),它可 ...

  3. GCC编译器和CC编译器的区别

    以下内容源于网络资源的学习与整理,如有侵权请告知删除. 参考博客 Difference Between GCC and CC Compiler - Ask Any Difference Linux新手 ...

  4. cc、gcc、g++、CC的区别概括

    gcc是C编译器:g++是C++编译器:linux下cc一般是一个符号连接,指向gcc:gcc和g++都是GUN(组织)的编译器.而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Lin ...

  5. 不同的编译器:GCC G++ C C++的区别

    gcc 是c的编译器,g++是c++的编译器.cc一般是一个符号连接,指向gcc.CC一般是makefile里面的一个名字,具体是什么根据实际情况决定. gcc和g++都是GNU(组织)的一个编译器. ...

  6. Linux 下 的 cc 和 gcc

    可以用yum在线安装gcc: [root@VM_0_12_centos ~]# yum install gcc Loaded plugins: fastestmirror, langpacks Loa ...

  7. GCC G++ C C++的区别

    gcc 是c的编译器,g++是c++的编译器.cc一般是一个符号连接,指向gcc.  CC一般是makefile里面的一个名字,具体是什么根据实际情况决定.  gcc和g++都是GNU(组织)的一个编 ...

  8. gcc, g++ - GNU 工程的 C 和 C++ 编译器

    NAME gcc, g++ - GNU 工程的 C 和 C++ 编译器 (egcs-1.1.2)总览 (SYNOPSIS)gcc [ option | filename ]...g++ [ optio ...

  9. gcc/g++等编译器 编译原理: 预处理,编译,汇编,链接各步骤详解

    例子:由多个源文件组成的C程序,经过编辑.预处理.编译.链接等阶段才能生成最终的可执行程序.此过程中,在__c__阶段可以发现被调用的函数未定义. A. 编辑和预处理 B. 预处理 C. 编译 D. ...

最新文章

  1. 【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )
  2. 大数据WEB阶段(四)JavaScript
  3. CentOS7 如何关闭防火墙
  4. uva 10985 Rings'n'Ropes
  5. java跳转控制语句有哪些_Java语言基础学习之流程控制语句和跳转控制语句实例分析...
  6. oracle索引用不了,oracle使用索引与不使用索引的性能详析
  7. 剑指offer 35 第一个只出现一次的字符
  8. 英寸和厘米的交互python_Python / PyQt4:如何找到显示器的尺寸(以英寸为单位)?...
  9. 电脑时间服务器选哪个文件夹,时间同步服务器 - 卡饭网
  10. 轻松升级各路硬件,简约时尚的大容量机箱,TT挑战者H6上手
  11. 程序猿段子_程序员的那些段子
  12. 通天塔导游:各种编程语言优缺点
  13. Action Synopsis: Pose Selection and Illustration 实现
  14. 关于常用python编程软件有哪些,你可能还不知道
  15. IDEA中如何使用Vim?看完本教程,让你用IDEA用到爽~(建议收藏)
  16. 神器docsify 用MarkDown 来写自己的网站
  17. Flash游戏制作--打飞碟
  18. android 平板root,【Android】免root即能修改Android ID,實現手機平板共用一個Line不互踢...
  19. 【软件工程师学硬件】之 振荡器(2)
  20. python对ug进行二次开发_UG二次开发之编程语言介绍

热门文章

  1. 神经网络白话版(二)
  2. 诺基亚S60第二版与第三版的系统技术区别
  3. overleaf编辑表格
  4. Unity3d ios 微信链接分享好友,朋友圈的一些坑
  5. Windows 10 本地硬盘变成了可弹出磁盘
  6. 网易 C++设计模式课件
  7. 杨校老师项目之基于SSM大学生创新创业项目管理系统
  8. 软件测试(linux命令篇-01文件操作命令)
  9. tvoc传感器的原理
  10. 第一个简单的程序——吃货联盟系统