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

编译器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++区别 | 逆流而上icon-default.png?t=M3K6http://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 - 博客园

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值