cc、CC、gcc、g++区别

news/2024/10/31 2:23:41/

Unix系统cc:Unix系统的C Compiler
Linux系统cc:一般是一个符号连接,指向gcc
CC:makefile里面的一个名字,即宏定义
gcc:C编译器
g++:C++编译器

gcc是C编译器;g++是C++编译器;linux下cc一般是一个符号连接,指向gcc;gcc和g++都是GNU(组织)的编译器。而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Linux/Unix都是大小写敏感的系统,这点一定要注意。

cc是Unix系统的C Compiler,而gcc则是GNU Compiler Collection,GNU编译器套装。gcc原名为Gnu C语言编译器,因为它原本只能处理C语言,但gcc很快地扩展,包含很多编译器(C、C++、Objective-C、Ada、Fortran、Java)。因此,它们是不一样的,一个是古老的C编译器,一个是GNU编译器集合,gcc里面的C编译器比cc强大多了,因此没必要用cc。

下载不到cc的原因在于:cc来自于昂贵的Unix系统,cc是商业软件。

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

误区一:gcc只能编译C代码,g++只能编译C++代码。

两者都可以,但请注意:

(1)后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是C++程序,注意,虽然C++是C的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。

(2)编译阶段,g++会调用gcc,对于C++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。

误区二:gcc不会定义__cplusplus宏,而g++会

实际上,这个宏只是标志着编译器将会把代码按C还是C++语法来解释,如上所述,如果后缀为.c,并且采用gcc编译器,则该宏就是未定义的,否则,就是已定义。

误区三:编译只能用gcc,链接只能用g++

严格来说,这句话不算错误,但是它混淆了概念,应该这样说:编译可以用gcc/g++,而链接可以用g++或者gcc -lstdc++。因为gcc命令不能自动和C++程序使用的库联接,所以通常使用g++来完成联接。但在编译阶段,g++会自动调用gcc,二者等价。

C++的编译器肯定可以编译C的代码,注意除了C++对C的语法扩充之外,编译和链接C和C++的标准库通常也不一样呢,用gcc而非g++也编译了C++的程序就证明了这一点。

注:符号链接是一种特殊类型的文件,它的内容只是一个字符串。它可能指向一个存在的文件也可能什么都不指向。当您在命令行或程序里提到符号链接的时候,您实际上进入了它指向的文件,前提是这个文件是存在的。

参考文章:cc、gcc、g++、CC的区别概括


http://www.ppmy.cn/news/573867.html

相关文章

直播,一位大神带来的福利!

前言 今年三月份,斗鱼获腾讯领投的1亿美元融资的消息被各大平台报道转载,在电竞、泛娱乐已是热门投资的当下,网络直播平台自然也获得了各界的关注。盗用两张关于游戏直播的趋势图 这还仅仅是游戏直播这块的蛋糕.直播行业的竞争会越来越激烈, …

网易cc题1

题目1 : buycrystal 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 CC最近推出了一个新玩法,玩家可以通过金币来买卖水晶,水晶价格随着玩家的卖入卖出进行浮动,但水晶不能连续购买,并且每次只能买一个,第二…

应届大硕,上海找工作

工作找到了,项目结题了,终于有时间静下心来写点东西了。第一篇blog写一下我非常惨烈的找工作的经历吧。 开始的时候是很不顺利的,除了本人工作地点的限制(上海、青岛、潍坊)之外,还有两个原因:准…

网易

网易求职干货 目录 •1.公司介绍 1.1网易概况 1.2网易主营业务/品牌 1.3网易文化/价值观 1.5网易工作地点 2.校招介绍 2.1网易2014校园招聘介绍 2.2网易校园招聘流程 2.3网易校园招聘tips 3.HR答疑 3.1网易校园招聘FAQ 4.薪酬待遇 4.1网易职业发展 4.2网易薪酬待遇…

最新CCF目录推荐, 不容错过的评职好刊~

【本周推荐】我处近期新增多本计算机领域高质量SCI,且均在最新CCF期刊目录中,源于国际知名出版社,自引率低,检索稳定,平均录用周期3个月左右,实为计算机领域学者不容错过的评职好刊! 一、期刊概…

双非本科逆袭 拿下ACM金牌、字节和旷视offer、保研985!

五年前的我进入双非院校,曾经觉得自己的一辈子就和普通大学一样,注定普通。 五年后我拿到ACM金牌、字节跳动、旷视科技等大厂offer,保研985。 大家好,我是编程熊,今天和大家分享我是如何从双非,拿到ACM金牌…

cc.的日常

2022.2.12 reconcile 调和 imminent 即将发生的 rebellion 叛乱 wedge 楔 reinforce 加强 diffuse 扩散 appointment 任命 irony 反讽 approximate 大约的 venue 场地 constituent 组成部分 robust 不妥协的 amplify 放大 eminent 卓越的 coalition 结合体 sal…

写给计算机学院的学弟学妹们

半年前,我写过一篇微信推送,给想走计算机这条路的学弟学妹们一些自己的建议。 半年后,真正在计算机学院待了一学期之后,我对计算机的认知又有了新的看法。 于是,想重新写一篇博客,想尽我所能地让学弟学妹们…